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" ; } +}
