commit:     190df0ab054369a109eaa566e2503213ecb0e326
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 21 19:33:46 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun 21 19:34:29 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=190df0ab

sci-libs/hdf5: update EAPI 7 -> 8; drop back to autotools

Bug: https://github.com/HDFGroup/hdf5/issues/1814
Closes: https://bugs.gentoo.org/665378
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../hdf5/files/hdf5-1.12.2-no-messing-ldpath.patch |  20 ++++
 .../hdf5/files/hdf5-1.12.2-no-strip-symbols.patch  |  16 +++
 sci-libs/hdf5/hdf5-1.12.2-r3.ebuild                | 108 +++++++++++++++++++++
 3 files changed, 144 insertions(+)

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/hdf5-1.12.2-r3.ebuild 
b/sci-libs/hdf5/hdf5-1.12.2-r3.ebuild
new file mode 100644
index 000000000000..1a00c0b61e8b
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.12.2-r3.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2022 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 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 
~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran +hl mpi szip threads zlib"
+REQUIRED_USE="
+       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
+)
+
+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) \
+               $(use_enable cxx) \
+               $(use_enable debug codestack) \
+               $(use_enable fortran) \
+               $(use_enable hl) \
+               $(use_enable mpi parallel) \
+               $(use_enable threads threadsafe) \
+               $(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
+}

Reply via email to