git: 8aba6bd4da0c - main - math/mfem: Add options to use mpich, OpenMPI, or no MPI

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 22 Aug 2022 08:01:44 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8aba6bd4da0c23892e4dd76584dff374d1296e57

commit 8aba6bd4da0c23892e4dd76584dff374d1296e57
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-08-22 08:00:41 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-08-22 08:01:42 +0000

    math/mfem: Add options to use mpich, OpenMPI, or no MPI
---
 math/mfem/Makefile | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/math/mfem/Makefile b/math/mfem/Makefile
index e083093a6c88..25fa7aa7156d 100644
--- a/math/mfem/Makefile
+++ b/math/mfem/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	mfem
 DISTVERSIONPREFIX=	v
 DISTVERSION=	4.4
+PORTREVISION=	1
 CATEGORIES=	math
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -14,11 +15,27 @@ USE_GITHUB=	yes
 USE_LDCONFIG=	yes
 
 CMAKE_ON=	BUILD_SHARED_LIBS
-CMAKE_TESTING_ON=	MFEM_ENABLE_TESTING # tests are broken, see https://github.com/mfem/mfem/issues/2442
+CMAKE_TESTING_ON=	MFEM_ENABLE_TESTING # tests are broken, see https://github.com/mfem/mfem/issues/3163
 
-OPTIONS_DEFINE=	MPI
+OPTIONS_SINGLE=		MPI
+OPTIONS_SINGLE_MPI=	NOMPI MPICH OPENMPI
+OPTIONS_DEFAULT=	MPICH # should be the same choice as in science/hypre
 
-MPI_CMAKE_BOOL=	MFEM_USE_MPI
-MPI_BROKEN=	see https://github.com/mfem/mfem/issues/622
+NOMPI_DESC=		Build without parallel processing support
+NOMPI_CMAKE_ON=		-DMFEM_USE_MPI=OFF
+
+MPICH_CMAKE_ON=		-DMFEM_USE_MPI=ON \
+			-DMPI_HOME=${LOCALBASE}
+MPICH_BUILD_DEPENDS=	mpich>0:net/mpich
+MPICH_LIB_DEPENDS=	libHYPRE.so:science/hypre \
+			libmetis.so:math/metis
+OPENMPI_RUN_DEPENDS=	mpich>0:net/mpich
+
+OPENMPI_CMAKE_ON=	-DMFEM_USE_MPI=ON \
+			-DMPI_HOME=${LOCALBASE}/mpi/openmpi
+OPENMPI_BUILD_DEPENDS=	openmpi>0:net/openmpi
+OPENMPI_LIB_DEPENDS=	libHYPRE.so:science/hypre \
+			libmetis.so:math/metis
+OPENMPI_RUN_DEPENDS=	openmpi>0:net/openmpi
 
 .include <bsd.port.mk>