git: 6a7f5153db71 - main - science/pnetcdf: Update to 1.14.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 28 Jan 2025 17:07:05 UTC
The branch main has been updated by sunpoet:

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

commit 6a7f5153db71ee45db5514e153fe407c238a1708
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-01-28 16:57:37 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-01-28 17:04:53 +0000

    science/pnetcdf: Update to 1.14.0
    
    - Add mpich and openmpi flavors
    
    Changes:        https://github.com/Parallel-NetCDF/PnetCDF/blob/master/RELEASE_NOTES
                    https://github.com/Parallel-NetCDF/PnetCDF/commits/master
---
 science/pnetcdf/Makefile                           | 35 ++++++++++------------
 science/pnetcdf/distinfo                           |  6 ++--
 science/pnetcdf/files/patch-configure              | 30 +++++++------------
 .../pnetcdf/files/patch-src-packaging-Makefile.in  | 11 +++++++
 science/pnetcdf/files/patch-src-utils-Makefile.in  | 11 +++++++
 science/pnetcdf/pkg-plist                          |  3 ++
 6 files changed, 53 insertions(+), 43 deletions(-)

diff --git a/science/pnetcdf/Makefile b/science/pnetcdf/Makefile
index 06f14efb22b5..780e228a9b43 100644
--- a/science/pnetcdf/Makefile
+++ b/science/pnetcdf/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	pnetcdf
-PORTVERSION=	1.12.3
-PORTREVISION=	2
+PORTVERSION=	1.14.0
 CATEGORIES=	science parallel
 MASTER_SITES=	https://parallel-netcdf.github.io/Release/ \
 		LOCAL/sunpoet
@@ -10,7 +9,7 @@ COMMENT=	Library providing high-performance I/O
 WWW=		https://parallel-netcdf.github.io/ \
 		https://github.com/Parallel-NetCDF/PnetCDF
 
-USES=		fortran gmake libtool pathfix perl5
+USES=		fortran gmake libtool mpi:${FLAVOR} pathfix perl5
 USE_PERL5=	build
 
 CFLAGS+=	-fPIC
@@ -18,26 +17,22 @@ CONFIGURE_ARGS=	--with-mpi=${MPI_HOME} ac_cv_fc_compiler_nag=no
 # Workaround for GCC 10+ for Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/CHARACTER(*)).
 FCFLAGS+=	-fallow-argument-mismatch
 GNU_CONFIGURE=	yes
+INSTALL_TARGET=	install-strip
 MAKE_JOBS_UNSAFE=	yes
+USE_LDCONFIG=	yes
 
-CONFLICTS_INSTALL=	hdf-4.*
+CONFLICTS_INSTALL=	hdf-4.* pnetcdf-mpich pnetcdf-openmpi
 
-OPTIONS_SINGLE=	MPI
-OPTIONS_SINGLE_MPI=	OPENMPI MPICH
-OPTIONS_DEFAULT=OPENMPI
-# Use Use MPICH option for 32-bit architecture.
-# PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS.
+FLAVORS=	mpich openmpi
+FLAVOR?=	${FLAVORS:[1]}
+mpich_PKGNAMESUFFIX=	-mpich
+openmpi_PKGNAMESUFFIX=	-openmpi
+.if ${FLAVOR} == openmpi
 # See https://github.com/open-mpi/ompi/issues/3195 for details.
-OPTIONS_DEFAULT_armv6=	MPICH
-OPTIONS_DEFAULT_armv7=	MPICH
-OPTIONS_DEFAULT_i386=	MPICH
-OPTIONS_DEFAULT_powerpc=MPICH
-OPTIONS_EXCLUDE_armv6=	OPENMPI
-OPTIONS_EXCLUDE_armv7=	OPENMPI
-OPTIONS_EXCLUDE_i386=	OPENMPI
-OPTIONS_EXCLUDE_powerpc=OPENMPI
-
-MPICH_USES=	mpi:mpich
-OPENMPI_USES=	mpi:openmpi
+BROKEN_armv6=	PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS
+BROKEN_armv7=	PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS
+BROKEN_i386=	PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS
+BROKEN_powerpc=	PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS
+.endif
 
 .include <bsd.port.mk>
diff --git a/science/pnetcdf/distinfo b/science/pnetcdf/distinfo
index 521ca06a0e8c..c6351e3b6792 100644
--- a/science/pnetcdf/distinfo
+++ b/science/pnetcdf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1657835407
-SHA256 (pnetcdf-1.12.3.tar.gz) = 439e359d09bb93d0e58a6e3f928f39c2eae965b6c97f64e67cd42220d6034f77
-SIZE (pnetcdf-1.12.3.tar.gz) = 2312555
+TIMESTAMP = 1736671217
+SHA256 (pnetcdf-1.14.0.tar.gz) = 575f189fb01c53f93b3d6ae0e506f46e19694807c81af0b9548e947995acf704
+SIZE (pnetcdf-1.14.0.tar.gz) = 2419346
diff --git a/science/pnetcdf/files/patch-configure b/science/pnetcdf/files/patch-configure
index 37a76bfe4fbb..f64b509f1ddc 100644
--- a/science/pnetcdf/files/patch-configure
+++ b/science/pnetcdf/files/patch-configure
@@ -1,21 +1,11 @@
---- configure.orig	2022-02-20 19:39:24 UTC
+--- configure.orig	2025-01-21 18:53:29 UTC
 +++ configure
-@@ -4337,12 +4337,12 @@ ac_user_MPICC=$MPICC
- ac_user_MPICXX=$MPICXX
- ac_user_MPIF77=$MPIF77
- ac_user_MPIF90=$MPIF90
--if test "x$MPICC"  = x && test "x$CC"  != x ; then ac_user_MPICC=$CC   ; fi
--if test "x$MPICXX" = x && test "x$CXX" != x ; then ac_user_MPICXX=$CXX ; fi
--if test "x$MPIF77" = x && test "x$F77" != x ; then ac_user_MPIF77=$F77 ; fi
--if test "x$MPIF77" = x && test "x$FC"  != x ; then ac_user_MPIF77=$FC  ; fi
--if test "x$MPIF90" = x && test "x$F90" != x ; then ac_user_MPIF90=$F90 ; fi
--if test "x$MPIF90" = x && test "x$FC"  != x ; then ac_user_MPIF90=$FC  ; fi
-+#if test "x$MPICC"  = x && test "x$CC"  != x ; then ac_user_MPICC=$CC   ; fi
-+#if test "x$MPICXX" = x && test "x$CXX" != x ; then ac_user_MPICXX=$CXX ; fi
-+#if test "x$MPIF77" = x && test "x$F77" != x ; then ac_user_MPIF77=$F77 ; fi
-+#if test "x$MPIF77" = x && test "x$FC"  != x ; then ac_user_MPIF77=$FC  ; fi
-+#if test "x$MPIF90" = x && test "x$F90" != x ; then ac_user_MPIF90=$F90 ; fi
-+#if test "x$MPIF90" = x && test "x$FC"  != x ; then ac_user_MPIF90=$FC  ; fi
- 
- CANDIDATE_MPICC="${MPICC} mpicc mpicc_r"
- CANDIDATE_MPICXX="${MPICXX} mpicxx mpic++ mpiCC mpcxx mpc++ mpicxx_r mpiCC_r mpcxx_r mpic++_r mpc++_r"
+@@ -40769,7 +40769,7 @@ else
+       FSTYPE_PREFIX=
+    else
+       # check if name prefix is one of file system types known to ROMIO
+-      romio_known_fstypes=(ufs nfs xfs pvfs2 gpfs panfs lustre daos testfs ime quobyte)
++      romio_known_fstypes=ufs nfs xfs pvfs2 gpfs panfs lustre daos testfs ime quobyte
+       known_fstype=
+       for pre in $romio_known_fstypes ; do
+           if test "$FSTYPE_PREFIX" = $pre ; then
diff --git a/science/pnetcdf/files/patch-src-packaging-Makefile.in b/science/pnetcdf/files/patch-src-packaging-Makefile.in
new file mode 100644
index 000000000000..6b5360cc75d6
--- /dev/null
+++ b/science/pnetcdf/files/patch-src-packaging-Makefile.in
@@ -0,0 +1,11 @@
+--- src/packaging/Makefile.in.orig	2024-11-11 22:32:47 UTC
++++ src/packaging/Makefile.in
+@@ -637,7 +637,7 @@ install-data-hook:
+ # GNU autoconf allows DESTDIR variable when running 'make install' which will
+ # prepend it before all installation names.
+ install-data-hook:
+-	$(SED_I) -e 's|INSTALL_PREFIX|$(DESTDIR)$(prefix)|g ; s|INSTALL_EXEC_PREFIX|$(DESTDIR)$(exec_prefix)|g' $(DESTDIR)$(prefix)/libdata/pkgconfig/pnetcdf.pc
++	$(SED_I) -e 's|INSTALL_PREFIX|$(prefix)|g ; s|INSTALL_EXEC_PREFIX|$(exec_prefix)|g' $(DESTDIR)$(prefix)/libdata/pkgconfig/pnetcdf.pc
+ 
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/science/pnetcdf/files/patch-src-utils-Makefile.in b/science/pnetcdf/files/patch-src-utils-Makefile.in
new file mode 100644
index 000000000000..f91866b7caab
--- /dev/null
+++ b/science/pnetcdf/files/patch-src-utils-Makefile.in
@@ -0,0 +1,11 @@
+--- src/utils/Makefile.in.orig	2024-11-11 22:32:47 UTC
++++ src/utils/Makefile.in
+@@ -856,7 +856,7 @@ install-exec-hook:
+ # GNU autoconf allows DESTDIR variable when running 'make install' which will
+ # prepend it before all installation names.
+ install-exec-hook:
+-	$(SED_I) -e 's|INSTALL_PREFIX|$(DESTDIR)$(prefix)|g ; s|INSTALL_EXEC_PREFIX|$(DESTDIR)$(exec_prefix)|g' $(DESTDIR)$(bindir)/pnetcdf-config
++	$(SED_I) -e 's|INSTALL_PREFIX|$(prefix)|g ; s|INSTALL_EXEC_PREFIX|$(exec_prefix)|g' $(DESTDIR)$(bindir)/pnetcdf-config
+ 	chmod +x $(DESTDIR)$(bindir)/pnetcdf-config
+ 
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/science/pnetcdf/pkg-plist b/science/pnetcdf/pkg-plist
index 11d73fc4d079..a99ef4d0e02d 100644
--- a/science/pnetcdf/pkg-plist
+++ b/science/pnetcdf/pkg-plist
@@ -11,6 +11,9 @@ include/pnetcdf.h
 include/pnetcdf.inc
 include/pnetcdf.mod
 lib/libpnetcdf.a
+lib/libpnetcdf.so
+lib/libpnetcdf.so.6
+lib/libpnetcdf.so.6.0.0
 libdata/pkgconfig/pnetcdf.pc
 share/man/man1/cdfdiff.1.gz
 share/man/man1/ncmpidiff.1.gz