From 995c8aefa871da5ad197b29b782ff9e2d1e46e83 Mon Sep 17 00:00:00 2001 From: Sam James Date: Thu, 20 Apr 2023 20:34:45 +0100 Subject: sci-libs/hdf5: fix installed CMake files (exclude temporary include dir for build) Closes: https://bugs.gentoo.org/904515 Closes: https://bugs.gentoo.org/904691 Signed-off-by: Sam James --- .../hdf5/files/hdf5-1.14.0-fix-include-path.patch | 34 ++++++ sci-libs/hdf5/hdf5-1.14.0-r1.ebuild | 120 +++++++++++++++++++++ sci-libs/hdf5/hdf5-1.14.0.ebuild | 119 -------------------- 3 files changed, 154 insertions(+), 119 deletions(-) create mode 100644 sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch create mode 100644 sci-libs/hdf5/hdf5-1.14.0-r1.ebuild delete mode 100644 sci-libs/hdf5/hdf5-1.14.0.ebuild (limited to 'sci-libs') diff --git a/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch b/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch new file mode 100644 index 000000000000..4530f1fa6d2e --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.14.0-fix-include-path.patch @@ -0,0 +1,34 @@ +https://bugs.gentoo.org/904515 +https://github.com/HDFGroup/hdf5/issues/2422 +https://github.com/HDFGroup/hdf5/issues/2621 +https://github.com/HDFGroup/hdf5/pull/2667 +https://github.com/HDFGroup/hdf5/commit/b77cb393b884c1dbdaffb300aa8c4967d9ba7fb0 + +From b77cb393b884c1dbdaffb300aa8c4967d9ba7fb0 Mon Sep 17 00:00:00 2001 +From: jhendersonHDF +Date: Tue, 11 Apr 2023 14:31:25 -0500 +Subject: [PATCH] Fix improper include of build directory (#2422, #2621) + (#2667) + +--- a/configure.ac ++++ b/configure.ac +@@ -3012,8 +3012,7 @@ SUBFILING_VFD=no + HAVE_MERCURY="no" + + ## Always include subfiling directory so public header files are available +-CPPFLAGS="$CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling" +-AM_CPPFLAGS="$AM_CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling" ++H5_CPPFLAGS="$H5_CPPFLAGS -I$ac_abs_confdir/src/H5FDsubfiling" + + AC_MSG_CHECKING([if the subfiling I/O virtual file driver (VFD) is enabled]) + +@@ -3061,8 +3060,7 @@ if test "X$SUBFILING_VFD" = "Xyes"; then + mercury_dir="$ac_abs_confdir/src/H5FDsubfiling/mercury" + mercury_inc="$mercury_dir/src/util" + +- CPPFLAGS="$CPPFLAGS -I$mercury_inc" +- AM_CPPFLAGS="$AM_CPPFLAGS -I$mercury_inc" ++ H5_CPPFLAGS="$H5_CPPFLAGS -I$mercury_inc" + + HAVE_STDATOMIC_H="yes" + AC_CHECK_HEADERS([stdatomic.h],,[HAVE_STDATOMIC_H="no"]) diff --git a/sci-libs/hdf5/hdf5-1.14.0-r1.ebuild b/sci-libs/hdf5/hdf5-1.14.0-r1.ebuild new file mode 100644 index 000000000000..8d4d4bf40680 --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.14.0-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2023 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 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib" +RESTRICT="!test? ( test )" +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-strip-symbols.patch + "${FILESDIR}"/${PN}-1.14.0-fix-include-path.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 test tests) \ + $(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" ; } +} diff --git a/sci-libs/hdf5/hdf5-1.14.0.ebuild b/sci-libs/hdf5/hdf5-1.14.0.ebuild deleted file mode 100644 index d69a56ff0f16..000000000000 --- a/sci-libs/hdf5/hdf5-1.14.0.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2023 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 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="cxx debug examples fortran +hl mpi szip test threads unsupported zlib" -RESTRICT="!test? ( test )" -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-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) \ - --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 test tests) \ - $(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" ; } -} -- cgit v1.2.3-65-gdbad