commit:     721de47c5eb243f1c3a70a09ad0ece60971ce5d0
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  8 16:49:56 2025 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Mon Sep  8 17:21:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=721de47c

sci-libs/hdf5: restore one old version for revdep

Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 sci-libs/hdf5/Manifest                             |   1 +
 .../hdf5/files/hdf5-1.12.2-configure-clang16.patch |  30 ++++++
 .../hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch |  20 ++++
 .../hdf5/files/hdf5-1.12.2-no-strip-symbols.patch  |  16 +++
 .../hdf5/files/hdf5-1.8.9-static_libgfortran.patch |  15 +++
 sci-libs/hdf5/hdf5-1.12.2-r6.ebuild                | 119 +++++++++++++++++++++
 6 files changed, 201 insertions(+)

diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
index 4dd96739839f..67c6ba4faaab 100644
--- a/sci-libs/hdf5/Manifest
+++ b/sci-libs/hdf5/Manifest
@@ -1,2 +1,3 @@
+DIST hdf5-1.12.2.tar.bz2 10494264 BLAKE2B 
99ca5b57f6f54fa044c909f0773de62b218c1f0ec3c011f88f3c227536dd719e77ddbe42d562b1214e8843e41d8fc56db499d7f122876fdd36ef31b235229cb7
 SHA512 
cbb4663570de76b11adb6bf62cfdb754371d31eeab04691479a5764a45207a9c1309665ab80f51c63a4b9b87354f9cbe6835cef506a9fd554d142c6d2bec21e5
 DIST hdf5-1.14.4-3.tar.gz 37007795 BLAKE2B 
f71ba86da65337c3ff30c733760adea56a0ace05b4ac1c0060febb85f45a586ec47cc99828f1199e4e02fd5e2f4329ace450c62a3290f6341d21ec9e30cc59fd
 SHA512 
667a40703b4e330db32d3ede48247781019414426d2949aabf2036089155bc7f2167fbc8b8c78b76286d8369d1f3c9bdd66049d3e4eda2c234ef751df9cc597a
 DIST hdf5-1.14.6.tar.gz 39289609 BLAKE2B 
c604384c0d98ce092ac59a67ec5baf3d593548d37defa0fd29b676dd0837e321fff937368edb50591ac8841116648e41ed8505611518a2c914a380191a7c0388
 SHA512 
d93194ad8f48acf110aae317f4c37104b9042f89ef72919aac887817e4c2713449c4cb2ab6a163c61ab1c12811170d7611cdf69322b0e0f96420fcc7f99fdd67

diff --git a/sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch 
b/sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch
new file mode 100644
index 000000000000..f341fa99ddac
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.12.2-configure-clang16.patch
@@ -0,0 +1,30 @@
+https://github.com/HDFGroup/hdf5/commit/9dd36f016a4316b94f5df15856d228de01d304c6
+
+From 9dd36f016a4316b94f5df15856d228de01d304c6 Mon Sep 17 00:00:00 2001
+From: Ryan Schmidt <[email protected]>
+Date: Thu, 17 Nov 2022 16:28:44 -0600
+Subject: [PATCH] Simplify & fix check for szlib encoder (#2263)
+
+Return the result rather than setting the exit code. "return" is a
+language keyword whereas "exit" is a function for which the <stdlib.h>
+header has to be included which it wasn't in this test, therefore the
+test would previously fail to identify that the encoder was enabled if
+"-Werror=implicit-function-declaration" was used, which it is by default
+with clang from Xcode 12 and later.
+
+Fixes #2262
+--- a/configure.ac
++++ b/configure.ac
+@@ -1737,10 +1737,7 @@ if test "x$HAVE_SZLIB" = "xyes" -a "x$HAVE_SZLIB_H" = 
"xyes"; then
+                 #include "szlib.h"
+             ],[[
+                 /* SZ_encoder_enabled returns 1 if encoder is present */
+-                if(SZ_encoder_enabled() == 1)
+-                    exit(0);
+-                else
+-                    exit(1);
++                return SZ_encoder_enabled() != 1;
+             ]])]
+         , [hdf5_cv_szlib_can_encode=yes], [hdf5_cv_szlib_can_encode=no],)]
+    )
+

diff --git a/sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch 
b/sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch
new file mode 100644
index 000000000000..b8585fc647f6
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch
@@ -0,0 +1,20 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -159,8 +159,6 @@ settings_DATA=libhdf5.settings
+ # 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)
+@@ -171,8 +169,6 @@ H5Tinit.c: H5detect$(EXEEXT)
+ # 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)

diff --git a/sci-libs/hdf5/files/hdf5-1.12.2-no-strip-symbols.patch 
b/sci-libs/hdf5/files/hdf5-1.12.2-no-strip-symbols.patch
new file mode 100644
index 000000000000..0f3bf3981fa7
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.12.2-no-strip-symbols.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/665378
+--- a/configure.ac
++++ b/configure.ac
+@@ -2368,9 +2368,9 @@ case "X-$SYMBOLS" in
+     AC_MSG_RESULT([yes])
+     ;;
+   X-no)
+-    H5_CFLAGS="$H5_CFLAGS $NO_SYMBOLS_CFLAGS"
+-    H5_CXXFLAGS="$H5_CXXFLAGS $NO_SYMBOLS_CXXFLAGS"
+-    H5_FCFLAGS="$H5_FCFLAGS $NO_SYMBOLS_FCFLAGS"
++    H5_CFLAGS="$H5_CFLAGS"
++    H5_CXXFLAGS="$H5_CXXFLAGS"
++    H5_FCFLAGS="$H5_FCFLAGS"
+     AC_MSG_RESULT([no])
+     ;;
+   *)

diff --git a/sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch 
b/sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch
new file mode 100644
index 000000000000..f87ccdd08f7a
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch
@@ -0,0 +1,15 @@
+Make sure that during runtime we'll use the same libgfortran as during linking
+
+https://bugs.gentoo.org/show_bug.cgi?id=419991
+https://bugs.gentoo.org/show_bug.cgi?id=419895
+
+--- a/fortran/src/Makefile.am
++++ b/fortran/src/Makefile.am
+@@ -181,6 +181,7 @@
+ else
+   H5test_kind_SOURCES = $(srcdir)/H5test_kind.f90
+ endif
++H5test_kind_LDFLAGS=-static-libgfortran
+ 
+ # Mark this directory as part of the Fortran API
+ FORTRAN_API=yes

diff --git a/sci-libs/hdf5/hdf5-1.12.2-r6.ebuild 
b/sci-libs/hdf5/hdf5-1.12.2-r6.ebuild
new file mode 100644
index 000000000000..b061dcd3a0a8
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.12.2-r6.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+
+# We've reverted *back* to autotools from CMake because of
+# https://github.com/HDFGroup/hdf5/issues/1814.
+inherit autotools fortran-2 flag-o-matic toolchain-funcs prefix
+
+MY_P=${PN}-${PV/_p/-patch}
+MAJOR_P=${PN}-$(ver_cut 1-2)
+
+DESCRIPTION="General purpose library and file format for storing scientific 
data"
+HOMEPAGE="https://www.hdfgroup.org/HDF5/";
+SRC_URI="https://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2";
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 ~sparc 
x86 ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran +hl mpi szip threads unsupported zlib"
+REQUIRED_USE="
+       !unsupported? (
+               cxx? ( !mpi ) mpi? ( !cxx )
+               threads? ( !cxx !mpi !fortran !hl )
+       )
+"
+
+RDEPEND="
+       mpi? ( virtual/mpi[romio] )
+       szip? ( virtual/szip )
+       zlib? ( sys-libs/zlib:0= )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.8.9-static_libgfortran.patch
+       "${FILESDIR}"/${PN}-1.12.2-no-messing-ldpath.patch
+       "${FILESDIR}"/${PN}-1.12.2-no-strip-symbols.patch
+       "${FILESDIR}"/${PN}-1.12.2-configure-clang16.patch
+)
+
+pkg_setup() {
+       # Workaround for bug 285148
+       tc-export CXX CC AR
+
+       use fortran && fortran-2_pkg_setup
+
+       if use mpi; then
+               if has_version 'sci-libs/hdf5[-mpi]'; then
+                       ewarn "Installing hdf5 with mpi enabled with a previous 
hdf5 with mpi disabled may fail."
+                       ewarn "Try to uninstall the current hdf5 prior to 
enabling mpi support."
+               fi
+
+               export CC=mpicc
+               use fortran && export FC=mpif90
+       elif has_version 'sci-libs/hdf5[mpi]'; then
+               ewarn "Installing hdf5 with mpi disabled while having hdf5 
installed with mpi enabled may fail."
+               ewarn "Try to uninstall the current hdf5 prior to disabling mpi 
support."
+       fi
+}
+
+src_prepare() {
+       default
+
+       # Respect Gentoo examples directory
+       sed \
+               -e "s:hdf5_examples:doc/${PF}/examples:g" \
+               -i $(find . -name Makefile.am) $(find . -name "run*.sh.in") || 
die
+       sed \
+               -e '/docdir/d' \
+               -i config/commence.am || die
+
+       if ! use examples; then
+               # bug #409091
+               sed -e '/^install:/ s/install-examples//' \
+                       -i Makefile.am || die
+       fi
+
+       # Enable shared libs by default for h5cc config utility
+       sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" bin/h5cc.in || die
+       hprefixify m4/libtool.m4
+
+       eautoreconf
+}
+
+src_configure() {
+       # bug #686620
+       use sparc && tc-is-gcc && append-flags -fno-tree-ccp
+
+       econf \
+               --disable-static \
+               --enable-deprecated-symbols \
+               --enable-build-mode=$(usex debug debug production) \
+               
--with-default-plugindir="${EPREFIX}/usr/$(get_libdir)/${PN}/plugin" \
+               $(use_enable cxx) \
+               $(use_enable debug codestack) \
+               $(use_enable fortran) \
+               $(use_enable hl) \
+               $(use_enable mpi parallel) \
+               $(use_enable threads threadsafe) \
+               $(use_enable unsupported) \
+               $(use_with szip szlib) \
+               $(use_with threads pthread) \
+               $(use_with zlib)
+}
+
+src_install() {
+       emake DESTDIR="${D}" EPREFIX="${EPREFIX}" install
+
+       # No static archives
+       find "${ED}" -name '*.la' -delete || die
+
+       # Remove "perf" executable due to file collisions with dev-util/perf.
+       # Previously with the CMake build system we only installed h5perf, so
+       # let's simply remove the file for now.
+       use mpi && { rm "${ED}"/usr/bin/perf || die "rm failed" ; }
+}

Reply via email to