diff options
author | Alessandro Barbieri <lssndrbarbieri@gmail.com> | 2020-03-02 08:50:25 +0100 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2020-03-08 14:49:08 +0800 |
commit | 27d655b364e26cfb971d655a691f0ffaef96e8f8 (patch) | |
tree | 20afe997009c3499c242ef5f840c810d15077974 /sci-libs/hdf5 | |
parent | dev-ruby/bson: add 4.8.2 (diff) | |
download | gentoo-27d655b364e26cfb971d655a691f0ffaef96e8f8.tar.gz gentoo-27d655b364e26cfb971d655a691f0ffaef96e8f8.tar.bz2 gentoo-27d655b364e26cfb971d655a691f0ffaef96e8f8.zip |
sci-libs/hdf5: add unsupported useflag
this will allow unsupported combinations of useflags such as MPI +
CXX.
link mpi when using mpi.
Closes: https://bugs.gentoo.org/710986
Closes: https://github.com/gentoo/gentoo/pull/14821
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Diffstat (limited to 'sci-libs/hdf5')
-rw-r--r-- | sci-libs/hdf5/hdf5-1.10.5-r1.ebuild | 106 | ||||
-rw-r--r-- | sci-libs/hdf5/metadata.xml | 1 |
2 files changed, 107 insertions, 0 deletions
diff --git a/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild b/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild new file mode 100644 index 000000000000..ef906aa6eefc --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.10.5-r1.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +FORTRAN_NEEDED="fortran" + +inherit autotools eutils fortran-2 flag-o-matic toolchain-funcs multilib 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="http://www.hdfgroup.org/HDF5/" +SRC_URI="http://www.hdfgroup.org/ftp/HDF5/releases/${MAJOR_P}/${MY_P}/src/${MY_P}.tar.bz2" + +LICENSE="NCSA-HDF" +SLOT="0/${PV%%_p*}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="cxx debug examples fortran +hl mpi szip threads unsupported zlib" + +REQUIRED_USE=" + !unsupported? ( + ?? ( cxx mpi ) + threads? ( !cxx !mpi !fortran !hl ) + )" +RDEPEND=" + mpi? ( virtual/mpi[romio] ) + szip? ( virtual/szip ) + zlib? ( sys-libs/zlib:0= ) +" +DEPEND="${RDEPEND} + sys-devel/libtool:2 + >=sys-devel/autoconf-2.69 +" +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-1.8.9-static_libgfortran.patch" + "${FILESDIR}/${PN}-1.8.9-mpicxx.patch" + "${FILESDIR}/${PN}-1.8.13-no-messing-ldpath.patch" +) + +pkg_setup() { + tc-export CXX CC AR # workaround for bug 285148 + 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" + append-ldflags -lmpi + 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() { + # 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 + sed -e '/^install:/ s/install-examples//' \ + -i Makefile.am || die #409091 + fi + # enable shared libs by default for h5cc config utility + sed -i -e "s/SHLIB:-no/SHLIB:-yes/g" tools/src/misc/h5cc.in || die + hprefixify m4/libtool.m4 + + default + eautomake +} + +src_configure() { + local myconf=( + --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_enable unsupported) + $(use_with szip szlib) + $(use_with threads pthread) + $(use_with zlib) + ) + econf "${myconf[@]}" +} + +src_install() { + default + + # no static archives + find "${D}" -name '*.la' -delete || die +} diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml index 040542a30ae7..2fa4f45de1bb 100644 --- a/sci-libs/hdf5/metadata.xml +++ b/sci-libs/hdf5/metadata.xml @@ -13,5 +13,6 @@ </longdescription> <use> <flag name="hl">Enable high level API (https://support.hdfgroup.org/HDF5/doc/HL/index.html)</flag> + <flag name="unsupported">Enable unsupported combinations of configuration options</flag> </use> </pkgmetadata> |