ports/net/py-mpi4py/Makefile
Thierry Thomas 6d82be95de net/py-mpi4py: add a slave port depending on MPICH
Sometimes we need mpi4py packaged against mpich, with Fortran enabled.

Do not create a flavor, because there already exist flavors for Python
versions, therefore a slave port seems more appropriate.

Once committed, I shall add a line in Mk/Uses/mpi.mk to grab the right
dependency according to the choice of MPI.

Bump PORTVERSION for people using net/py-mpi4py built from ports with
the non-default MPICH option.

Also change WWW: the project on bitbucket has been archived.

PR:		272949
Approved by:	wen@ (maintainer)
2023-08-05 10:20:45 +02:00

59 lines
1.5 KiB
Makefile

PORTNAME= mpi4py
DISTVERSION= 3.1.4
PORTREVISION= 2
CATEGORIES= net parallel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= wen@FreeBSD.org
COMMENT?= Python bindings for MPI (OpenMPI)
WWW= https://github.com/mpi4py/mpi4py
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.rst
USES= python
USE_PYTHON= distutils cython autoplist concurrent
LDFLAGS+= ${MPI_LIBS}
SLAVEDIRS= net/py-mpi4py-mpich
OPTIONS_DEFINE= DOCS MANPAGES
MP?= OPENMPI
.if ${MP} == "OPENMPI"
USES+= mpi:openmpi
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}mpi4py-mpich-3*
.elif ${MP} == "MPICH"
USES+= fortran mpi:mpich
LDFLAGS+= ${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so
CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}mpi4py-3*
.else
BROKEN= invalid parameter MP
.endif
PORTDOCS= *
pre-configure:
${CP} ${FILESDIR}/mpi.cfg ${WRKSRC}/
${REINPLACE_CMD} -e 's|%%LOCALBASE%%/mpi/openmpi|${MPI_HOME}|' \
${WRKSRC}/mpi.cfg
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README.rst ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
@${RM} ${STAGEDIR}${DOCSDIR}/${PORTNAME}.1
do-install-MANPAGES-on:
${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/man/man1
@${ECHO} man/man1/mpi4py.1.gz >> ${TMPPLIST}
post-install:
@cd ${STAGEDIR}${PYTHON_SITELIBDIR}/mpi4py && ${STRIP_CMD} dl*.so MPI*.so lib-pmpi/libvt-hyb*.so lib-pmpi/libvt*.so lib-pmpi/libvt-mpi*.so lib-pmpi/libmpe*.so
do-test:
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test
.include <bsd.port.mk>