# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup cmake 1.1 PortGroup github 1.0 PortGroup mpi 1.0 github.setup ginkgo-project ginkgo 1.7.0 v revision 0 categories math parallel license BSD maintainers {@barracuda156 gmail.com:vital.had} openmaintainer description Numerical linear algebra software package long_description A numerical linear algebra library targeting many-core architectures. homepage https://ginkgo-project.github.io checksums rmd160 f36e609f28bd2f756325aec7a5dc751b4d39b53c \ sha256 f4b362bcb046bc53fbe2e578662b939222d0c44b96449101829e73ecce02bcb3 \ size 13080034 github.tarball_from archive cmake.build_type Release if {${os.platform} eq "darwin" && ${os.arch} eq "powerpc"} { mpi.setup require require_fortran \ -gcc44 -gcc45 -gcc46 -gcc47 -gcc48 -gcc49 -gcc5 \ -clang -fortran } else { mpi.setup require require_fortran \ -gcc44 -gcc45 -gcc46 -gcc47 -gcc48 -gcc49 -gcc5 } depends_lib-append port:metis compiler.cxx_standard 2014 configure.args-append \ -DBUILD_SHARED_LIBS=ON \ -DGINKGO_MIXED_PRECISION=ON \ -DGINKGO_BUILD_MPI=ON \ -DGINKGO_BUILD_REFERENCE=ON \ -DGINKGO_BUILD_TESTS=OFF \ -DGINKGO_BUILD_BENCHMARKS=OFF \ -DGINKGO_BUILD_CUDA=OFF \ -DGINKGO_BUILD_DPCPP=OFF \ -DGINKGO_BUILD_HIP=OFF \ -DGINKGO_BUILD_DOC=OFF \ -DGINKGO_BUILD_EXAMPLES=OFF \ -DGINKGO_BUILD_HWLOC=OFF \ -DGINKGO_BUILD_OMP=OFF \ -DGINKGO_DEVEL_TOOLS=OFF \ -DGINKGO_DOC_GENERATE_EXAMPLES=OFF \ -DGINKGO_DOC_GENERATE_PDF=OFF \ -DGINKGO_JACOBI_FULL_OPTIMIZATIONS=OFF \ -DGINKGO_WITH_CCACHE=OFF \ -DMPIEXEC_EXECUTABLE=${prefix}/bin/${mpi.exec} if {${configure.ccache}} { configure.args-replace \ -DGINKGO_WITH_CCACHE=OFF \ -DGINKGO_WITH_CCACHE=ON } # Ginkgo does not support HWLOC on MacOS: if {${os.platform} ne "darwin"} { depends_lib-append \ port:hwloc configure.args-replace \ -DGINKGO_BUILD_HWLOC=OFF -DGINKGO_BUILD_HWLOC=ON } # ___atomic_compare_exchange_8 if {${build_arch} in [list i386 ppc] && [string match *gcc* ${configure.compiler}]} { configure.ldflags-append -latomic } variant openmp description "Use OpenMP" { compiler.openmp_version 3.0 configure.args-replace \ -DGINKGO_BUILD_OMP=OFF \ -DGINKGO_BUILD_OMP=ON if {[string match *clang* ${configure.compiler}]} { configure.ldflags-append \ -L${prefix}/lib/libomp \ -lomp } } # FIXME: Upstream has broken this in 1.6.0 for Clang. # Issue: https://github.com/ginkgo-project/ginkgo/issues/1482 # default_variants +openmp variant tests description "Enable testing" { # Test failures on PowerPC: https://github.com/ginkgo-project/ginkgo/issues/1260 # Test failures on aarch64: https://github.com/ginkgo-project/ginkgo/issues/1481 depends_test-append port:gtest configure.pre_args-replace \ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF configure.args-replace \ -DGINKGO_BUILD_TESTS=OFF \ -DGINKGO_BUILD_TESTS=ON configure.args-append \ -DGTEST_SRC_DIR=${prefix}/src/googletest/ if {${os.arch} eq "powerpc"} { # There is some problem with the new hydra on PPC, is freezes at bindings test. test.env-append \ OMP_NUM_THREADS=1 } test.run yes test.cmd ctest } platform darwin powerpc { # FIXME: Something in multigrid tests freezes the OS badly. post-patch { reinplace "s|add_subdirectory(multigrid)||" ${worksrcpath}/test/CMakeLists.txt } }