# -*- 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 mpi 1.0 PortGroup linear_algebra 1.0 PortGroup muniversal 1.0 name getdp version 3.3.0 revision 5 categories science math license GPL-2+ maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer platforms darwin description a general environment for the treatment of discrete problems long_description \ GetDP is a free finite element solver using mixed elements to discretize de Rham-type complexes in one, two and three dimensions. homepage https://getdp.info master_sites https://getdp.info/src extract.suffix .tgz distname ${name}-${version}-source checksums rmd160 f6d7fd125ae9249953c0be3f7cd83de5dc583567 \ sha256 eebef98fdef589e83a29d92599dfdd373d29fda6fbb31298f1e523be848fdbdd \ size 1876134 compiler.cxx_standard 2011 mpi.setup require_fortran patchfiles-append patch-python_version.diff \ patch-fortran_lib.diff # see https://gitlab.onelab.info/getdp/getdp/-/issues/61 patchfiles-append patch-fortran_array.diff depends_lib-append port:arpack \ port:gsl configure.args-append -DENABLE_PETSC=OFF \ -DENABLE_SLEPC=OFF \ -DENABLE_HPDDM=OFF \ -DENABLE_BUILD_LIB=ON \ -DENABLE_BUILD_SHARED=ON \ -DENABLE_BUILD_DYNAMIC=ON \ -DENABLE_GMSH=OFF mpi.enforce_variant arpack if {[mpi_variant_isset]} { configure.args-append -DENABLE_MPI=ON } pre-configure { configure.args-append \ -DBLAS_LAPACK_LIBRARIES="-L${prefix}/lib ${linalglib}" } variant petsc description {Use PETSc linear solver} { configure.args-replace -DENABLE_PETSC=OFF \ -DENABLE_PETSC=ON configure.args-replace -DENABLE_SLEPC=OFF \ -DENABLE_SLEPC=ON configure.args-replace -DENABLE_HPDDM=OFF \ -DENABLE_HPDDM=ON configure.args-append -DPETSC_DIR=${prefix}/lib/petsc \ -DSLEPC_DIR=${prefix}/lib/slepc \ -DCMAKE_INCLUDE_PATH=${prefix}/include/hpddm \ depends_lib-append port:petsc \ port:slepc \ port:hpddm mpi.enforce_variant petsc mpi.enforce_variant slepc mpi.enforce_variant hpddm # from the Portfile for hpddm # see https://trac.macports.org/ticket/57608 configure.ldflags-append -L${prefix}/lib -lmumps_common -lsmumps -ldmumps -lcmumps -lzmumps -lpord if {![mpi_variant_isset]} { ui_error "PETSc variant requires an MPI variant" return -code error "+petsc requires an MPI variant." } } variant python27 description {Build the Python 2.7 bindings} conflicts python38 { depends_lib-append port:python27 post-patch { reinplace "s|__MACPORTS_PYTHON_VERSION__|2.7|g" ${worksrcpath}/CMakeLists.txt } } variant python38 description {Build the Python 3.8 bindings} conflicts python27 { depends_lib-append port:python38 post-patch { reinplace "s|__MACPORTS_PYTHON_VERSION__|3.8|g" ${worksrcpath}/CMakeLists.txt } } if {![variant_isset python27] && ![variant_isset python38]} { configure.args-append \ -DENABLE_PYTHON=OFF } if {![variant_isset python27] && ![variant_isset python38]} { # keep in sync with python PG default_variants +python38 } variant gmsh description {Enable Gmsh functions (for field interpolation)} { depends_lib-append port:gmsh configure.args-replace -DENABLE_GMSH=OFF \ -DENABLE_GMSH=ON } default_variants +gmsh