git: e9724e5f2094 - main - math/gmm++: unbreak build of consumer (cad/gmsh)

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Fri, 11 Jul 2025 21:36:46 UTC
The branch main has been updated by tagattie:

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

commit e9724e5f20940c4cf08276327888dd29c5ed6e64
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-07-11 21:25:29 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-07-11 21:36:37 +0000

    math/gmm++: unbreak build of consumer (cad/gmsh)
    
    We need to define which linear equations solver (MUMPS or SuperLU) to
    be used in configuration header. This commit adds either of them based
    on a chosen option and should unbreak the build of cad/gmsh.
    
    PR:             288106
    Reported by:    thierry
    Approved by:    Atanu Biswas <atanubiswas484@gmail.com> (maintainer)
    Fixes:          5b6b3839ef38 (update to 5.4.4 and take maintainership)
---
 math/gmm++/Makefile                  | 15 +++++++++++++++
 math/gmm++/files/extra-patch-mumps   | 10 ++++++++++
 math/gmm++/files/extra-patch-superlu | 10 ++++++++++
 3 files changed, 35 insertions(+)

diff --git a/math/gmm++/Makefile b/math/gmm++/Makefile
index 6e8e15803e91..a4a675a83741 100644
--- a/math/gmm++/Makefile
+++ b/math/gmm++/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	gmm++
 DISTVERSION=	5.4.4
+PORTREVISION=	1
 CATEGORIES=	math
 MASTER_SITES=	http://download-mirror.savannah.gnu.org/releases/getfem/stable/
 DISTNAME=	${PORTNAME:S/+//g}-${DISTVERSION}
@@ -20,4 +21,18 @@ GNU_CONFIGURE=	yes
 NO_ARCH=	yes
 NO_BUILD=	yes
 
+OPTIONS_DEFAULT=	SUPERLU
+OPTIONS_SINGLE=		SOLVER
+OPTIONS_SINGLE_SOLVER=	MUMPS SUPERLU
+
+SOLVER_DESC=	Simultaneous equations solver
+MUMPS_DESC=	Use MUMPS (math/mumps)
+SUPERLU_DESC=	Use SuperLU (math/superlu)
+
+MUMPS_RUN_DEPENDS=	${LOCALBASE}/include/cmumps_c.h:math/mumps
+MUMPS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-mumps
+
+SUPERLU_RUN_DEPENDS=	${LOCALBASE}/include/superlu/supermatrix.h:math/superlu
+SUPERLU_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-superlu
+
 .include <bsd.port.mk>
diff --git a/math/gmm++/files/extra-patch-mumps b/math/gmm++/files/extra-patch-mumps
new file mode 100644
index 000000000000..7df79cd5e4ab
--- /dev/null
+++ b/math/gmm++/files/extra-patch-mumps
@@ -0,0 +1,10 @@
+--- include/gmm/gmm_arch_config.h.orig	2025-07-10 22:02:57 UTC
++++ include/gmm/gmm_arch_config.h
+@@ -2,6 +2,7 @@
+ #define _SRC_GMM_GMM_ARCH_CONFIG_H 1
+ // enable the following line for OpenMP support
+ // #define GMM_HAVE_OPENMP
++#define GMM_USES_MUMPS
+ //
+ /* once: _SRC_GMM_GMM_ARCH_CONFIG_H */
+ #endif
diff --git a/math/gmm++/files/extra-patch-superlu b/math/gmm++/files/extra-patch-superlu
new file mode 100644
index 000000000000..4afe7408af44
--- /dev/null
+++ b/math/gmm++/files/extra-patch-superlu
@@ -0,0 +1,10 @@
+--- include/gmm/gmm_arch_config.h.orig	2025-07-10 22:02:57 UTC
++++ include/gmm/gmm_arch_config.h
+@@ -2,6 +2,7 @@
+ #define _SRC_GMM_GMM_ARCH_CONFIG_H 1
+ // enable the following line for OpenMP support
+ // #define GMM_HAVE_OPENMP
++#define GMM_USES_SUPERLU
+ //
+ /* once: _SRC_GMM_GMM_ARCH_CONFIG_H */
+ #endif