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.3:math/py-gimmik@${PY_FLAVOR} \
15 ${PYTHON_PKGNAMEPREFIX}h5py>=2.10:science/py-h5py@${PY_FLAVOR} \
16 ${PYTHON_PKGNAMEPREFIX}mako>=1.0.0:textproc/py-mako@${PY_FLAVOR} \
17 ${PYTHON_PKGNAMEPREFIX}mpi4py>=3.1.0:net/py-mpi4py@${PY_FLAVOR} \
18 ${PYTHON_PKGNAMEPREFIX}platformdirs>=2.2.0:devel/py-platformdirs@${PY_FLAVOR} \
19 ${PYTHON_PKGNAMEPREFIX}pytools>=2016.2.1:devel/py-pytools@${PY_FLAVOR} \
22 USES= python:3.7+ shebangfix
23 USE_PYTHON= distutils concurrent autoplist
25 SHEBANG_FILES= setup.py pyfr/__main__.py
29 OPTIONS_MULTI= PARALLEL
30 OPTIONS_MULTI_PARALLEL= OPENCL OPENMP # CUDA isn't supported on FreeBSD
31 OPTIONS_DEFAULT= ${OPTIONS_MULTI_PARALLEL}
32 PARALLEL_DESC= Parallelization backends to install
34 OPENCL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyopencl>0:devel/py-pyopencl@${PY_FLAVOR} \
36 OPENMP_RUN_DEPENDS= libxsmm>0:math/libxsmm
38 pre-build: # patch in pre-build to make the patch less error-prone (it has %%LOCALBASE%%)
39 @${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/pyfr/backends/openmp/compiler.py
41 post-install: # workaround: https://groups.google.com/forum/#!topic/pyfrmailinglist/RNi_LcizGBo
42 @${RM} ${STAGEDIR}${PREFIX}/__main__.py
43 @${REINPLACE_CMD} 's|^${PREFIX}/__main__\.py||' ${_PYTHONPKGLIST}
45 .include <bsd.port.mk>