Compare commits

...

No commits in common. 'i10ce' and 'epel9' have entirely different histories.
i10ce ... epel9

38
.gitignore vendored

@ -1,2 +1,36 @@
SOURCES/hdf5_1.14.4.3+repack-1~exp3.debian.tar.xz
SOURCES/hdf5-1.14.5.tar.gz
hdf5-1.8.5.tar.bz2
/hdf5-1.8.5-patch1.tar.bz2
/hdf5-1.8.6.tar.bz2
/hdf5-1.8.7.tar.bz2
/hdf5-1.8.8.tar.bz2
/hdf5-1.8.9.tar.bz2
/hdf5-1.8.10.tar.bz2
/hdf5-1.8.11.tar.bz2
/hdf5_1.8.10-patch1-1.debian.tar.gz
/hdf5-1.8.12.tar.bz2
/hdf5_1.8.12-1.debian.tar.gz
/hdf5_1.8.12-4.debian.tar.gz
/hdf5-1.8.13.tar.bz2
/hdf5_1.8.12+docs-1.1.debian.tar.xz
/hdf5-1.8.14.tar.bz2
/hdf5_1.8.13+docs-15.debian.tar.xz
/hdf5-1.8.15.tar.bz2
/hdf5_1.8.14+docs-3.debian.tar.xz
/hdf5-1.8.15-patch1.tar.bz2
/hdf5-1.8.16.tar.bz2
/hdf5_1.8.15-patch1+docs-5.debian.tar.xz
/hdf5-1.8.17.tar.bz2
/hdf5_1.8.16+docs-8.debian.tar.xz
/hdf5-1.8.18.tar.bz2
/hdf5-1.8.20.tar.bz2
/hdf5-1.10.3.tar.bz2
/hdf5_1.10.2+repack-1~exp1.debian.tar.xz
/hdf5-1.10.4.tar.bz2
/hdf5_1.10.4+repack-1.debian.tar.xz
/hdf5-1.10.5.tar.bz2
/hdf5-1.10.6.tar.bz2
/hdf5-1.10.7.tar.bz2
/hdf5_1.10.6+repack-2.debian.tar.xz
/hdf5-1.12.0.tar.bz2
/hdf5-1.12.1.tar.bz2
/hdf5_1.12.0+repack-1~exp2.debian.tar.xz

@ -1,2 +0,0 @@
830552f9a2007f0aee945eecfc00a53161da5817 SOURCES/hdf5_1.14.4.3+repack-1~exp3.debian.tar.xz
29ecb629b952fa27992df9ddf05231522793f655 SOURCES/hdf5-1.14.5.tar.gz

@ -1,41 +0,0 @@
diff --git a/java/src/Makefile.am b/java/src/Makefile.am
index aaa4052..0d66096 100644
--- a/java/src/Makefile.am
+++ b/java/src/Makefile.am
@@ -32,8 +32,8 @@ JAVAROOT = .classes
classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
-jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-hdf5_javadir = $(libdir)
+jarfile = $(PACKAGE_TARNAME).jar
+hdf5_javadir = $(prefix)/lib/java
pkgpath = hdf/hdf5lib
CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-2.0.6.jar:$$CLASSPATH
diff --git a/java/test/Makefile.am b/java/test/Makefile.am
index 9f39be9..d58f3cd 100644
--- a/java/test/Makefile.am
+++ b/java/test/Makefile.am
@@ -26,7 +26,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = test
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-2.0.6.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-2.0.6.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)test.jar
diff --git a/java/test/junit.sh.in b/java/test/junit.sh.in
index 0690081..9a784a1 100644
--- a/java/test/junit.sh.in
+++ b/java/test/junit.sh.in
@@ -48,7 +48,7 @@ BLDLIBDIR="$BLDDIR/testlibs"
HDFTEST_HOME="$top_srcdir/java/test"
DUMP_TESTFILES="$top_srcdir/tools/test/h5dump/testfiles"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@test.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR

@ -1,11 +0,0 @@
diff -up hdf5-hdf5_1.14.5/configure.ac.float128 hdf5-hdf5_1.14.5/configure.ac
--- hdf5-hdf5_1.14.5/configure.ac.float128 2024-09-30 08:50:29.000000000 -0600
+++ hdf5-hdf5_1.14.5/configure.ac 2024-10-03 19:17:46.998322936 -0600
@@ -854,6 +854,7 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
if test "$MY_FLT128_DIG" -gt "$MY_LDBL_DIG" ; then
AC_MSG_RESULT([yes])
AC_DEFINE([HAVE_FLOAT128], [1], [Determine if __float128 will be used in the Fortran wrappers])
+ AC_CHECK_SIZEOF([__float128])
else
## Can't use __float128, but write an undef line anyway
AC_MSG_RESULT([no])

@ -0,0 +1,20 @@
--- hdf5-1.12.0/src/Makefile.am~ 2020-02-29 00:29:58.000000000 +0100
+++ hdf5-1.12.0/src/Makefile.am 2021-02-26 16:10:03.612252484 +0100
@@ -156,8 +156,6 @@
# Remove the generated .c file if errors occur unless HDF5_Make_Ignore
# is set to ignore the error.
H5Tinit.c: H5detect$(EXEEXT)
- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
- sed -e 's/-L/:/g' -e 's/ //g'`" \
$(RUNSERIAL) ./H5detect$(EXEEXT) $@ || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)
@@ -168,8 +166,6 @@
# Remove the generated .c file if errors occur unless HDF5_Make_Ignore
# is set to ignore the error.
H5lib_settings.c: H5make_libsettings$(EXEEXT) libhdf5.settings
- LD_LIBRARY_PATH="$$LD_LIBRARY_PATH`echo $(LDFLAGS) | \
- sed -e 's/-L/:/g' -e 's/ //g'`" \
$(RUNSERIAL) ./H5make_libsettings$(EXEEXT) $@ || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
($(RM) $@ ; exit 1)

@ -0,0 +1,145 @@
diff --git a/java/examples/datasets/JavaDatasetExample.sh.in b/java/examples/datasets/JavaDatasetExample.sh.in
index f29739a..fc9cddb 100644
--- a/java/examples/datasets/JavaDatasetExample.sh.in
+++ b/java/examples/datasets/JavaDatasetExample.sh.in
@@ -39,7 +39,7 @@ HDFLIB_HOME="$top_srcdir/java/lib"
BLDDIR="."
BLDLIBDIR="$BLDDIR/testlibs"
HDFTEST_HOME="$top_srcdir/java/examples/datasets"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@datasets.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
diff --git a/java/examples/datasets/Makefile.am b/java/examples/datasets/Makefile.am
index 41a914b..195201a 100644
--- a/java/examples/datasets/Makefile.am
+++ b/java/examples/datasets/Makefile.am
@@ -26,7 +26,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = examples/datasets
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)datasets.jar
diff --git a/java/examples/datatypes/JavaDatatypeExample.sh.in b/java/examples/datatypes/JavaDatatypeExample.sh.in
index e26d8c0..f6a9d87 100644
--- a/java/examples/datatypes/JavaDatatypeExample.sh.in
+++ b/java/examples/datatypes/JavaDatatypeExample.sh.in
@@ -36,7 +36,7 @@ HDFLIB_HOME="$top_srcdir/java/lib"
BLDDIR="."
BLDLIBDIR="$BLDDIR/testlibs"
HDFTEST_HOME="$top_srcdir/java/examples/datatypes"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@datatypes.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
diff --git a/java/examples/datatypes/Makefile.am b/java/examples/datatypes/Makefile.am
index 90790f7..450edef 100644
--- a/java/examples/datatypes/Makefile.am
+++ b/java/examples/datatypes/Makefile.am
@@ -26,7 +26,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = examples/datatypes
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)datatypes.jar
diff --git a/java/examples/groups/JavaGroupExample.sh.in b/java/examples/groups/JavaGroupExample.sh.in
index 3b0e9d1..416c69f 100644
--- a/java/examples/groups/JavaGroupExample.sh.in
+++ b/java/examples/groups/JavaGroupExample.sh.in
@@ -37,7 +37,7 @@ BLDDIR="."
BLDLIBDIR="$BLDDIR/testlibs"
BLDITERDIR="./groups"
HDFTEST_HOME="$top_srcdir/java/examples/groups"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@groups.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
test -d $BLDITERDIR || mkdir -p $BLDITERDIR
diff --git a/java/examples/groups/Makefile.am b/java/examples/groups/Makefile.am
index bfde9ae..f48a5b9 100644
--- a/java/examples/groups/Makefile.am
+++ b/java/examples/groups/Makefile.am
@@ -26,7 +26,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = examples/groups
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)groups.jar
diff --git a/java/examples/intro/JavaIntroExample.sh.in b/java/examples/intro/JavaIntroExample.sh.in
index db741e5..d0ba65d 100644
--- a/java/examples/intro/JavaIntroExample.sh.in
+++ b/java/examples/intro/JavaIntroExample.sh.in
@@ -36,7 +36,7 @@ HDFLIB_HOME="$top_srcdir/java/lib"
BLDDIR="."
BLDLIBDIR="$BLDDIR/testlibs"
HDFTEST_HOME="$top_srcdir/java/examples/intro"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@intro.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR
diff --git a/java/examples/intro/Makefile.am b/java/examples/intro/Makefile.am
index 7d1aeab..01a10c9 100644
--- a/java/examples/intro/Makefile.am
+++ b/java/examples/intro/Makefile.am
@@ -26,7 +26,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = examples/intro
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)intro.jar
diff --git a/java/src/Makefile.am b/java/src/Makefile.am
index 98630e6..fd8d057 100644
--- a/java/src/Makefile.am
+++ b/java/src/Makefile.am
@@ -32,8 +32,8 @@ JAVAROOT = .classes
classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
-jarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
-hdf5_javadir = $(libdir)
+jarfile = $(PACKAGE_TARNAME).jar
+hdf5_javadir = $(prefix)/lib/java
pkgpath = hdf/hdf5lib
CLASSPATH_ENV=CLASSPATH=.:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$$CLASSPATH
diff --git a/java/test/Makefile.am b/java/test/Makefile.am
index 08e79e3..b336c2f 100644
--- a/java/test/Makefile.am
+++ b/java/test/Makefile.am
@@ -26,7 +26,7 @@ classes:
test -d $(@D)/$(JAVAROOT) || $(MKDIR_P) $(@D)/$(JAVAROOT)
pkgpath = test
-hdfjarfile = jar$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).jar
+hdfjarfile = $(PACKAGE_TARNAME).jar
CLASSPATH_ENV=CLASSPATH=.:$(JAVAROOT):$(top_builddir)/java/src/$(hdfjarfile):$(top_srcdir)/java/lib/junit.jar:$(top_srcdir)/java/lib/hamcrest-core.jar:$(top_srcdir)/java/lib/slf4j-api-1.7.25.jar:$(top_srcdir)/java/lib/ext/slf4j-simple-1.7.25.jar:$$CLASSPATH
jarfile = jar$(PACKAGE_TARNAME)test.jar
diff --git a/java/test/junit.sh.in b/java/test/junit.sh.in
index 39db296..83d6c7c 100644
--- a/java/test/junit.sh.in
+++ b/java/test/junit.sh.in
@@ -47,7 +47,7 @@ BLDLIBDIR="$BLDDIR/testlibs"
HDFTEST_HOME="$top_srcdir/java/test"
TOOLS_TESTFILES="$top_srcdir/tools/testfiles"
-JARFILE=jar@PACKAGE_TARNAME@-@PACKAGE_VERSION@.jar
+JARFILE=@PACKAGE_TARNAME@.jar
TESTJARFILE=jar@PACKAGE_TARNAME@test.jar
test -d $BLDLIBDIR || mkdir -p $BLDLIBDIR

@ -0,0 +1,37 @@
commit 3ea6f8c17228d2629e419563138a6180bc4a5a6a
Author: Orion Poplawski <orion@nwra.com>
Date: Sun Jan 30 15:21:08 2022 -0700
Mark minusone as a PARAMETER in tH5A_1_8.F90.
diff --git a/fortran/test/tH5A_1_8.F90 b/fortran/test/tH5A_1_8.F90
index 4e02c58a39..c2f8e9984a 100644
--- a/fortran/test/tH5A_1_8.F90
+++ b/fortran/test/tH5A_1_8.F90
@@ -776,7 +776,7 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
INTEGER :: Input1
INTEGER(HSIZE_T) :: hzero = 0_HSIZE_T
- INTEGER :: minusone = -1
+ INTEGER, PARAMETER :: minusone = -1
INTEGER(HSIZE_T) :: htmp
data_dims = 0
@@ -1427,7 +1427,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
INTEGER :: u ! Local index variable
INTEGER :: Input1
INTEGER(HSIZE_T) :: hzero = 0_HSIZE_T
- INTEGER :: minusone = -1
+ INTEGER, PARAMETER :: minusone = -1
data_dims = 0
@@ -2268,7 +2268,7 @@ SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
INTEGER :: error
INTEGER :: crt_order_flags
- INTEGER :: minusone = -1
+ INTEGER, PARAMETER :: minusone = -1
! Output message about test being performed
! WRITE(*,*) " - Testing Basic Code for Attributes with Creation Order Info"

@ -1,7 +1,6 @@
diff --git a/bin/h5cc.in b/bin/h5cc.in
index 966bb40..c0f813f 100644
--- a/bin/h5cc.in
+++ b/bin/h5cc.in
diff -up hdf5-1.10.7/bin/h5cc.in.wrappers hdf5-1.10.7/bin/h5cc.in
--- hdf5-1.10.7/bin/h5cc.in.wrappers 2020-10-07 20:24:29.127283333 -0600
+++ hdf5-1.10.7/bin/h5cc.in 2020-10-07 20:27:05.289536904 -0600
@@ -89,10 +89,10 @@ CLINKERBASE="@CC@"
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# from the hdf5 build. The order of the flags is intended to give precedence
@ -35,10 +34,9 @@ index 966bb40..c0f813f 100644
status=$?
fi
diff --git a/c++/src/h5c++.in b/c++/src/h5c++.in
index 573d20d..50065e0 100644
--- a/c++/src/h5c++.in
+++ b/c++/src/h5c++.in
diff -up hdf5-1.10.7/c++/src/h5c++.in.wrappers hdf5-1.10.7/c++/src/h5c++.in
--- hdf5-1.10.7/c++/src/h5c++.in.wrappers 2020-08-27 21:38:23.000000000 -0600
+++ hdf5-1.10.7/c++/src/h5c++.in 2020-10-07 20:24:29.126283325 -0600
@@ -87,10 +87,10 @@ CXXLINKERBASE="@CXX@"
# paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in
# from the hdf5 build. The order of the flags is intended to give precedence
@ -52,7 +50,7 @@ index 573d20d..50065e0 100644
+H5BLD_LIBS=
CXX="${HDF5_CXX:-$CXXBASE}"
CXXLINKER="${HDF5_CXXLINKER:-$CXXLINKERBASE}"
CXXLINKER="${HDF5_CLINKER:-$CXXLINKERBASE}"
@@ -103,7 +103,8 @@ LIBS="${HDF5_LIBS:-$LIBSBASE}"
# available library is shared, it will be used by default. The user can
# override either default, although choosing an unavailable library will result
@ -72,10 +70,9 @@ index 573d20d..50065e0 100644
status=$?
fi
diff --git a/fortran/src/h5fc.in b/fortran/src/h5fc.in
index 661fde5..00b5f4b 100644
--- a/fortran/src/h5fc.in
+++ b/fortran/src/h5fc.in
diff -up hdf5-1.10.7/fortran/src/h5fc.in.wrappers hdf5-1.10.7/fortran/src/h5fc.in
--- hdf5-1.10.7/fortran/src/h5fc.in.wrappers 2020-08-27 21:38:23.000000000 -0600
+++ hdf5-1.10.7/fortran/src/h5fc.in 2020-10-07 20:25:53.793962985 -0600
@@ -83,11 +83,11 @@ FLINKERBASE="@FC@"
# libraries in $link_args, followed by any external library paths and libraries
# from AM_LDFLAGS, LDFLAGS, AM_LIBS or LIBS carried in from the hdf5 build.

@ -1,49 +1,43 @@
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
# No more Java on i686
%ifarch %{java_arches}
%bcond_without java
%else
%bcond_with java
%endif
# Patch version?
#global snaprel -beta
## WARNING: Wait for netcdf 4.8.0 !
# NOTE: Try not to release new versions to released versions of Fedora
# You need to recompile all users of HDF5 for each version change
Name: hdf5
Version: 1.14.5
Release: 1%{?dist}
Version: 1.12.1
Release: 7%{?dist}.1
Summary: A general purpose library and file format for storing scientific data
License: BSD-3-Clause
URL: https://www.hdfgroup.org/solutions/hdf5/
Source0: https://github.com/HDFGroup/hdf5/archive/hdf5_%{version}/hdf5-%{version}.tar.gz
License: BSD
URL: https://portal.hdfgroup.org/display/HDF5/HDF5
%global version_main %(echo %version | cut -d. -f-2)
Source0: https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%{version_main}/hdf5-%{version}/src/hdf5-%{version}.tar.bz2
%global so_version 310
%global so_version 200
Source1: h5comp
# For man pages
Source2: http://ftp.us.debian.org/debian/pool/main/h/hdf5/hdf5_1.14.4.3+repack-1~exp3.debian.tar.xz
Source2: http://ftp.us.debian.org/debian/pool/main/h/hdf5/hdf5_1.12.0+repack-1~exp2.debian.tar.xz
Patch0: hdf5-LD_LIBRARY_PATH.patch
# Fix fortran build with gcc 12
# https://github.com/HDFGroup/hdf5/pull/1412
Patch1: hdf5-gfortran12.patch
# Fix java build
Patch0: hdf5-build.patch
# Get size of __float128
# https://github.com/HDFGroup/hdf5/pull/4924
Patch1: hdf5-float128.patch
Patch3: hdf5-build.patch
# Remove Fedora build flags from h5cc/h5c++/h5fc
# https://bugzilla.redhat.com/show_bug.cgi?id=1794625
Patch2: hdf5-wrappers.patch
Patch5: hdf5-wrappers.patch
BuildRequires: gcc-gfortran
%if %{with java}
BuildRequires: java-devel
BuildRequires: javapackages-tools
BuildRequires: hamcrest
BuildRequires: junit
BuildRequires: slf4j
%else
Obsoletes: java-hdf5 < %{version}-%{release}
%endif
BuildRequires: krb5-devel
BuildRequires: openssl-devel
BuildRequires: time
@ -56,18 +50,9 @@ BuildRequires: libtool
BuildRequires: openssh-clients
BuildRequires: libaec-devel
BuildRequires: gcc, gcc-c++
BuildRequires: git-core
%global with_mpich %{undefined flatpak}
%if 0%{?fedora} >= 40
%ifarch %{ix86}
%global with_openmpi 0
%else
%global with_openmpi %{undefined flatpak}
%endif
%else
%global with_openmpi %{undefined flatpak}
%endif
%global with_mpich 1
%global with_openmpi 1
%if %{with_mpich}
%global mpi_list mpich
@ -96,7 +81,6 @@ Requires: gcc-gfortran%{?_isa}
%description devel
HDF5 development headers and libraries.
%if %{with java}
%package -n java-hdf5
Summary: HDF5 java library
Requires: slf4j
@ -104,7 +88,6 @@ Obsoletes: jhdf5 < 3.3.2^
%description -n java-hdf5
HDF5 java library
%endif
%package static
Summary: HDF5 static libraries
@ -180,36 +163,33 @@ HDF5 parallel openmpi static libraries
%prep
%autosetup -a 2 -n %{name}-%{name}_%{version} -p1
%autosetup -a 2 -n %{name}-%{version}%{?snaprel} -p1
%if %{with java}
# Replace jars with system versions
# hamcrest-core is obsoleted in hamcrest-2.2
# Junit tests are failing with junit-4.13.1
%if 0%{?rhel} >= 9 || 0%{?fedora}
%if 0%{?rhel} >= 9 || 0%{?fedora} > 34
find . ! -name junit.jar -name "*.jar" -delete
ln -s $(build-classpath hamcrest) java/lib/hamcrest-core.jar
ln -s %{_javadir}/hamcrest/hamcrest.jar java/lib/hamcrest-core.jar
%else
find . -name "*.jar" -delete
ln -s $(build-classpath hamcrest/core) java/lib/hamcrest-core.jar
ln -s $(build-classpath junit) java/lib/junit.jar
ln -s %{_javadir}/hamcrest/core.jar java/lib/hamcrest-core.jar
ln -s %{_javadir}/junit.jar java/lib/junit.jar
# Fix test output
junit_ver=$(sed -n '/<version>/{s/^.*>\([0-9]\.[0-9.]*\)<.*/\1/;p;q}' /usr/share/maven-poms/junit.pom)
sed -i -e "s/JUnit version .*/JUnit version $junit_ver/" java/test/testfiles/JUnit-*.txt
%endif
ln -s $(build-classpath slf4j/api) java/lib/slf4j-api-2.0.6.jar
ln -s $(build-classpath slf4j/nop) java/lib/ext/slf4j-nop-2.0.6.jar
ln -s $(build-classpath slf4j/simple) java/lib/ext/slf4j-simple-2.0.6.jar
%endif
ln -s %{_javadir}/slf4j/api.jar java/lib/slf4j-api-1.7.25.jar
ln -s %{_javadir}/slf4j/nop.jar java/lib/ext/slf4j-nop-1.7.25.jar
ln -s %{_javadir}/slf4j/simple.jar java/lib/ext/slf4j-simple-1.7.25.jar
# Force shared by default for compiler wrappers (bug #1266645)
sed -i -e '/^STATIC_AVAILABLE=/s/=.*/=no/' */*/h5[cf]*.in
sh ./autogen.sh
autoreconf -f -i
# Modify low optimization level for gnu compilers
sed -e 's|-O -finline-functions|-O3 -finline-functions|g' -i config/gnu-flags
%build
#Do out of tree builds
%global _configure ../configure
@ -236,10 +216,7 @@ ln -s ../configure .
%configure \
%{configure_opts} \
--enable-cxx \
%if %{with java}
--enable-java \
%endif
--with-default-plugindir=%{_libdir}/hdf5/plugin
--enable-java
sed -i -e 's| -shared | -Wl,--as-needed\0|g' libtool
sed -r -i 's|^prefix=/usr|prefix=%{buildroot}/usr|' java/test/junit.sh
%make_build LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now -Wl,--as-needed"
@ -264,8 +241,7 @@ do
--sbindir=%{_libdir}/$mpi/sbin \
--includedir=%{_includedir}/$mpi-%{_arch} \
--datarootdir=%{_libdir}/$mpi/share \
--mandir=%{_libdir}/$mpi/share/man \
--with-default-plugindir=%{_libdir}/$mpi/hdf5/plugin
--mandir=%{_libdir}/$mpi/share/man
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
%make_build LDFLAGS="%{__global_ldflags} -fPIC -Wl,-z,now -Wl,--as-needed"
module purge
@ -276,27 +252,25 @@ done
%install
%make_install -C build
rm %{buildroot}%{_libdir}/*.la
# Fortran modules
#Fortran modules
mkdir -p %{buildroot}%{_fmoddir}
mv %{buildroot}%{_includedir}/*.mod %{buildroot}%{_fmoddir}
# Fix fortran module include dir https://bugzilla.redhat.com/show_bug.cgi?id=1971826
sed -i -e 's,%{_includedir},%{_fmoddir},' %{buildroot}%{_bindir}/h5fc
# Plugin directory
mkdir -p %{buildroot}%{_libdir}/hdf5/plugin
for mpi in %{?mpi_list}
do
module load mpi/$mpi-%{_arch}
%make_install -C $mpi
rm %{buildroot}/%{_libdir}/$mpi/lib/*.la
# Fortran modules
#Fortran modules
mkdir -p %{buildroot}${MPI_FORTRAN_MOD_DIR}
mv %{buildroot}%{_includedir}/${mpi}-%{_arch}/*.mod %{buildroot}${MPI_FORTRAN_MOD_DIR}/
# Fix fortran module include dir https://bugzilla.redhat.com/show_bug.cgi?id=1971826
sed -i -e "s,%{_includedir},${MPI_FORTRAN_MOD_DIR}," %{buildroot}%{_libdir}/$mpi/bin/h5pfc
# Plugin directory
mkdir -p %{buildroot}%{_libdir}/$mpi/hdf5/plugin
module purge
done
#Fixup example permissions
find %{buildroot}%{_datadir} \( -name '*.[ch]*' -o -name '*.f90' \) -exec chmod -x {} +
#Fixup headers and scripts for multiarch
%ifarch x86_64 ppc64 ia64 s390x sparc64 alpha
@ -330,7 +304,6 @@ EOF
# Install man pages from debian
mkdir -p %{buildroot}%{_mandir}/man1
cp -p debian/man/*.1 %{buildroot}%{_mandir}/man1/
rm %{buildroot}%{_mandir}/man1/*gif*
for mpi in %{?mpi_list}
do
mkdir -p %{buildroot}%{_libdir}/$mpi/share/man/man1
@ -338,41 +311,32 @@ do
done
rm %{buildroot}%{_mandir}/man1/h5p[cf]c*.1
%if %{with java}
# Java
mkdir -p %{buildroot}%{_libdir}/%{name}
mv %{buildroot}%{_libdir}/libhdf5_java.so %{buildroot}%{_libdir}/%{name}/
%endif
%check
%ifarch %{ix86} riscv64 s390x
# i686: t_bigio test segfaults - https://github.com/HDFGroup/hdf5/issues/2510
# riscv64: test failed https://github.com/HDFGroup/hdf5/issues/4056
# s390x t_mpi fails with mpich
# s390x: Testing inserting objects to create first direct block in recursive indirect blocks five levels deep*FAILED*
%ifarch s390x
make -C build check || :
fail=0
%else
make -C build check
fail=1
%endif
# This will preserve generated .c files on errors if needed
#export HDF5_Make_Ignore=yes
export OMPI_MCA_rmaps_base_oversubscribe=1
# openmpi 5+
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
# mpich test is taking longer
export HDF5_ALARM_SECONDS=8000
for mpi in %{?mpi_list}
do
# t_pmulti_dset hangs sometimes with mpich-aarch64 so do not test on that architecture
# https://github.com/HDFGroup/hdf5/issues/3768
if [ "$mpi-%{_arch}" != mpich-aarch64 ]
then
module load mpi/$mpi-%{_arch}
make -C $mpi check || exit $fail
module purge
fi
module load mpi/$mpi-%{_arch}
# i686 & s390x mpich - testphdf5: malloc.c:4189: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.
%ifarch armv7hl %{ix86} s390x
make -C $mpi check || :
%else
# Getting extraneous but hopefully harmless UCX output with openmpi
make -C $mpi check || :
%endif
module purge
done
# I have no idea why those get installed. But it's easier to just
@ -386,19 +350,20 @@ if [ %_libdir != /usr/lib ]; then
%{buildroot}/usr/lib/libhdf5*
fi
%ldconfig_scriptlets
%files
%license COPYING
%doc ACKNOWLEDGMENTS README.md release_docs/RELEASE.txt
%doc MANIFEST README.txt release_docs/RELEASE.txt
%doc release_docs/HISTORY*.txt
%{_bindir}/gif2h5
%{_bindir}/h52gif
%{_bindir}/h5clear
%{_bindir}/h5copy
%{_bindir}/h5debug
%{_bindir}/h5diff
%{_bindir}/h5delete
%{_bindir}/h5dump
%{_bindir}/h5format_convert
%{_bindir}/h5fuse
%{_bindir}/h5import
%{_bindir}/h5jam
%{_bindir}/h5ls
@ -409,12 +374,16 @@ fi
%{_bindir}/h5stat
%{_bindir}/h5unjam
%{_bindir}/h5watch
%{_bindir}/mirror_server
%{_bindir}/mirror_server_stop
%{_libdir}/libhdf5.so.%{so_version}*
%{_libdir}/libhdf5_cpp.so.%{so_version}*
%{_libdir}/libhdf5_fortran.so.%{so_version}*
%{_libdir}/libhdf5hl_fortran.so.%{so_version}*
%{_libdir}/libhdf5_hl.so.%{so_version}*
%{_libdir}/libhdf5_hl_cpp.so.%{so_version}*
%{_mandir}/man1/gif2h5.1*
%{_mandir}/man1/h52gif.1*
%{_mandir}/man1/h5copy.1*
%{_mandir}/man1/h5diff.1*
%{_mandir}/man1/h5dump.1*
@ -435,10 +404,10 @@ fi
%{_bindir}/h5fc*
%{_bindir}/h5redeploy
%{_includedir}/*.h
%{_includedir}/*.inc
%{_libdir}/*.so
%{_libdir}/*.settings
%{_fmoddir}/*.mod
%{_datadir}/hdf5_examples/
%{_mandir}/man1/h5c++.1*
%{_mandir}/man1/h5cc.1*
%{_mandir}/man1/h5debug.1*
@ -448,25 +417,23 @@ fi
%files static
%{_libdir}/*.a
%if %{with java}
%files -n java-hdf5
%{_jnidir}/hdf5.jar
%{_libdir}/%{name}/
%endif
%if %{with_mpich}
%files mpich
%license COPYING
%doc README.md release_docs/RELEASE.txt
%doc MANIFEST README.txt release_docs/RELEASE.txt
%doc release_docs/HISTORY*.txt
%{_libdir}/mpich/bin/gif2h5
%{_libdir}/mpich/bin/h52gif
%{_libdir}/mpich/bin/h5clear
%{_libdir}/mpich/bin/h5copy
%{_libdir}/mpich/bin/h5debug
%{_libdir}/mpich/bin/h5delete
%{_libdir}/mpich/bin/h5diff
%{_libdir}/mpich/bin/h5dump
%{_libdir}/mpich/bin/h5format_convert
%{_libdir}/mpich/bin/h5fuse
%{_libdir}/mpich/bin/h5import
%{_libdir}/mpich/bin/h5jam
%{_libdir}/mpich/bin/h5ls
@ -479,8 +446,9 @@ fi
%{_libdir}/mpich/bin/h5stat
%{_libdir}/mpich/bin/h5unjam
%{_libdir}/mpich/bin/h5watch
%{_libdir}/mpich/bin/mirror_server
%{_libdir}/mpich/bin/mirror_server_stop
%{_libdir}/mpich/bin/ph5diff
%{_libdir}/mpich/hdf5/
%{_libdir}/mpich/lib/*.so.%{so_version}*
%files mpich-devel
@ -490,6 +458,7 @@ fi
%{_libdir}/mpich/bin/h5pfc
%{_libdir}/mpich/lib/lib*.so
%{_libdir}/mpich/lib/lib*.settings
%{_libdir}/mpich/share/hdf5_examples/
%{_libdir}/mpich/share/man/man1/h5pcc.1*
%{_libdir}/mpich/share/man/man1/h5pfc.1*
@ -500,16 +469,16 @@ fi
%if %{with_openmpi}
%files openmpi
%license COPYING
%doc README.md release_docs/RELEASE.txt
%doc MANIFEST README.txt release_docs/RELEASE.txt
%doc release_docs/HISTORY*.txt
%{_libdir}/openmpi/bin/gif2h5
%{_libdir}/openmpi/bin/h52gif
%{_libdir}/openmpi/bin/h5clear
%{_libdir}/openmpi/bin/h5copy
%{_libdir}/openmpi/bin/h5debug
%{_libdir}/openmpi/bin/h5delete
%{_libdir}/openmpi/bin/h5diff
%{_libdir}/openmpi/bin/h5dump
%{_libdir}/openmpi/bin/h5format_convert
%{_libdir}/openmpi/bin/h5fuse
%{_libdir}/openmpi/bin/h5import
%{_libdir}/openmpi/bin/h5jam
%{_libdir}/openmpi/bin/h5ls
@ -522,8 +491,9 @@ fi
%{_libdir}/openmpi/bin/h5stat
%{_libdir}/openmpi/bin/h5unjam
%{_libdir}/openmpi/bin/h5watch
%{_libdir}/openmpi/bin/mirror_server
%{_libdir}/openmpi/bin/mirror_server_stop
%{_libdir}/openmpi/bin/ph5diff
%{_libdir}/openmpi/hdf5/
%{_libdir}/openmpi/lib/*.so.%{so_version}*
%files openmpi-devel
@ -533,6 +503,7 @@ fi
%{_libdir}/openmpi/bin/h5pfc
%{_libdir}/openmpi/lib/lib*.so
%{_libdir}/openmpi/lib/lib*.settings
%{_libdir}/openmpi/share/hdf5_examples/
%{_libdir}/openmpi/share/man/man1/h5pcc.1*
%{_libdir}/openmpi/share/man/man1/h5pfc.1*
@ -542,54 +513,8 @@ fi
%changelog
* Tue Dec 24 2024 Dmitriy Samoylik <samoylikdv@msvsphere-os.ru> - 1.14.5-1
- Rebuilt for MSVSphere 10
* Wed Oct 02 2024 Orion Poplawski <orion@nwra.com> - 1.14.3-1
- Update to 1.14.5
- Use SPDX License tag
* Mon Sep 2 2024 Miroslav Suchý <msuchy@redhat.com> - 1.12.1-21
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Feb 29 2024 Liu Yang <Yang.Liu.sn@gmail.com> - 1.12.1-19
- Disable failed tests for riscv64.
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 1.12.1-18
- Rebuilt for java-21-openjdk as system jdk
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Oct 29 2023 Orion Poplawski <orion@nwra.com> - 1.12.1-15
- Rebuild for openmpi 5.0.0, drops support for i686
* Sat Aug 26 2023 Orion Poplawski <orion@nwra.com> - 1.12.1-14
- Apply upstream fix for CVE-2021-37501 buffer overflow in h5dump
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Apr 11 2023 Florian Weimer <fweimer@redhat.com> - 1.12.1-12
- Apply upstream patch to fix C99 compatibility issue
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jul 10 2022 Orion Poplawski <orion@nwra.com> - 1.12.1-9
- Drop java for i686 (bz#2104046)
* Sat Jun 25 2022 Orion Poplawski <orion@nwra.com> - 1.12.1-8
- Define and create default plugin directory
* Fri May 27 2022 Orion Poplawski <orion@nwra.com> - 1.12.1-7.1
- Ignore openmpi test failure for now - should be harmless
* Mon May 9 2022 Orion Poplawski <orion@nwra.com> - 1.12.1-7
- Fix fortran module include dir in h5fc (bz#1971826)

@ -0,0 +1,2 @@
SHA512 (hdf5-1.12.1.tar.bz2) = 158a067ee284ccb9e2c4db12e9d37cf187d90d9ef1bed7a6303e2c3a2fd216d7b13a46c5f46018b097511281c4246156b6f917633ca88872f10f0ad04be285fd
SHA512 (hdf5_1.12.0+repack-1~exp2.debian.tar.xz) = 4c58d3021a634abe79211a6292d105f0ac9f1cc748e5033f8fefa845265e37104a3d6ef91deac51b85a26b5bc426095ca80ea606e1c3b730d3709368f8ffee9c
Loading…
Cancel
Save