mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
104 lines
4.0 KiB
Tcl
104 lines
4.0 KiB
Tcl
# -*- 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 github 1.0
|
|
PortGroup mpi 1.0
|
|
PortGroup linear_algebra 1.0
|
|
PortGroup makefile 1.0
|
|
PortGroup muniversal 1.0
|
|
|
|
epoch 2
|
|
github.setup hpddm hpddm 2.3.0 v
|
|
revision 0
|
|
checksums rmd160 397e16eed477ed66919e5ba2830455595c5931dd \
|
|
sha256 db3d5251bb064a42a3c214137ef9b585934213e7dab7fb725de0b3d4fd2ffdf6 \
|
|
size 337163
|
|
|
|
categories math science
|
|
license LGPL-3+
|
|
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
|
|
|
|
description a framework for high-performance domain decomposition methods
|
|
long_description HPDDM is an efficient implementation of various domain decomposition methods.
|
|
|
|
github.tarball_from archive
|
|
|
|
mpi.setup require require_fortran
|
|
|
|
linalg.setup blas_only
|
|
|
|
set python_branch 3.12
|
|
set python_version [string map {. {}} ${python_branch}]
|
|
|
|
depends_lib-append port:python${python_version} \
|
|
port:mumps \
|
|
port:arpack \
|
|
port:scalapack \
|
|
port:hypre
|
|
|
|
compiler.cxx_standard 2011
|
|
|
|
patchfiles-append patch-install_name.diff
|
|
|
|
muniversal.arch_tools MPICXX \
|
|
MPICC \
|
|
MPIF90
|
|
|
|
post-extract {
|
|
copy ${worksrcpath}/Make.inc/Makefile.macOS ${worksrcpath}/Makefile.inc
|
|
}
|
|
|
|
pre-build {
|
|
build.args-append MPICXX=${mpi.cxx} \
|
|
MPICC=${mpi.cc} \
|
|
MPIF90=${mpi.f90} \
|
|
MPIRUN="${prefix}/bin/${mpi.exec} -np" \
|
|
MUMPS_INCS=-I${prefix}/include \
|
|
PYTHON_INCS=-I${frameworks_dir}/Python.framework/Versions/${python_branch}/include/python${python_branch} \
|
|
ARPACK_LIBS="-L${prefix}/lib -larpack" \
|
|
SCALAPACK_LIBS="-L${prefix}/lib -lscalapack" \
|
|
MUMPS_LIBS="-L${prefix}/lib -lmumps_common -lesmumps -lsmumps -ldmumps -lcmumps -lzmumps -lpord" \
|
|
HYPRE_LIBS="-L${prefix}/lib -lHYPRE" \
|
|
PYTHON_LIBS="-L${frameworks_dir}/Python.framework/Versions/${python_branch}/lib -lpython${python_branch}" \
|
|
VERSION=${version} \
|
|
CVERSION=[join [lrange [split ${version} .] 0 0] .]
|
|
if {[variant_isset openblas]} {
|
|
build.args-append \
|
|
OPENBLAS_LIBS="-L${prefix}/lib ${linalglib}"
|
|
} else {
|
|
build.args-append \
|
|
BLAS_LIBS="-L${prefix}/lib ${linalglib}"
|
|
}
|
|
}
|
|
|
|
# Makefile searches for gfortran in $(MPIF90) name, which is not always true
|
|
# even though $(MPIF90) uses gfortran
|
|
build.args-append F90MOD=-J
|
|
|
|
destroot {
|
|
xinstall -d -m 0755 ${destroot}${prefix}/include/${name}
|
|
xinstall -m 0644 {*}[glob ${worksrcpath}/include/*] ${destroot}${prefix}/include/${name}
|
|
xinstall -m 0755 {*}[glob ${worksrcpath}/lib/*.dylib] ${destroot}${prefix}/lib
|
|
#xinstall -m 0644 {*}[glob ${worksrcpath}/lib/*.a] ${destroot}${prefix}/lib
|
|
xinstall -W ${worksrcpath}/bin -m 0755 \
|
|
custom_operator_fortran \
|
|
schwarz_c \
|
|
schwarz_cpp \
|
|
${destroot}${prefix}/bin
|
|
}
|
|
|
|
# Tests may randomly lead to infinity loop, let's disable it.
|
|
# See: https://github.com/hpddm/hpddm/issues/110
|
|
test.run no
|
|
|
|
depends_test-append port:py${python_version}-mpi4py \
|
|
port:py${python_version}-numpy \
|
|
port:py${python_version}-scipy
|
|
|
|
pre-test {
|
|
test.args-append PATH=${frameworks_dir}/Python.framework/Versions/${python_branch}/bin:$env(PATH) \
|
|
{*}${build.args}
|
|
}
|
|
|
|
github.livecheck.branch main
|