blob: 1a0f0f4b749aa48742667b66e9ca3f028e091d46 (
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
|
PORTNAME= code_saturne
PORTVERSION= 8.1.0
PORTREVISION= 2
CATEGORIES= science parallel
MASTER_SITES= https://www.code-saturne.org/releases/
MAINTAINER= thierry@FreeBSD.org
COMMENT= EDF's general purpose Computational Fluid Dynamics (CFD) software
WWW= https://www.code-saturne.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${MPI4PY} \
gsed:textproc/gsed
LIB_DEPENDS= libsysinfo.so:devel/libsysinfo \
libcgns.so:science/cgnslib \
libpetsc.so:science/PETSc \
libHYPRE.so:science/hypre \
libhdf5.so:science/hdf5 \
libscotch.so:cad/scotch \
libsmumps.so:math/mumps \
libcblas.so:math/cblas \
libmedC.so:french/med
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
${MPI4PY} \
xmgrace:math/grace \
bash:shells/bash \
xterm:x11/xterm
USES= autoreconf bison blaslapack compiler:c11 fortran gettext gnome gmake \
iconv localbase libtool mpi pyqt:5 python shebangfix xorg
USE_GNOME= libxml2
USE_PYQT= pyqt5 sip
USE_XORG= x11
SHEBANG_FILES= install_saturne.py tests/unittests.py build-aux/*.py
CFLAGS+= -D__XSI_VISIBLE -Wno-error=incompatible-function-pointer-types
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 \
--with-blas=yes --with-blas-type=BLAS \
--with-blas-include=${LOCALBASE}/include/cblas \
--with-blas-lib=${LOCALBASE}/lib \
--with-hypre="${LOCALBASE}" --with-mpi \
--with-mumps="${LOCALBASE}" --with-petsc="${LOCALBASE}" \
--with-scotch-include="${LOCALBASE}/include"
CONFIGURE_ENV= ac_cv_path_SED=${LOCALBASE}/bin/gsed ldflags_rpath="-R" \
MUMPS_LIBS="-lmpiseq -llapack"
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
BINARY_ALIAS= python=${PYTHON_CMD} \
pyrcc5=pyrcc5-${PYTHON_VER} \
pyuic5=pyuic5-${PYTHON_VER}
OPTIONS_DEFINE= DOCS
OPTIONS_DEFAULT= METIS
OPTIONS_RADIO= METIS
OPTIONS_RADIO_METIS= METIS PARMETIS
OPTIONS_SUB= yes
METIS_DESC= Support of METIS
METIS_LIB_DEPENDS= libmetis.so:math/metis
METIS_CONFIGURE_ON= --with-metis-include="${LOCALBASE}/include"
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
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
.else
CONFIGURE_ARGS+= --enable-openmp
.endif
.if ${PORT_OPTIONS:MDOCS}
USES+= tex
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
PORTDOCS= *
.endif
pre-configure:
${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
${WRKSRC}/Makefile.am
${REINPLACE_CMD} -e 's|make -s|${GMAKE} -s|' ${WRKSRC}/m4/cs_petsc.m4
.for cs in config/cs_auto_flags.sh libple/config/ple_auto_flags.sh
${REINPLACE_CMD} -e 's|fopenmp=libomp|fopenmp|' ${WRKSRC}/${cs}
.endfor
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}
.include <bsd.port.mk>
|