/
Portfile
84 lines (70 loc) · 3.47 KB
/
Portfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# -*- 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
github.setup hpddm hpddm 90c799d97bd0d3fa738cb288e5111f131b39753b
# see ${worksrcpath}/include/HPDDM_define.hpp
version 2.0.4
revision 1
epoch 1
categories math science
license LGPL-3+
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
platforms darwin
description a framework for high-performance domain decomposition methods
long_description HPDDM is an efficient implementation of various domain decomposition methods.
checksums rmd160 ce6e68a1715eff96e1db5b7efa15177cec8c62cf \
sha256 cf5e6806a711861fb51fb53a3328eba4d197fe74ddfbadf12a51f42b759b80d6 \
size 280298
mpi.setup require require_fortran
depends_lib-append port:python27 \
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.OSX ${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/2.7/include/python2.7 \
BLAS_LIBS="-L${prefix}/lib ${linalglib}" \
ARPACK_LIBS="-L${prefix}/lib -larpack" \
SCALAPACK_LIBS="-L${prefix}/lib -lscalapack" \
MUMPS_LIBS="-L${prefix}/lib -lmumps_common -lsmumps -ldmumps -lcmumps -lzmumps -lpord" \
HYPRE_LIBS="-L${prefix}/lib -lHYPRE" \
PYTHON_LIBS="-L${frameworks_dir}/Python.framework/Versions/2.7/lib -lpython2.7" \
VERSION=${version} \
CVERSION=[join [lrange [split ${version} .] 0 0] .]
}
# 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
foreach bin {custom_operator schwarz_c schwarz_cpp} {
xinstall -m 0755 ${worksrcpath}/bin/${bin} ${destroot}${prefix}/bin
}
}
test.run yes
depends_test-append port:py27-mpi4py \
port:py27-numpy \
port:py27-scipy
pre-test {
test.args-append PATH=${frameworks_dir}/Python.framework/Versions/2.7/bin:$env(PATH)
}