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