Hi, I’d like to add a new port devel/dtcmp, the DTCMP datatype comparison library from LLNL. DTCMP implements fast, scalable comparison-based operations on MPI datatypes, such as sorting and key/value reductions, and is built on top of lwgrp. This port depends on devel/lwgrp and is another prerequisite for sysutils/mpifileutils, which I’m currently porting as part of the FreeBSD HPC modernization work. Port details - Upstream: LLNL / GitHub (tag v1.1.5) - Links against devel/lwgrp via --with-lwgrp=${LOCALBASE} - Uses the MPI compiler wrapper (MPICC) - Installs shared library, header, and pkg-config file - Optional DOCS (installs README into ${DOCSDIR}) QA - make stage-qa [ok] - make check-plist [ok] - portfmt -D Makefile [ok] - portlint -AC [ok] - portclippy Makefile [ok] - poudriere testport [ok] Maintainer: rikka.goering@outlook.de Patch attached as a git-format patch.
Created attachment 266111 [details] new port devel/dtcmp (v1.1.5)
Created attachment 266312 [details] new port devel/dtcmp (v1.1.5) Minor Makefile styling update
Replace USE_GITHUB=yes with MASTER_SITES here too.
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= --enable-shared \ --enable-static \ --with-lwgrp=${LOCALBASE} CONFIGURE_ENV= CC=${MPICC} INSTALL_TARGET= install-strip TEST_TARGET= check PORTDOCS= README.md OPTIONS_DEFINE= DOCS post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} post-install: ${RM} -r ${STAGEDIR}${DATADIR} .include <bsd.port.mk> Same here: Library with wrong soname "libdtcmp.so" without version. I don't know how to fix this.
Created attachment 269689 [details] v2: [NEW PORT] devel/dtcmp: MPI datatype comparison library Applied the same fix here as in bug #291587
Created attachment 269691 [details] v3: [NEW PORT] devel/dtcmp: MPI datatype comparison library Wrong patch, forgot updating pkg-plist in v2
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> 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 --- 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:
Created attachment 269786 [details] v3: [NEW PORT] devel/dtcmp: MPI datatype comparison library Updated patch according to review feedback: - added options for shared and static libraries - switched Makefile patching to Makefile.in to avoid autoreconf - switched version patching from -version-info 0:0:0 to -version-info 0
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d57b770a7ca13e18fd4860264a59c9fa2fa66128 commit d57b770a7ca13e18fd4860264a59c9fa2fa66128 Author: Generic Rikka <rikka.goering@outlook.de> AuthorDate: 2026-04-15 13:17:30 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2026-04-15 13:37:45 +0000 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> devel/Makefile | 1 + devel/dtcmp/Makefile (new) | 45 +++++++++++++++++++++++++++ devel/dtcmp/distinfo (new) | 3 ++ devel/dtcmp/files/patch-src_Makefile.in (new) | 11 +++++++ devel/dtcmp/pkg-descr (new) | 2 ++ devel/dtcmp/pkg-plist (new) | 6 ++++ 6 files changed, 68 insertions(+)
Thanks.