aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeneric Rikka <rikka.goering@outlook.de>2026-04-15 12:44:22 +0000
committerVladimir Druzenko <vvd@FreeBSD.org>2026-04-15 13:37:44 +0000
commitf52087a807413b125397a132fd402505c288b411 (patch)
treefd9fe72304ec8ba8db30d4ab18414245241d32d8
parent14736c6ee94658022c9172e0594e3125a400f068 (diff)
devel/lwgrp: New port: Light-weight group library for MPI
The Light-weight Group library provides data structures and collectives to create/destroy ordered process groups efficiently in MPI codes — useful when frequent, transient groups make communicator creation too costly. https://github.com/llnl/lwgrp/ It is one of the dependencies for sysutils/mpifileutils. PR: 291587 Sponsored by: UNIS Labs Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
-rw-r--r--devel/Makefile1
-rw-r--r--devel/lwgrp/Makefile43
-rw-r--r--devel/lwgrp/distinfo3
-rw-r--r--devel/lwgrp/files/patch-src_Makefile.in11
-rw-r--r--devel/lwgrp/pkg-descr3
-rw-r--r--devel/lwgrp/pkg-plist6
6 files changed, 67 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index cb5c176a1ac6..63254c300eb3 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1656,6 +1656,7 @@
SUBDIR += luajava
SUBDIR += lutok
SUBDIR += luv
+ SUBDIR += lwgrp
SUBDIR += lwp
SUBDIR += lxqt-build-tools
SUBDIR += lxqt2-build-tools
diff --git a/devel/lwgrp/Makefile b/devel/lwgrp/Makefile
new file mode 100644
index 000000000000..f78dd7c235c5
--- /dev/null
+++ b/devel/lwgrp/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= lwgrp
+DISTVERSION= 1.0.6
+CATEGORIES= devel parallel
+MASTER_SITES= https://github.com/llnl/${PORTNAME}/releases/download/v${DISTVERSION}/
+
+MAINTAINER= rikka.goering@outlook.de
+COMMENT= Light-weight group library for MPI (LLNL)
+WWW= https://github.com/llnl/lwgrp/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
+
+USES= libtool localbase mpi:openmpi pathfix pkgconfig
+USE_LDCONFIG= yes
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-mpi=${MPI_HOME}
+CONFIGURE_ENV= CC=${MPICC}
+INSTALL_TARGET= install-strip
+TEST_TARGET= check
+
+PORTDOCS= README
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_DEFAULT= SHARED
+OPTIONS_MULTI= LIBS
+OPTIONS_MULTI_LIBS= SHARED STATIC
+OPTIONS_SUB= yes
+
+SHARED_DESC= Build shared libraries
+STATIC_DESC= Build static libraries
+
+SHARED_CONFIGURE_ENABLE= shared
+STATIC_CONFIGURE_ENABLE= static
+
+do-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
+
+post-install:
+ ${RM} -r ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/devel/lwgrp/distinfo b/devel/lwgrp/distinfo
new file mode 100644
index 000000000000..52bdf1afef86
--- /dev/null
+++ b/devel/lwgrp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1775666666
+SHA256 (lwgrp-1.0.6.tar.gz) = 9f697978361b4bd9914beaaafffcee0b62a480a9a7dd3d75176910cebda81438
+SIZE (lwgrp-1.0.6.tar.gz) = 387698
diff --git a/devel/lwgrp/files/patch-src_Makefile.in b/devel/lwgrp/files/patch-src_Makefile.in
new file mode 100644
index 000000000000..ee2e31a5cd9f
--- /dev/null
+++ b/devel/lwgrp/files/patch-src_Makefile.in
@@ -0,0 +1,11 @@
+--- src/Makefile.in.orig 2024-06-28 17:57:17 UTC
++++ src/Makefile.in
+@@ -376,7 +376,7 @@ liblwgrp_la_LIBADD =
+
+ liblwgrp_la_CFLAGS = $(INCLUDES)
+ liblwgrp_la_LIBADD =
+-liblwgrp_la_LDFLAGS = -avoid-version
++liblwgrp_la_LDFLAGS = -version-info 0
+ all: all-am
+
+ .SUFFIXES:
diff --git a/devel/lwgrp/pkg-descr b/devel/lwgrp/pkg-descr
new file mode 100644
index 000000000000..80e9c803316e
--- /dev/null
+++ b/devel/lwgrp/pkg-descr
@@ -0,0 +1,3 @@
+The Light-weight Group library provides data structures and collectives to
+create/destroy ordered process groups efficiently in MPI codes - useful when
+frequent, transient groups make communicator creation too costly.
diff --git a/devel/lwgrp/pkg-plist b/devel/lwgrp/pkg-plist
new file mode 100644
index 000000000000..4b6b8b369321
--- /dev/null
+++ b/devel/lwgrp/pkg-plist
@@ -0,0 +1,6 @@
+include/lwgrp.h
+%%STATIC%%lib/liblwgrp.a
+%%SHARED%%lib/liblwgrp.so
+%%SHARED%%lib/liblwgrp.so.0
+%%SHARED%%lib/liblwgrp.so.0.0.0
+libdata/pkgconfig/liblwgrp.pc