aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWen Heping <wen@FreeBSD.org>2026-04-22 02:01:33 +0000
committerWen Heping <wen@FreeBSD.org>2026-04-22 06:08:46 +0000
commit168e0746c977d4bbf81a0d1bd6577092e8bab518 (patch)
tree94a960e5914d97efe065dd7e4819a071408a9ff8
parentab94cd6c08e30d28afd92fd1593aa69dbdf2285a (diff)
science/hdf5-21: New port, copied from science/hdf5
HDF5 is a completely new Hierarchical Data Format product consisting of a data format specification and a supporting library implementation. HDF5 is designed to address some of the limitations of the older HDF product and to address current and anticipated requirements of modern systems and applications. HDF5 includes the following improvements: - A new file format designed to address some of the deficiencies of HDF4.x, particularly the need to store larger files and more objects per file. - A simpler, more comprehensive data model that includes only two basic structures: a multidimensional array of record structures, and a grouping structure. - A simpler, better-engineered library and API, with improved support for parallel I/O, threads, and other requirements imposed by modern systems and applications.
-rw-r--r--science/Makefile1
-rw-r--r--science/hdf5-21/Makefile62
-rw-r--r--science/hdf5-21/distinfo3
-rw-r--r--science/hdf5-21/files/patch-src-H5FDdirect.c11
-rw-r--r--science/hdf5-21/pkg-descr14
-rw-r--r--science/hdf5-21/pkg-plist220
6 files changed, 311 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 7cf3fd018ee7..82f5ecf89fe2 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -120,6 +120,7 @@
SUBDIR += hdf5
SUBDIR += hdf5-110
SUBDIR += hdf5-18
+ SUBDIR += hdf5-21
SUBDIR += healpix
SUBDIR += helfem
SUBDIR += hepmc3
diff --git a/science/hdf5-21/Makefile b/science/hdf5-21/Makefile
new file mode 100644
index 000000000000..66b3620cb22f
--- /dev/null
+++ b/science/hdf5-21/Makefile
@@ -0,0 +1,62 @@
+PORTNAME= hdf5
+PORTVERSION= 2.1.1
+CATEGORIES= science archivers graphics
+PKGNAMESUFFIX= -21
+
+MAINTAINER= wen@FreeBSD.org
+COMMENT= Hierarchical Data Format library (from NCSA) 2.1
+WWW= https://www.hdfgroup.org/HDF5/
+
+LICENSE= BSD4CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+OPTIONS_DEFINE= FORTRAN SZIP
+OPTIONS_DEFAULT= FORTRAN
+
+USES= cmake:testing cpe localbase pkgconfig tar:bzip2
+CPE_VENDOR= hdfgroup
+TEST_TARGET= test
+USE_LDCONFIG= yes
+PORTSUFF= ${PORTNAME}${PKGNAMESUFFIX}
+CMAKE_ARGS= -DHDF5_LIB_INFIX:STRING="-21"
+EXAMPLESDIR= ${PREFIX}/share/examples/${PORTSUFF}
+
+USE_GITHUB= yes
+GH_ACCOUNT= HDFGroup
+
+SUFF2FIX= c++/src/h5c++.in fortran/src/h5fc.in
+
+FORTRAN_USES= fortran
+FORTRAN_CMAKE_BOOL= HDF5_BUILD_FORTRAN
+FORTRAN_PLIST_SUB= FORTRAN=""
+FORTRAN_PLIST_SUB_OFF= FORTRAN="@comment "
+FORTRAN__VARS= FCFLAGS_f90="${FCFLAGS}" LIBS="-lstdc++"
+
+SZIP_CMAKE_BOOL= HDF5_ENABLE_SZIP_SUPPORT
+SZIP_LIB_DEPENDS= libsz.so:science/libaec
+
+post-stage:
+ cd ${STAGEDIR}${PREFIX}/bin && ( \
+ for f in `${FIND} . -type f`; do \
+ ${MV} $$f $${f}-21; \
+ done; \
+ )
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/hdf5-21
+ ${MV} ${STAGEDIR}${PREFIX}/include/*.h \
+ ${STAGEDIR}${PREFIX}/include/hdf5-21/
+ @${MKDIR} ${STAGEDIR}${DATADIR}-21 ${STAGEDIR}${PREFIX}/lib/cmake/hdf5-21
+ ${MV} ${STAGEDIR}${PREFIX}/cmake/* ${STAGEDIR}${PREFIX}/lib/cmake/hdf5-21
+
+ ${MV} ${STAGEDIR}${PREFIX}/lib/libhdf5.settings \
+ ${STAGEDIR}${PREFIX}/lib/libhdf5-21.settings
+ ${RMDIR} ${STAGEDIR}${PREFIX}/cmake
+
+post-stage-FORTRAN-on:
+.for ext in mod
+ ${MV} ${STAGEDIR}${PREFIX}/include/*.${ext} \
+ ${STAGEDIR}${PREFIX}/include/hdf5-21/
+.endfor
+ ${MV} ${STAGEDIR}${PREFIX}/mod/* ${STAGEDIR}${PREFIX}/include/hdf5-21/
+ ${RMDIR} ${STAGEDIR}${PREFIX}/mod
+
+.include <bsd.port.mk>
diff --git a/science/hdf5-21/distinfo b/science/hdf5-21/distinfo
new file mode 100644
index 000000000000..cae9d2126aa2
--- /dev/null
+++ b/science/hdf5-21/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1776758119
+SHA256 (HDFGroup-hdf5-2.1.1_GH0.tar.gz) = 5849ed7a81be6bc84ff8aa65dd966430adf0daf71e6bcb734b7a37474f92c859
+SIZE (HDFGroup-hdf5-2.1.1_GH0.tar.gz) = 42074714
diff --git a/science/hdf5-21/files/patch-src-H5FDdirect.c b/science/hdf5-21/files/patch-src-H5FDdirect.c
new file mode 100644
index 000000000000..055e931da400
--- /dev/null
+++ b/science/hdf5-21/files/patch-src-H5FDdirect.c
@@ -0,0 +1,11 @@
+--- src/H5FDdirect.c.orig 2023-01-30 14:52:51 UTC
++++ src/H5FDdirect.c
+@@ -27,6 +27,8 @@
+ * this file. */
+ /* #define _XOPEN_SOURCE 600 */
+
++#define O_DIRECT 0x00010000
++
+ #include "H5private.h" /* Generic Functions */
+ #include "H5Eprivate.h" /* Error handling */
+ #include "H5Fprivate.h" /* File access */
diff --git a/science/hdf5-21/pkg-descr b/science/hdf5-21/pkg-descr
new file mode 100644
index 000000000000..a3f64fcc8f13
--- /dev/null
+++ b/science/hdf5-21/pkg-descr
@@ -0,0 +1,14 @@
+HDF5 is a completely new Hierarchical Data Format product consisting of a data
+format specification and a supporting library implementation. HDF5 is designed
+to address some of the limitations of the older HDF product and to address
+current and anticipated requirements of modern systems and applications.
+
+HDF5 includes the following improvements:
+- A new file format designed to address some of the deficiencies of HDF4.x,
+ particularly the need to store larger files and more objects per file.
+- A simpler, more comprehensive data model that includes only two basic
+ structures: a multidimensional array of record structures, and a grouping
+ structure.
+- A simpler, better-engineered library and API, with improved support for
+ parallel I/O, threads, and other requirements imposed by modern systems
+ and applications.
diff --git a/science/hdf5-21/pkg-plist b/science/hdf5-21/pkg-plist
new file mode 100644
index 000000000000..bbda139e4834
--- /dev/null
+++ b/science/hdf5-21/pkg-plist
@@ -0,0 +1,220 @@
+bin/h5cc-21
+bin/h5clear-21
+bin/h5copy-21
+bin/h5debug-21
+bin/h5delete-21
+bin/h5diff-21
+bin/h5dump-21
+bin/h5format_convert-21
+bin/h5import-21
+bin/h5jam-21
+bin/h5ls-21
+bin/h5mkgrp-21
+bin/h5perf_serial-21
+bin/h5repack-21
+bin/h5repart-21
+bin/h5stat-21
+bin/h5unjam-21
+bin/h5watch-21
+include/hdf5-21/H5ACpublic.h
+include/hdf5-21/H5Apublic.h
+include/hdf5-21/H5Cpublic.h
+include/hdf5-21/H5DOpublic.h
+include/hdf5-21/H5DSpublic.h
+include/hdf5-21/H5Dpublic.h
+include/hdf5-21/H5ESdevelop.h
+include/hdf5-21/H5ESpublic.h
+include/hdf5-21/H5Epubgen.h
+include/hdf5-21/H5Epublic.h
+include/hdf5-21/H5FDcore.h
+include/hdf5-21/H5FDdevelop.h
+include/hdf5-21/H5FDdirect.h
+include/hdf5-21/H5FDfamily.h
+include/hdf5-21/H5FDhdfs.h
+include/hdf5-21/H5FDioc.h
+include/hdf5-21/H5FDlog.h
+include/hdf5-21/H5FDmirror.h
+include/hdf5-21/H5FDmpi.h
+include/hdf5-21/H5FDmpio.h
+include/hdf5-21/H5FDmulti.h
+include/hdf5-21/H5FDonion.h
+include/hdf5-21/H5FDpublic.h
+include/hdf5-21/H5FDros3.h
+include/hdf5-21/H5FDsec2.h
+include/hdf5-21/H5FDsplitter.h
+include/hdf5-21/H5FDstdio.h
+include/hdf5-21/H5FDsubfiling.h
+include/hdf5-21/H5FDwindows.h
+include/hdf5-21/H5Fpublic.h
+include/hdf5-21/H5Gpublic.h
+include/hdf5-21/H5IMpublic.h
+include/hdf5-21/H5Idevelop.h
+include/hdf5-21/H5Ipublic.h
+include/hdf5-21/H5LDpublic.h
+include/hdf5-21/H5LTpublic.h
+include/hdf5-21/H5Ldevelop.h
+include/hdf5-21/H5Lpublic.h
+include/hdf5-21/H5MMpublic.h
+include/hdf5-21/H5Mpublic.h
+include/hdf5-21/H5Opublic.h
+include/hdf5-21/H5PLextern.h
+include/hdf5-21/H5PLpublic.h
+include/hdf5-21/H5PTpublic.h
+include/hdf5-21/H5Ppublic.h
+include/hdf5-21/H5Rpublic.h
+include/hdf5-21/H5Spublic.h
+include/hdf5-21/H5TBpublic.h
+include/hdf5-21/H5TSdevelop.h
+include/hdf5-21/H5Tdevelop.h
+include/hdf5-21/H5Tpublic.h
+include/hdf5-21/H5VLconnector.h
+include/hdf5-21/H5VLconnector_passthru.h
+include/hdf5-21/H5VLnative.h
+include/hdf5-21/H5VLpassthru.h
+include/hdf5-21/H5VLpublic.h
+include/hdf5-21/H5Zdevelop.h
+include/hdf5-21/H5Zpublic.h
+include/hdf5-21/H5api_adpt.h
+include/hdf5-21/H5overflow.h
+include/hdf5-21/H5pubconf.h
+include/hdf5-21/H5public.h
+include/hdf5-21/H5version.h
+include/hdf5-21/hdf5.h
+include/hdf5-21/hdf5_hl.h
+lib/cmake/hdf5-21/Modules/Findlibaec.cmake
+lib/cmake/hdf5-21/hdf5-config-version.cmake
+lib/cmake/hdf5-21/hdf5-config.cmake
+lib/cmake/hdf5-21/hdf5-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/hdf5-21/hdf5-targets.cmake
+lib/cmake/hdf5-21/hdf5_static-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/hdf5-21/hdf5_static-targets.cmake
+lib/libhdf5-21.a
+lib/libhdf5-21.settings
+lib/libhdf5-21.so
+lib/libhdf5-21.so.320
+lib/libhdf5-21.so.320.1.1
+lib/libhdf5-21_hl.a
+lib/libhdf5-21_hl.so
+lib/libhdf5-21_hl.so.320
+lib/libhdf5-21_hl.so.320.0.2
+lib/libhdf5-21_tools.a
+lib/libhdf5-21_tools.so
+lib/libhdf5-21_tools.so.320
+lib/libhdf5-21_tools.so.320.0.2
+libdata/pkgconfig/hdf5.pc
+libdata/pkgconfig/hdf5_hl.pc
+share/CHANGELOG.md
+share/LICENSE
+share/USING_HDF5_CMake.txt
+@dir %%DATADIR%%-21
+%%FORTRAN%%bin/h5fc-21
+%%FORTRAN%%include/H5config_f.inc
+%%FORTRAN%%include/hdf5-21/H5f90.h
+%%FORTRAN%%include/hdf5-21/H5f90i.h
+%%FORTRAN%%include/hdf5-21/H5f90i_gen.h
+%%FORTRAN%%include/hdf5-21/H5f90proto.h
+%%FORTRAN%%include/hdf5-21/h5_gen.mod
+%%FORTRAN%%include/hdf5-21/h5a.mod
+%%FORTRAN%%include/hdf5-21/h5d.mod
+%%FORTRAN%%include/hdf5-21/h5do.mod
+%%FORTRAN%%include/hdf5-21/h5ds.mod
+%%FORTRAN%%include/hdf5-21/h5e.mod
+%%FORTRAN%%include/hdf5-21/h5es.mod
+%%FORTRAN%%include/hdf5-21/h5f.mod
+%%FORTRAN%%include/hdf5-21/h5fd.mod
+%%FORTRAN%%include/hdf5-21/h5fortkit.mod
+%%FORTRAN%%include/hdf5-21/h5fortran_types.mod
+%%FORTRAN%%include/hdf5-21/h5g.mod
+%%FORTRAN%%include/hdf5-21/h5global.mod
+%%FORTRAN%%include/hdf5-21/h5i.mod
+%%FORTRAN%%include/hdf5-21/h5im.mod
+%%FORTRAN%%include/hdf5-21/h5l.mod
+%%FORTRAN%%include/hdf5-21/h5lib.mod
+%%FORTRAN%%include/hdf5-21/h5lt.mod
+%%FORTRAN%%include/hdf5-21/h5lt_const.mod
+%%FORTRAN%%include/hdf5-21/h5o.mod
+%%FORTRAN%%include/hdf5-21/h5p.mod
+%%FORTRAN%%include/hdf5-21/h5r.mod
+%%FORTRAN%%include/hdf5-21/h5s.mod
+%%FORTRAN%%include/hdf5-21/h5t.mod
+%%FORTRAN%%include/hdf5-21/h5tb.mod
+%%FORTRAN%%include/hdf5-21/h5tb_const.mod
+%%FORTRAN%%include/hdf5-21/h5vl.mod
+%%FORTRAN%%include/hdf5-21/h5z.mod
+%%FORTRAN%%include/hdf5-21/hdf5.mod
+%%FORTRAN%%include/hdf5-21/shared/h5_gen.mod
+%%FORTRAN%%include/hdf5-21/shared/h5a.mod
+%%FORTRAN%%include/hdf5-21/shared/h5d.mod
+%%FORTRAN%%include/hdf5-21/shared/h5do.mod
+%%FORTRAN%%include/hdf5-21/shared/h5ds.mod
+%%FORTRAN%%include/hdf5-21/shared/h5e.mod
+%%FORTRAN%%include/hdf5-21/shared/h5es.mod
+%%FORTRAN%%include/hdf5-21/shared/h5f.mod
+%%FORTRAN%%include/hdf5-21/shared/h5fd.mod
+%%FORTRAN%%include/hdf5-21/shared/h5fortkit.mod
+%%FORTRAN%%include/hdf5-21/shared/h5fortran_types.mod
+%%FORTRAN%%include/hdf5-21/shared/h5g.mod
+%%FORTRAN%%include/hdf5-21/shared/h5global.mod
+%%FORTRAN%%include/hdf5-21/shared/h5i.mod
+%%FORTRAN%%include/hdf5-21/shared/h5im.mod
+%%FORTRAN%%include/hdf5-21/shared/h5l.mod
+%%FORTRAN%%include/hdf5-21/shared/h5lib.mod
+%%FORTRAN%%include/hdf5-21/shared/h5lt.mod
+%%FORTRAN%%include/hdf5-21/shared/h5lt_const.mod
+%%FORTRAN%%include/hdf5-21/shared/h5o.mod
+%%FORTRAN%%include/hdf5-21/shared/h5p.mod
+%%FORTRAN%%include/hdf5-21/shared/h5r.mod
+%%FORTRAN%%include/hdf5-21/shared/h5s.mod
+%%FORTRAN%%include/hdf5-21/shared/h5t.mod
+%%FORTRAN%%include/hdf5-21/shared/h5tb.mod
+%%FORTRAN%%include/hdf5-21/shared/h5tb_const.mod
+%%FORTRAN%%include/hdf5-21/shared/h5vl.mod
+%%FORTRAN%%include/hdf5-21/shared/h5z.mod
+%%FORTRAN%%include/hdf5-21/shared/hdf5.mod
+%%FORTRAN%%include/hdf5-21/static/h5_gen.mod
+%%FORTRAN%%include/hdf5-21/static/h5a.mod
+%%FORTRAN%%include/hdf5-21/static/h5d.mod
+%%FORTRAN%%include/hdf5-21/static/h5do.mod
+%%FORTRAN%%include/hdf5-21/static/h5ds.mod
+%%FORTRAN%%include/hdf5-21/static/h5e.mod
+%%FORTRAN%%include/hdf5-21/static/h5es.mod
+%%FORTRAN%%include/hdf5-21/static/h5f.mod
+%%FORTRAN%%include/hdf5-21/static/h5fd.mod
+%%FORTRAN%%include/hdf5-21/static/h5fortkit.mod
+%%FORTRAN%%include/hdf5-21/static/h5fortran_types.mod
+%%FORTRAN%%include/hdf5-21/static/h5g.mod
+%%FORTRAN%%include/hdf5-21/static/h5global.mod
+%%FORTRAN%%include/hdf5-21/static/h5i.mod
+%%FORTRAN%%include/hdf5-21/static/h5im.mod
+%%FORTRAN%%include/hdf5-21/static/h5l.mod
+%%FORTRAN%%include/hdf5-21/static/h5lib.mod
+%%FORTRAN%%include/hdf5-21/static/h5lt.mod
+%%FORTRAN%%include/hdf5-21/static/h5lt_const.mod
+%%FORTRAN%%include/hdf5-21/static/h5o.mod
+%%FORTRAN%%include/hdf5-21/static/h5p.mod
+%%FORTRAN%%include/hdf5-21/static/h5r.mod
+%%FORTRAN%%include/hdf5-21/static/h5s.mod
+%%FORTRAN%%include/hdf5-21/static/h5t.mod
+%%FORTRAN%%include/hdf5-21/static/h5tb.mod
+%%FORTRAN%%include/hdf5-21/static/h5tb_const.mod
+%%FORTRAN%%include/hdf5-21/static/h5vl.mod
+%%FORTRAN%%include/hdf5-21/static/h5z.mod
+%%FORTRAN%%include/hdf5-21/static/hdf5.mod
+%%FORTRAN%%lib/libhdf5-21_f90cstub.a
+%%FORTRAN%%lib/libhdf5-21_f90cstub.so
+%%FORTRAN%%lib/libhdf5-21_f90cstub.so.320
+%%FORTRAN%%lib/libhdf5-21_f90cstub.so.320.1.1
+%%FORTRAN%%lib/libhdf5-21_fortran.a
+%%FORTRAN%%lib/libhdf5-21_fortran.so
+%%FORTRAN%%lib/libhdf5-21_fortran.so.320
+%%FORTRAN%%lib/libhdf5-21_fortran.so.320.1.1
+%%FORTRAN%%lib/libhdf5-21_hl_f90cstub.a
+%%FORTRAN%%lib/libhdf5-21_hl_f90cstub.so
+%%FORTRAN%%lib/libhdf5-21_hl_f90cstub.so.320
+%%FORTRAN%%lib/libhdf5-21_hl_f90cstub.so.320.0.2
+%%FORTRAN%%lib/libhdf5-21_hl_fortran.a
+%%FORTRAN%%lib/libhdf5-21_hl_fortran.so
+%%FORTRAN%%lib/libhdf5-21_hl_fortran.so.320
+%%FORTRAN%%lib/libhdf5-21_hl_fortran.so.320.0.2
+%%FORTRAN%%libdata/pkgconfig/hdf5_fortran.pc
+%%FORTRAN%%libdata/pkgconfig/hdf5_hl_fortran.pc