aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeneric Rikka <rikka.goering@outlook.de>2026-04-15 13:17:30 +0000
committerVladimir Druzenko <vvd@FreeBSD.org>2026-04-15 13:37:45 +0000
commitd57b770a7ca13e18fd4860264a59c9fa2fa66128 (patch)
tree571c73bb037a710a83636ee7601e029042269fd6
parentf52087a807413b125397a132fd402505c288b411 (diff)
devel/dtcmp: New port: Datatype comparison library for MPI
DTCMP provides fast, scalable comparison-based operations on MPI datatypes, including sorting and key/value reductions, built atop lwgrp. https://github.com/llnl/dtcmp/ It is one of the dependencies for sysutils/mpifileutils. PR: 291588 Sponsored by: UNIS Labs Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
-rw-r--r--devel/Makefile1
-rw-r--r--devel/dtcmp/Makefile45
-rw-r--r--devel/dtcmp/distinfo3
-rw-r--r--devel/dtcmp/files/patch-src_Makefile.in11
-rw-r--r--devel/dtcmp/pkg-descr2
-rw-r--r--devel/dtcmp/pkg-plist6
6 files changed, 68 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 63254c300eb3..e7687a62d3ba 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -639,6 +639,7 @@
SUBDIR += dra
SUBDIR += dragon
SUBDIR += dsymbol
+ SUBDIR += dtcmp
SUBDIR += dtool
SUBDIR += dub
SUBDIR += dupl
diff --git a/devel/dtcmp/Makefile b/devel/dtcmp/Makefile
new file mode 100644
index 000000000000..c621655638f1
--- /dev/null
+++ b/devel/dtcmp/Makefile
@@ -0,0 +1,45 @@
+PORTNAME= dtcmp
+DISTVERSION= 1.1.5
+CATEGORIES= devel parallel
+MASTER_SITES= https://github.com/llnl/${PORTNAME}/releases/download/v${DISTVERSION}/
+
+MAINTAINER= rikka.goering@outlook.de
+COMMENT= Datatype comparison library for MPI (LLNL)
+WWW= https://github.com/llnl/dtcmp/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
+
+LIB_DEPENDS= liblwgrp.so:devel/lwgrp
+
+USES= libtool localbase mpi:openmpi pathfix pkgconfig
+USE_LDCONFIG= yes
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-lwgrp=${LOCALBASE}
+CONFIGURE_ENV= CC=${MPICC}
+INSTALL_TARGET= install-strip
+TEST_TARGET= check
+
+PORTDOCS= README.md
+
+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.md ${STAGEDIR}${DOCSDIR}
+
+post-install:
+ ${RM} -r ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/devel/dtcmp/distinfo b/devel/dtcmp/distinfo
new file mode 100644
index 000000000000..44686cb37f14
--- /dev/null
+++ b/devel/dtcmp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1775666666
+SHA256 (dtcmp-1.1.5.tar.gz) = 959c28999b8d1dd2e8703172db55392e38114fde0cd54dfad04555622c5e5974
+SIZE (dtcmp-1.1.5.tar.gz) = 426386
diff --git a/devel/dtcmp/files/patch-src_Makefile.in b/devel/dtcmp/files/patch-src_Makefile.in
new file mode 100644
index 000000000000..efbf233d367d
--- /dev/null
+++ b/devel/dtcmp/files/patch-src_Makefile.in
@@ -0,0 +1,11 @@
+--- src/Makefile.in.orig 2023-10-12 22:17:26 UTC
++++ src/Makefile.in
+@@ -443,7 +443,7 @@ libdtcmp_la_LIBADD = $(LWGRP_LDFLAGS) $(LWGRP_LIBS)
+
+ libdtcmp_la_CFLAGS = $(INCLUDES)
+ libdtcmp_la_LIBADD = $(LWGRP_LDFLAGS) $(LWGRP_LIBS)
+-libdtcmp_la_LDFLAGS = -avoid-version
++libdtcmp_la_LDFLAGS = -version-info 0
+ all: all-am
+
+ .SUFFIXES:
diff --git a/devel/dtcmp/pkg-descr b/devel/dtcmp/pkg-descr
new file mode 100644
index 000000000000..ed00cf5f2d13
--- /dev/null
+++ b/devel/dtcmp/pkg-descr
@@ -0,0 +1,2 @@
+DTCMP provides fast, scalable comparison-based operations on MPI datatypes,
+including sorting and key/value reductions, built atop lwgrp.
diff --git a/devel/dtcmp/pkg-plist b/devel/dtcmp/pkg-plist
new file mode 100644
index 000000000000..20997e09b78b
--- /dev/null
+++ b/devel/dtcmp/pkg-plist
@@ -0,0 +1,6 @@
+include/dtcmp.h
+%%STATIC%%lib/libdtcmp.a
+%%SHARED%%lib/libdtcmp.so
+%%SHARED%%lib/libdtcmp.so.0
+%%SHARED%%lib/libdtcmp.so.0.0.0
+libdata/pkgconfig/libdtcmp.pc