The attached diff updates math/hdf5 to the latest version 1.12.0.

- enable fortran
- API changes require major bump to all shlib
- use configure argument for example dir instead of post-install mv(1)
- pull patches from upstream to respect DESTDIR for examples
  
(https://github.com/HDFGroup/hdf5/commit/4cebd8aa6c965fe2e5dde6dbff36b2be3ca58bf1)
- patch h5repack_plugin.sh test to work with our cp(1)

The extensive hdf5 test-suite passes on amd64. My arm64 is too slow so it runs 
into
the test timeout. Checking currently if raising HDF5_ALARM_SECONDS helps.
Also tested on sparc64, but fheap tests fail there.

Also compile and partially run-time tested where especially relevant to me:
math/armadillo
math/matio
math/netcdf
math/octave
math/py-h5py,python3
math/py-netcdf4
math/py-tables

Currently NOT tested:
geo/gdal
geo/gdal,python3

Comments? Tests? OKs?

-m

Index: Makefile
===================================================================
RCS file: /cvs/ports/math/hdf5/Makefile,v
retrieving revision 1.21
diff -u -p -u -p -r1.21 Makefile
--- Makefile    12 Oct 2020 06:56:07 -0000      1.21
+++ Makefile    1 Dec 2020 19:32:37 -0000
@@ -2,13 +2,15 @@
 
 COMMENT =              Hierarchical Data Format 5 Technology suite
 
-V =                    1.10.7
+V =                    1.12.0
 DISTNAME =             hdf5-${V}
 
-SHARED_LIBS += hdf5            2.2 # 106.0
-SHARED_LIBS += hdf5_cpp        6.2 # 106.0
-SHARED_LIBS += hdf5_hl         2.0 # 101.4
-SHARED_LIBS += hdf5_hl_cpp     3.0 # 101.5
+SHARED_LIBS += hdf5            3.0 # 200.0
+SHARED_LIBS += hdf5_cpp        7.0 # 200.0
+SHARED_LIBS += hdf5_hl         3.0 # 200.0
+SHARED_LIBS += hdf5_hl_cpp     4.0 # 200.0
+SHARED_LIBS += hdf5_fortran    0.0 # 200.0
+SHARED_LIBS += hdf5hl_fortran  0.0 # 200.0
 
 CATEGORIES =           math
 
@@ -24,15 +26,17 @@ WANTLIB += c m ${COMPILER_LIBCXX} z
 COMPILER =             base-clang ports-gcc base-gcc
 
 MASTER_SITES =         https://support.hdfgroup.org/ftp/HDF5/current/src/ \
-                       
https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-${V}/src/
+                       
https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-${V}/src/
 
+MODULES        =               fortran
 SEPARATE_BUILD =       Yes
 CONFIGURE_STYLE =      gnu
-CONFIGURE_ARGS =       --enable-cxx
+CONFIGURE_ARGS =       --enable-cxx \
+                       --enable-fortran \
+                       --with-examplesdir=${PREFIX}/share/examples/hdf5
 
 post-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/hdf5
        ${INSTALL_DATA} ${WRKSRC}/COPYING ${PREFIX}/share/doc/hdf5
-       mv ${PREFIX}/share/hdf5_examples ${PREFIX}/share/examples/hdf5
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/math/hdf5/distinfo,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 distinfo
--- distinfo    12 Oct 2020 06:56:07 -0000      1.10
+++ distinfo    1 Dec 2020 19:32:37 -0000
@@ -1,2 +1,2 @@
-SHA256 (hdf5-1.10.7.tar.gz) = ehoKVDcSdc4t/FzQk3dbsCXDZYRlEpYeflzq7LQ37xU=
-SIZE (hdf5-1.10.7.tar.gz) = 12408700
+SHA256 (hdf5-1.12.0.tar.gz) = pi3LJ2ZYy3jmeV3Sm/km7XqbxO3253AlzSxomo+XwXo=
+SIZE (hdf5-1.12.0.tar.gz) = 12580850
Index: patches/patch-c++_examples_Makefile_in
===================================================================
RCS file: patches/patch-c++_examples_Makefile_in
diff -N patches/patch-c++_examples_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-c++_examples_Makefile_in      1 Dec 2020 19:32:37 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: c++/examples/Makefile.in
+--- c++/examples/Makefile.in.orig
++++ c++/examples/Makefile.in
+@@ -709,8 +709,8 @@ CXX_API = yes
+ 
+ # Where to install examples
+ # Note: no '/' after DESTDIR.  Explanation in commence.am
+-EXAMPLEDIR = $(examplesdir)/c++
+-EXAMPLETOPDIR = $(examplesdir)
++EXAMPLEDIR = ${DESTDIR}$(examplesdir)/c++
++EXAMPLETOPDIR = ${DESTDIR}$(examplesdir)
+ 
+ # Assume that all tests in this directory are examples, and tell
+ # conclude.am when to build them.
Index: patches/patch-examples_Makefile_in
===================================================================
RCS file: patches/patch-examples_Makefile_in
diff -N patches/patch-examples_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-examples_Makefile_in  1 Dec 2020 19:32:37 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: examples/Makefile.in
+--- examples/Makefile.in.orig
++++ examples/Makefile.in
+@@ -725,8 +725,8 @@ EXTLINK_DIRS = red blue u2w
+ 
+ # Example directory
+ # Note: no '/' after DESTDIR.  Explanation in commence.am
+-EXAMPLEDIR = $(examplesdir)/c
+-EXAMPLETOPDIR = $(examplesdir)
++EXAMPLEDIR = ${DESTDIR}$(examplesdir)/c
++EXAMPLETOPDIR = ${DESTDIR}$(examplesdir)
+ @BUILD_SHARED_SZIP_CONDITIONAL_TRUE@LD_LIBRARY_PATH = $(LL_PATH)
+ 
+ # Assume that all tests in this directory are examples, and tell
Index: patches/patch-fortran_examples_Makefile_in
===================================================================
RCS file: patches/patch-fortran_examples_Makefile_in
diff -N patches/patch-fortran_examples_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-fortran_examples_Makefile_in  1 Dec 2020 19:32:37 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: fortran/examples/Makefile.in
+--- fortran/examples/Makefile.in.orig
++++ fortran/examples/Makefile.in
+@@ -722,8 +722,8 @@ FORTRAN_API = yes
+ 
+ # Tell automake how to install examples
+ # Note: no '/' after DESTDIR.  Explanation in commence.am
+-EXAMPLEDIR = $(examplesdir)/fortran
+-EXAMPLETOPDIR = $(examplesdir)
++EXAMPLEDIR = ${DESTDIR}$(examplesdir)/fortran
++EXAMPLETOPDIR = ${DESTDIR}$(examplesdir)
+ 
+ # Assume that all tests in this directory are examples, and tell
+ # conclude.am when to build them.
Index: patches/patch-hl_c++_examples_Makefile_in
===================================================================
RCS file: patches/patch-hl_c++_examples_Makefile_in
diff -N patches/patch-hl_c++_examples_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-hl_c++_examples_Makefile_in   1 Dec 2020 19:32:37 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: hl/c++/examples/Makefile.in
+--- hl/c++/examples/Makefile.in.orig
++++ hl/c++/examples/Makefile.in
+@@ -698,8 +698,8 @@ CXX_API = yes
+ 
+ # Where to install examples
+ # Note: no '/' after DESTDIR.  Explanation in commence.am
+-EXAMPLEDIR = $(examplesdir)/hl/c++
+-EXAMPLETOPDIR = $(examplesdir)/hl
++EXAMPLEDIR = ${DESTDIR}$(examplesdir)/hl/c++
++EXAMPLETOPDIR = ${DESTDIR}$(examplesdir)/hl
+ 
+ # Assume that all tests in this directory are examples, and tell
+ # conclude.am when to build them.
Index: patches/patch-hl_examples_Makefile_in
===================================================================
RCS file: patches/patch-hl_examples_Makefile_in
diff -N patches/patch-hl_examples_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-hl_examples_Makefile_in       1 Dec 2020 19:32:37 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: hl/examples/Makefile.in
+--- hl/examples/Makefile.in.orig
++++ hl/examples/Makefile.in
+@@ -687,8 +687,8 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 *.
+ 
+ # Example directory
+ # Note: no '/' after DESTDIR.  Explanation in commence.am
+-EXAMPLEDIR = $(examplesdir)/hl/c
+-EXAMPLETOPDIR = $(examplesdir)/hl
++EXAMPLEDIR = ${DESTDIR}$(examplesdir)/hl/c
++EXAMPLETOPDIR = ${DESTDIR}$(examplesdir)/hl
+ INSTALL_SCRIPT_FILES = run-hlc-ex.sh
+ INSTALL_TOP_SCRIPT_FILES = run-hl-ex.sh
+ 
Index: patches/patch-hl_fortran_examples_Makefile_in
===================================================================
RCS file: patches/patch-hl_fortran_examples_Makefile_in
diff -N patches/patch-hl_fortran_examples_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-hl_fortran_examples_Makefile_in       1 Dec 2020 19:32:37 
-0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: hl/fortran/examples/Makefile.in
+--- hl/fortran/examples/Makefile.in.orig
++++ hl/fortran/examples/Makefile.in
+@@ -711,8 +711,8 @@ FORTRAN_API = yes
+ 
+ # Tell automake how to install examples
+ # Note: no '/' after DESTDIR.  Explanation in commence.am
+-EXAMPLEDIR = $(examplesdir)/hl/fortran
+-EXAMPLETOPDIR = $(examplesdir)/hl
++EXAMPLEDIR = ${DESTDIR}$(examplesdir)/hl/fortran
++EXAMPLETOPDIR = ${DESTDIR}$(examplesdir)/hl
+ 
+ # Assume that all tests in this directory are examples, and tell
+ # conclude.am when to build them.
Index: patches/patch-tools_test_h5repack_h5repack_plugin_sh_in
===================================================================
RCS file: patches/patch-tools_test_h5repack_h5repack_plugin_sh_in
diff -N patches/patch-tools_test_h5repack_h5repack_plugin_sh_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-tools_test_h5repack_h5repack_plugin_sh_in     1 Dec 2020 
19:32:37 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: tools/test/h5repack/h5repack_plugin.sh.in
+--- tools/test/h5repack/h5repack_plugin.sh.in.orig
++++ tools/test/h5repack/h5repack_plugin.sh.in
+@@ -37,7 +37,7 @@ PLUGIN_LIBDIR=testdir3
+ RM='rm -rf'
+ 
+ GREP='grep'
+-CP='cp'
++CP='cp -R'
+ DIRNAME='dirname'
+ LS='ls'
+ AWK='awk'
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/math/hdf5/pkg/PLIST,v
retrieving revision 1.7
diff -u -p -u -p -r1.7 PLIST
--- pkg/PLIST   12 Oct 2020 06:56:07 -0000      1.7
+++ pkg/PLIST   1 Dec 2020 19:32:37 -0000
@@ -8,6 +8,7 @@ bin/h5cc
 @bin bin/h5debug
 @bin bin/h5diff
 @bin bin/h5dump
+bin/h5fc
 @bin bin/h5format_convert
 @bin bin/h5import
 @bin bin/h5jam
@@ -20,8 +21,6 @@ bin/h5redeploy
 @bin bin/h5stat
 @bin bin/h5unjam
 @bin bin/h5watch
-@bin bin/mirror_server
-@bin bin/mirror_server_stop
 include/H5ACpublic.h
 include/H5AbstractDs.h
 include/H5Apublic.h
@@ -43,6 +42,7 @@ include/H5DataType.h
 include/H5DcreatProp.h
 include/H5Dpublic.h
 include/H5DxferProp.h
+include/H5ESpublic.h
 include/H5EnumType.h
 include/H5Epubgen.h
 include/H5Epublic.h
@@ -52,14 +52,12 @@ include/H5FDdirect.h
 include/H5FDfamily.h
 include/H5FDhdfs.h
 include/H5FDlog.h
-include/H5FDmirror.h
 include/H5FDmpi.h
 include/H5FDmpio.h
 include/H5FDmulti.h
 include/H5FDpublic.h
 include/H5FDros3.h
 include/H5FDsec2.h
-include/H5FDsplitter.h
 include/H5FDstdio.h
 include/H5FDwindows.h
 include/H5FaccProp.h
@@ -82,6 +80,7 @@ include/H5Library.h
 include/H5Location.h
 include/H5Lpublic.h
 include/H5MMpublic.h
+include/H5Mpublic.h
 include/H5Object.h
 include/H5OcreatProp.h
 include/H5Opublic.h
@@ -97,14 +96,47 @@ include/H5Spublic.h
 include/H5StrType.h
 include/H5TBpublic.h
 include/H5Tpublic.h
+include/H5VLconnector.h
+include/H5VLconnector_passthru.h
+include/H5VLnative.h
+include/H5VLpassthru.h
+include/H5VLpublic.h
 include/H5VarLenType.h
 include/H5Zpublic.h
 include/H5api_adpt.h
+include/H5f90i.h
+include/H5f90i_gen.h
 include/H5overflow.h
 include/H5pubconf.h
 include/H5public.h
 include/H5version.h
+include/h5_gen.mod
+include/h5a.mod
+include/h5d.mod
+include/h5ds.mod
+include/h5e.mod
+include/h5f.mod
+include/h5fortkit.mod
+include/h5fortran_types.mod
+include/h5g.mod
+include/h5global.mod
+include/h5i.mod
+include/h5im.mod
+include/h5l.mod
+include/h5lib.mod
+include/h5lt.mod
+include/h5lt_const.mod
+include/h5o.mod
+include/h5p.mod
+include/h5r.mod
+include/h5s.mod
+include/h5t.mod
+include/h5tb.mod
+include/h5tb_const.mod
+include/h5vl.mod
+include/h5z.mod
 include/hdf5.h
+include/hdf5.mod
 include/hdf5_hl.h
 @static-lib lib/libhdf5.a
 lib/libhdf5.la
@@ -113,12 +145,19 @@ lib/libhdf5.settings
 @static-lib lib/libhdf5_cpp.a
 lib/libhdf5_cpp.la
 @lib lib/libhdf5_cpp.so.${LIBhdf5_cpp_VERSION}
+@static-lib lib/libhdf5_fortran.a
+lib/libhdf5_fortran.la
+@lib lib/libhdf5_fortran.so.${LIBhdf5_fortran_VERSION}
 @static-lib lib/libhdf5_hl.a
 lib/libhdf5_hl.la
 @lib lib/libhdf5_hl.so.${LIBhdf5_hl_VERSION}
 @static-lib lib/libhdf5_hl_cpp.a
 lib/libhdf5_hl_cpp.la
 @lib lib/libhdf5_hl_cpp.so.${LIBhdf5_hl_cpp_VERSION}
+@static-lib lib/libhdf5_hl_fortran.a
+@static-lib lib/libhdf5hl_fortran.a
+lib/libhdf5hl_fortran.la
+@lib lib/libhdf5hl_fortran.so.${LIBhdf5hl_fortran_VERSION}
 share/doc/hdf5/
 share/doc/hdf5/COPYING
 share/examples/hdf5/
@@ -151,7 +190,6 @@ share/examples/hdf5/c/h5_crtdat.c
 share/examples/hdf5/c/h5_crtgrp.c
 share/examples/hdf5/c/h5_crtgrpar.c
 share/examples/hdf5/c/h5_crtgrpd.c
-share/examples/hdf5/c/h5_debug_trace.c
 share/examples/hdf5/c/h5_drivers.c
 share/examples/hdf5/c/h5_elink_unix2win.c
 share/examples/hdf5/c/h5_extend.c
@@ -161,8 +199,10 @@ share/examples/hdf5/c/h5_group.c
 share/examples/hdf5/c/h5_mount.c
 share/examples/hdf5/c/h5_rdwt.c
 share/examples/hdf5/c/h5_read.c
-share/examples/hdf5/c/h5_ref2reg.c
-share/examples/hdf5/c/h5_reference.c
+share/examples/hdf5/c/h5_ref2reg_deprec.c
+share/examples/hdf5/c/h5_ref_compat.c
+share/examples/hdf5/c/h5_ref_extern.c
+share/examples/hdf5/c/h5_reference_deprec.c
 share/examples/hdf5/c/h5_select.c
 share/examples/hdf5/c/h5_shared_mesg.c
 share/examples/hdf5/c/h5_subset.c
@@ -177,6 +217,28 @@ share/examples/hdf5/c/h5_vds.c
 share/examples/hdf5/c/h5_write.c
 share/examples/hdf5/c/ph5example.c
 share/examples/hdf5/c/run-c-ex.sh
+share/examples/hdf5/fortran/
+share/examples/hdf5/fortran/compound.f90
+share/examples/hdf5/fortran/compound_complex_fortran2003.f90
+share/examples/hdf5/fortran/compound_fortran2003.f90
+share/examples/hdf5/fortran/h5_cmprss.f90
+share/examples/hdf5/fortran/h5_crtatt.f90
+share/examples/hdf5/fortran/h5_crtdat.f90
+share/examples/hdf5/fortran/h5_crtgrp.f90
+share/examples/hdf5/fortran/h5_crtgrpar.f90
+share/examples/hdf5/fortran/h5_crtgrpd.f90
+share/examples/hdf5/fortran/h5_extend.f90
+share/examples/hdf5/fortran/h5_rdwt.f90
+share/examples/hdf5/fortran/h5_subset.f90
+share/examples/hdf5/fortran/hyperslab.f90
+share/examples/hdf5/fortran/mountexample.f90
+share/examples/hdf5/fortran/nested_derived_type.f90
+share/examples/hdf5/fortran/ph5example.f90
+share/examples/hdf5/fortran/refobjexample.f90
+share/examples/hdf5/fortran/refregexample.f90
+share/examples/hdf5/fortran/run-fortran-ex.sh
+share/examples/hdf5/fortran/rwdset_fortran2003.f90
+share/examples/hdf5/fortran/selectele.f90
 share/examples/hdf5/hl/
 share/examples/hdf5/hl/c/
 share/examples/hdf5/hl/c++/
@@ -205,5 +267,9 @@ share/examples/hdf5/hl/c/image8.txt
 share/examples/hdf5/hl/c/pal_rgb.h
 share/examples/hdf5/hl/c/ptExampleFL.c
 share/examples/hdf5/hl/c/run-hlc-ex.sh
+share/examples/hdf5/hl/fortran/
+share/examples/hdf5/hl/fortran/ex_ds1.f90
+share/examples/hdf5/hl/fortran/exlite.f90
+share/examples/hdf5/hl/fortran/run-hlfortran-ex.sh
 share/examples/hdf5/hl/run-hl-ex.sh
 share/examples/hdf5/run-all-ex.sh

Reply via email to