summaryrefslogtreecommitdiff
path: root/sci-libs/hdf5
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/hdf5
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/hdf5')
-rw-r--r--sci-libs/hdf5/Manifest9
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.13-no-messing-ldpath.patch21
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch43
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.9-mpicxx.patch16
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.9-static_libgfortran.patch15
-rw-r--r--sci-libs/hdf5/hdf5-1.8.18.ebuild111
-rw-r--r--sci-libs/hdf5/metadata.xml20
7 files changed, 235 insertions, 0 deletions
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 <string.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <unistd.h>
+
+ /* end standard C headers. */
+
+--- a/hl/src/H5LTanalyze.l
++++ b/hl/src/H5LTanalyze.l
+@@ -16,6 +16,7 @@
+ %{
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <hdf5.h>
+ #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 <stddef.h>
+ #endif
+ #ifdef H5_HAVE_PARALLEL
++# define OMPI_SKIP_MPICXX /* Make sure that cxx specific headers are not included */
++# define MPICH_SKIP_MPICXX
+ # include <mpi.h>
+ #ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */
+ # include <mpio.h>
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription>
+ 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.
+</longdescription>
+ <use>
+ <flag name="fortran2003">Enable new features that require Fortran 2003
+ (http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf)</flag>
+ <flag name="hl">Enable high level API
+ (https://support.hdfgroup.org/HDF5/doc/HL/index.html)</flag>
+ </use>
+</pkgmetadata>