blob: d382e59f3481e252f41090ccaeab32ae444120ab (
plain)
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
PORTNAME= code_saturne
PORTVERSION= 7.1.1
DISTVERSIONPREFIX= v
CATEGORIES= science parallel
MAINTAINER= thierry@FreeBSD.org
COMMENT= EDF's general purpose Computational Fluid Dynamics (CFD) software
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= gsed:textproc/gsed
LIB_DEPENDS= libsysinfo.so:devel/libsysinfo \
libcgns.so:science/cgnslib \
libhdf5.so:science/hdf5 \
libmedC.so:french/med
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
xmgrace:math/grace \
bash:shells/bash \
xterm:x11/xterm
USE_GITHUB= yes
GH_ACCOUNT= code-saturne
USES= autoreconf bison compiler:c11 fortran gettext gnome gmake \
iconv localbase libtool pyqt:5 python:3.7+ shebangfix xorg
USE_GNOME= libxml2
USE_PYQT= pyqt5 sip
USE_XORG= x11
SHEBANG_FILES= install_saturne.py tests/unittests.py bin/*.py build-aux/*.py
CFLAGS+= -D__XSI_VISIBLE
CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/libxml2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --without-salome --without-salome-yacs --without-salome-kernel \
--without-salome-gui --enable-python
CONFIGURE_ENV= ac_cv_path_SED=${LOCALBASE}/bin/gsed
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
BINARY_ALIAS= python=${PYTHON_CMD} \
pyrcc5=pyrcc5-${PYTHON_VER} \
pyuic5=pyuic5-${PYTHON_VER}
OPTIONS_DEFINE= DOCS EXAMPLES BATCH BLAS HYPRE MPICH MUMPS PETSC SCOTCH
OPTIONS_DEFAULT= BATCH BLAS HYPRE METIS MPICH MUMPS PETSC SCOTCH
OPTIONS_RADIO= METIS
OPTIONS_RADIO_METIS= METIS PARMETIS
OPTIONS_SUB= yes
BLAS_DESC= Support of BLAS
BLAS_USES= blaslapack
BLAS_CONFIGURE_ON= --with-blas=yes --with-blas-type=BLAS \
--with-blas-include=${LOCALBASE}/include/cblas \
--with-blas-lib=${LOCALBASE}/lib
BLAS_LIB_DEPENDS= libcblas.so:math/cblas
BATCH_DESC= Use Torque to submit batches
BATCH_RUN_DEPENDS= pbs-config:sysutils/torque
HYPRE_DESC= Support of HYPRE
HYPRE_BUILD_DEPENDS= hypre>0:science/hypre
HYPRE_RUN_DEPENDS= hypre>0:science/hypre
HYPRE_CONFIGURE_ON= --with-hypre="${LOCALBASE}"
MPICH_USES= mpi
MPICH_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mpi4py>0:net/py-mpi4py@${PY_FLAVOR}
MPICH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mpi4py>0:net/py-mpi4py@${PY_FLAVOR}
MPICH_CONFIGURE_WITH= mpi
METIS_DESC= Support of METIS
METIS_LIB_DEPENDS= libmetis.so:math/metis
METIS_CONFIGURE_ON= --with-metis-include="${LOCALBASE}/include"
MUMPS_DESC= Support of MUMPS
MUMPS_LIB_DEPENDS= libsmumps.so:math/mumps
MUMPS_CONFIGURE_ON= --with-mumps="${LOCALBASE}"
MUMPS_CONFIGURE_ENV= MUMPS_LIBS="-lmpiseq -llapack"
PARMETIS_DESC= Support of ParMETIS
PARMETIS_LIB_DEPENDS= libparmetis.so:math/parmetis
PARMETIS_CONFIGURE_ON= --with-metis-include="${LOCALBASE}/include/parmetis" \
--with-metis-lib="${LOCALBASE}/lib/parmetis"
PARMETIS_CONFIGURE_ENV= LIBS=-lexecinfo
PETSC_DESC= Support of PETSc
PETSC_LIB_DEPENDS= libpetsc.so:science/PETSc
PETSC_CONFIGURE_ON= --with-petsc="${LOCALBASE}"
SCOTCH_DESC= Support of Scotch
SCOTCH_LIB_DEPENDS= libscotch.so:cad/scotch
SCOTCH_CONFIGURE_ON= --with-scotch-include="${LOCALBASE}/include"
TEST_TARGET= check
.if defined(PACKAGE_BUILDING)
TERM= vt100 # Force for pointyhat to override su
.else
TERM?= vt100 # Default value needed for tput in jail or tinderbox
.endif
.include <bsd.port.options.mk>
.if ${ARCH} == "i386"
# /wrkdirs/usr/ports/science/code_saturne/work/code_saturne-5.3.0/src/apps/.libs
# /libsaturne.so:
# undefined reference to `__atomic_compare_exchange'
CONFIGURE_ARGS+= --disable-openmp
.endif
.if ${PORT_OPTIONS:MDOCS}
USE_TEX= tex:build
BUILD_DEPENDS+= fig2dev:print/fig2dev \
doxygen:devel/doxygen \
dot:graphics/graphviz \
dvips:print/tex-dvipsk \
${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
BINARY_ALIAS+= sphinx-build=sphinx-build-${PYTHON_VER}
ALL_TARGET= all pdf
DOCS= AUTHORS ChangeLog README
.endif
pre-configure:
${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
${WRKSRC}/Makefile.am
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/code_saturne/cs_solver
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DOCS:C|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>
|