3 CATEGORIES= science python
4 MASTER_SITES= CHEESESHOP
5 PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
6 DISTNAME= pyfr-${DISTVERSION}
8 MAINTAINER= yuri@FreeBSD.org
9 COMMENT= Framework for solving advection-diffusion type problems
13 RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}appdirs>=1.4.0:devel/py-appdirs@${PY_FLAVOR} \
14 ${PYTHON_PKGNAMEPREFIX}gimmik>=2.0:math/py-gimmik@${PY_FLAVOR} \
15 ${PYTHON_PKGNAMEPREFIX}h5py>=2.6:science/py-h5py@${PY_FLAVOR} \
16 ${PYTHON_PKGNAMEPREFIX}mako>=1.0.0:textproc/py-mako@${PY_FLAVOR} \
17 ${PYTHON_PKGNAMEPREFIX}mpi4py>=3.0:net/py-mpi4py@${PY_FLAVOR} \
18 ${PYTHON_PKGNAMEPREFIX}pytools>=2016.2.1:devel/py-pytools@${PY_FLAVOR} \
21 USES= python:3.7+ shebangfix
22 USE_PYTHON= distutils concurrent autoplist
24 SHEBANG_FILES= setup.py pyfr/__main__.py
28 OPTIONS_MULTI= PARALLEL
29 OPTIONS_MULTI_PARALLEL= OPENCL OPENMP # CUDA isn't supported on FreeBSD
30 OPTIONS_DEFAULT= ${OPTIONS_MULTI_PARALLEL}
31 PARALLEL_DESC= Parallelization backends to install
33 OPENCL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyopencl>0:devel/py-pyopencl@${PY_FLAVOR} \
35 OPENMP_RUN_DEPENDS= libxsmm>0:math/libxsmm
37 pre-build: # patch in pre-build to make the patch less error-prone (it has %%LOCALBASE%%)
38 @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/pyfr/backends/openmp/compiler.py
40 post-install: # workaround: https://groups.google.com/forum/#!topic/pyfrmailinglist/RNi_LcizGBo
41 @${RM} ${STAGEDIR}${PREFIX}/__main__.py
42 @${REINPLACE_CMD} 's|^${PREFIX}/__main__\.py||' ${_PYTHONPKGLIST}
44 .include <bsd.port.mk>