From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sci-libs/hdf5/Manifest | 9 ++ .../hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch | 21 ++++ sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch | 43 ++++++++ sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch | 16 +++ .../hdf5/files/hdf5-1.8.9-static_libgfortran.patch | 15 +++ sci-libs/hdf5/hdf5-1.8.18.ebuild | 111 +++++++++++++++++++++ sci-libs/hdf5/metadata.xml | 20 ++++ 7 files changed, 235 insertions(+) create mode 100644 sci-libs/hdf5/Manifest create mode 100644 sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch create mode 100644 sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch create mode 100644 sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch create mode 100644 sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch create mode 100644 sci-libs/hdf5/hdf5-1.8.18.ebuild create mode 100644 sci-libs/hdf5/metadata.xml (limited to 'sci-libs/hdf5') diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest new file mode 100644 index 000000000000..7d98e0e96c4e --- /dev/null +++ b/sci-libs/hdf5/Manifest @@ -0,0 +1,9 @@ +AUX hdf5-1.8.13-no-messing-ldpath.patch 1141 SHA256 cec0d9c73a0f4611c3453190a2c01ad7dce4c62feea6e0a7cd79a93c84f43e62 SHA512 e43021ceb83909ab06ba378363c192aa0f1b34cc7c2b121f5000e215516dbdea1b825a53ac4023073bf4870a5c3452c22f5535391d95af45ad63a309e1ffa5a4 WHIRLPOOL d0e75d8a05e13385aedd075cf96380a10dfeffaace5d5a8ba4926a5f7ed583bf36e17583dba6110a1ddbcf2652bed15b902a57ec157fb30412a2fd3b87a303a3 +AUX hdf5-1.8.15-implicits.patch 1050 SHA256 2b348408942b14bb272caa94eee07b7b399c6e9396e2afb1dfc51b99ab679cfa SHA512 e3cfc3e3c01b8eafe426a3ebb87a4880d326b88d15897ce6d50b47456d69c0ef0888ad7f839928eb1fd283eb617f63869c2051d46669986bb5ed30afa6181088 WHIRLPOOL b80c2cfcf1a499c7a39a89770c6e5159834f8fd170d812ffed91bb25d49a43f17a9a656659795a0b58f65b9809e22424602de680344694e059b4174970911183 +AUX hdf5-1.8.9-mpicxx.patch 494 SHA256 b8412a94dcc88b520f28ea119694dd3037ab6bd2c2bc064ab0ab868b1eb970bb SHA512 8b4c39e40591860652547ea8ff205230da7d67488233e911cbcb3416eab561f2529c65bc5e7c9c812bf4298812346f47f9209e5f69f7e8f66ad587306a5b477b WHIRLPOOL a345a591813303a0ee87f08de2b9b96a2e80246be671dc7854307767abdc6f6db9684a7c298478090ef4e5bd9d2891e1f097cd77bae736bd39b6353c26bd80ea +AUX hdf5-1.8.9-static_libgfortran.patch 429 SHA256 7802a4535f456c951fb4162850edd53f667ac29fc4838fce960a18f23d2dfc0d SHA512 af97c54469a90bf3b0e8ec1218d4ca95822ac0cbc7120114979fc467fe3114743c74f4d4e16f0c10b1cd82d40880ef482f6fd34e1effc7c621b981ad466204f9 WHIRLPOOL 08e6f90b86ee3020eab9c3e02caf315ff77b57365f96175c1aea6c52b254dd59d2e7bf647a6458ef51147fdb3a20622bd31bdbc82e69b0bbb689178edb6768f4 +DIST hdf5-1.8.18.tar.bz2 10081294 SHA256 01c6deadf4211f86922400da82c7a8b5b50dc8fc1ce0b5912de3066af316a48c SHA512 01f6d14bdd3be2ced9c63cc9e1820cd7ea11db649ff9f3a3055c18c4b0fffe777fd23baad536e3bce31c4d76fe17db64a3972762e1bb4d232927c1ca140e72b2 WHIRLPOOL c1ea97aa30ded9f3129edf47cfda3b7e371aa21fcb2fc409005818f69ed0f0ac41a19e28ec38a5da2c417ef98033f197292169c88f7db81dd94244b016ab2595 +EBUILD hdf5-1.8.18.ebuild 3366 SHA256 4eb3c4384e24d6abc328cea0c85d8e4ad27ca537a7cb43886a03c08ceed0ab71 SHA512 54e66dc074fd9b0fe9ad23f23234fc20e79c6ed9e9759d6964cb8e4d3e79321c08b4539a814f2fae2c935bb9358549115a884b8f55719fb77744fd26ad680867 WHIRLPOOL dc1f99be5353e2933aadcbd6f789db6a5e4f2729d5118793354f21bf0658337f07b6f18be364875af2f64ea3594a298463a11e939b46ed7cfb47698bf1daf027 +MISC ChangeLog 4944 SHA256 d0c84472a1090cd6e3571ab1c2e9a1c6ae6779cb7b95a27870f1d658506ea3ed SHA512 67dac36eac6b8485bad4405fe88b1ace692429ed1b05202cda59439ebad2429f351287559029bdd0aaaeabe59ed83bc31b8313ed2ba78bbbb16769b43ed4d717 WHIRLPOOL e7e5bd3527aa16cef5741cdfe0ea416cdaf7a9e40cb48a6d90ff40db2e825e748e58f8346ab81379678c35a0a47559a0fb813157c2e280a16a0e4e0d00b124ea +MISC ChangeLog-2015 23886 SHA256 8182cdba0602b72a314930a8dc9f76649a065b7e2377461d2db81735b5e5e82c SHA512 538ba6ef68d8af232c03c2fa5e4295bae8bd91678062a31aa0ad802ddc1f9f86c6bd1d0d97ad0ffbc116727e75d2f3f0b27f3b9afada1b51b36b94518b85f9b0 WHIRLPOOL efbfc52b7bf7ba50755ba464a510759bedcdc34164259ed74a11a20de5cabcfce1eb79875c078c4aa75ef2b2f99ecc46816fa2871136892644db6e7b957b0fd1 +MISC metadata.xml 822 SHA256 c44ff6a909f6e7e7b6191574ab7c4352d778052b612ae81f7d19172a8aa87d2e SHA512 5e6cb47fcf2e704887a375f527b447075a36a51225cc2bdf10892bff5cce548599dd6f04a36ae2e31f691bd635dd6cc5d1455729e05923a8992d95fb27716164 WHIRLPOOL a40f07570191840605716769cd5df110594c99378900d1e7902bea63053c9554e1c9f8f674d530d60035726a095637f96efa3cd56199298f0b24508b99213b9b diff --git a/sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch b/sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch new file mode 100644 index 000000000000..82bc5d8b120a --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch @@ -0,0 +1,21 @@ +Prevent build system with messing up LD_LIBRARY_PATH +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -125,8 +125,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) +@@ -137,8 +135,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.8.15-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch new file mode 100644 index 000000000000..72e096170975 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch @@ -0,0 +1,43 @@ +--- a/hl/src/H5LTanalyze.c ++++ b/hl/src/H5LTanalyze.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + /* end standard C headers. */ + +--- a/hl/src/H5LTanalyze.l ++++ b/hl/src/H5LTanalyze.l +@@ -16,6 +16,7 @@ + %{ + #include + #include ++#include + #include + #include "H5LTparse.h" + +--- a/test/cache_common.h ++++ b/test/cache_common.h +@@ -702,5 +702,8 @@ void validate_mdc_config(hid_t file_id, + hbool_t compare_init, + int test_num); + ++hbool_t resize_configs_are_equal(const H5C_auto_size_ctl_t *a, ++ const H5C_auto_size_ctl_t *b, ++ hbool_t compare_init); + #endif /* _CACHE_COMMON_H */ + +--- a/testpar/t_span_tree.c ++++ b/testpar/t_span_tree.c +@@ -37,6 +37,9 @@ + #include "hdf5.h" + #include "H5private.h" + #include "testphdf5.h" ++#define H5S_PACKAGE ++#define H5S_TESTING ++#include "H5Spkg.h" + + + static void coll_write_test(int chunk_factor); diff --git a/sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch b/sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch new file mode 100644 index 000000000000..28f554c0c592 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch @@ -0,0 +1,16 @@ +Prevent accidental inclusion of mpi c++ headers +when hdf5.h is included third party library + +https://bugs.gentoo.org/show_bug.cgi?id=420777 + +--- a/src/H5public.h ++++ b/src/H5public.h +@@ -58,6 +58,8 @@ + # include + #endif + #ifdef H5_HAVE_PARALLEL ++# define OMPI_SKIP_MPICXX /* Make sure that cxx specific headers are not included */ ++# define MPICH_SKIP_MPICXX + # include + #ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ + # include 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.8.18.ebuild b/sci-libs/hdf5/hdf5-1.8.18.ebuild new file mode 100644 index 000000000000..4057134a614e --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.8.18.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils eutils fortran-2 flag-o-matic toolchain-funcs multilib + +MY_P=${PN}-${PV/_p/-patch} + +DESCRIPTION="General purpose library and file format for storing scientific data" +HOMEPAGE="http://www.hdfgroup.org/HDF5/" +#SRC_URI="https://support.hdfgroup.org/ftp/HDF5/releases/${MY_P}/src/${MY_P}.tar.bz2" +# TODO: return to proper SRC_URI once upstream fixes their release +SRC_URI="https://support.hdfgroup.org/ftp/HDF5/current18/src/${MY_P}.tar.bz2" + +LICENSE="NCSA-HDF" +SLOT="0/${PV%%_p*}" +KEYWORDS="alpha amd64 ~arm ~arm64 ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="cxx debug examples fortran fortran2003 +hl mpi static-libs szip threads zlib" + +REQUIRED_USE=" + threads? ( !cxx !mpi !fortran !hl ) + fortran2003? ( fortran )" + +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 + "${FILESDIR}"/${PN}-1.8.15-implicits.patch +) + +pkg_setup() { + tc-export CXX CC AR # workaround for bug 285148 + if use fortran; then + use fortran2003 && FORTRAN_STANDARD=2003 + fortran-2_pkg_setup + fi + 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 + if use cxx ; then + export CXX=mpicxx + ewarn "USE='mpi cxx' requires a configuration unsupported by upstream. Use at your own risk." + ewarn "In particular, the C++ API is not parallel safe." + fi + 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/misc/h5cc.in || die + # bug #419677 + use prefix && \ + append-ldflags -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir) \ + -Wl,-rpath,"${EPREFIX}"/$(get_libdir) + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + --enable-production + --docdir="${EPREFIX}"/usr/share/doc/${PF} + --enable-deprecated-symbols + $(use_enable prefix sharedlib-rpath) + $(use_enable debug debug all) + $(use_enable debug codestack) + $(use_enable cxx) + $(use_enable fortran) + $(use_enable fortran2003) + $(use_enable hl) + $(use_enable mpi parallel) + $(use_enable threads threadsafe) + $(use_with szip szlib) + $(use_with threads pthread) + $(use_with zlib) + $(use mpi && use cxx && echo --enable-unsupported) + ) + autotools-utils_src_configure +} diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml new file mode 100644 index 000000000000..9c9d5071aa84 --- /dev/null +++ b/sci-libs/hdf5/metadata.xml @@ -0,0 +1,20 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + HDF5 is a file format and library for storing scientific data. HDF5 + was designed and implemented to address the deficiencies of HDF4.x. It + has a more powerful and flexible data model, supports files larger + than 2 GB, and supports parallel I/O. + + + Enable new features that require Fortran 2003 + (http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf) + Enable high level API + (https://support.hdfgroup.org/HDF5/doc/HL/index.html) + + -- cgit v1.2.3