summaryrefslogtreecommitdiff
path: root/sci-libs/hdf5
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/hdf5
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/hdf5')
-rw-r--r--sci-libs/hdf5/Manifest2
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch33
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10-comments.patch42
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch54
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch29
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch35
-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.14-implicits.patch55
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch20
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.15-implicits.patch43
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch22
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch33
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch85
-rw-r--r--sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch55
-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/files/mpd.conf2
-rw-r--r--sci-libs/hdf5/hdf5-1.8.14-r1.ebuild105
-rw-r--r--sci-libs/hdf5/hdf5-1.8.15_p1.ebuild104
-rw-r--r--sci-libs/hdf5/metadata.xml19
20 files changed, 790 insertions, 0 deletions
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
new file mode 100644
index 00000000000..c97b11d81cc
--- /dev/null
+++ b/sci-libs/hdf5/Manifest
@@ -0,0 +1,2 @@
+DIST hdf5-1.8.14.tar.bz2 9503743 SHA256 53722cb9f5977af2908f92fc1a3f8c597800a5cb448cfe5c75060d6335bb9bab SHA512 c4f0bb01df7bef9cd29c42ec2e27f4bd27c3e059cf18f1285c583e92b94ef799f8a29ec85c17bab12e47a69626851fbda4b8d74543266b01aa2cffc42cde4fea WHIRLPOOL 646d44d446e2bd2855567046ca00f302e02d39880a77f2d75fd6231ad74692c07910c8670ffa5e02f2922e4e28c5a4afd06f907ac5950615dd328c3e7346f578
+DIST hdf5-1.8.15-patch1.tar.bz2 10006036 SHA256 a5afc630c4443547fff15e9637b5b10404adbed4c00206d89517d32d6668fb32 SHA512 380c06f3cab469351d6ddc940c7cdffd5bd20a74e69cb4d549989bec5f130dadae11c04928ead7eea0200a175fc45a042d068a752d8a9c19a35c3a6912a147bd WHIRLPOOL 0c4c918eea3b70a2c4dea2098f24ddb612af6bf026749144dae19380f60de9d4123acd3c4bf324a1a313e4fae1d7874de48afd9e6720bbcc3c4f1fb1c1bc0288
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch b/sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch
new file mode 100644
index 00000000000..58bcc500165
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10-buildsystem.patch
@@ -0,0 +1,33 @@
+Prevent build system with messing up LD_LIBRARY_PATH
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -2331,8 +2331,6 @@ AC_TRY_COMPILE(,[
+ ##
+ AC_MSG_CHECKING([how to print long long])
+ AC_CACHE_VAL([hdf5_cv_printf_ll], [
+-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
+-export LD_LIBRARY_PATH
+
+ for hdf5_cv_printf_ll in l ll L q unknown; do
+ AC_TRY_RUN([
+--- 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.10-comments.patch b/sci-libs/hdf5/files/hdf5-1.8.10-comments.patch
new file mode 100644
index 00000000000..845bd81bdd8
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10-comments.patch
@@ -0,0 +1,42 @@
+Convert // comment marks to /**/ in order to fix FTBS on ia64
+
+https://bugs.gentoo.org/show_bug.cgi?id=447740
+
+Patch written by Kacper Kowalik <xarthisius@gentoo.org>
+--- a/test/th5s.c
++++ b/test/th5s.c
+@@ -730,8 +730,8 @@ test_h5s_zero_dim(void)
+ ret = H5Pset_chunk(plist_id, SPACE1_RANK, chunk_dims);
+ CHECK(ret, FAIL, "H5Pset_chunk");
+
+- // ret = H5Pset_alloc_time(plist_id, alloc_time);
+- // CHECK(ret, FAIL, "H5Pset_alloc_time");
++ /* ret = H5Pset_alloc_time(plist_id, alloc_time);
++ CHECK(ret, FAIL, "H5Pset_alloc_time"); */
+
+ dset1 = H5Dcreate2(fid1, BASICDATASET1, H5T_NATIVE_INT, sid_chunk, H5P_DEFAULT, plist_id, H5P_DEFAULT);
+ CHECK(dset1, FAIL, "H5Dcreate2");
+--- a/tools/h5dump/h5dump_ddl.c
++++ b/tools/h5dump/h5dump_ddl.c
+@@ -1341,8 +1341,8 @@ handle_attributes(hid_t fid, const char *attr, void UNUSED * data, int UNUSED pe
+ string_dataformat.do_escape = display_escape;
+ outputformat = &string_dataformat;
+
+- //attr_name = attr + j + 1;
+- // need to replace escape characters
++ /* attr_name = attr + j + 1; */
++ /* need to replace escape characters */
+ attr_name = h5tools_str_replace(attr + j + 1, "\\/", "/");
+
+
+--- a/tools/lib/h5tools_str.c
++++ b/tools/lib/h5tools_str.c
+@@ -632,7 +632,7 @@ h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
+ h5tools_str_append(str, "%s", OPT(info->line_indent, ""));
+ }
+
+-// ctx->need_prefix = 0;
++ /* ctx->need_prefix = 0; */
+ }
+
+ /*-------------------------------------------------------------------------
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch
new file mode 100644
index 00000000000..a0b59b74e70
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10-implicits.patch
@@ -0,0 +1,54 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1494,6 +1494,9 @@ case "$host_cpu-$host_vendor-$host_os" in
+ ## however, we do not do this since it breaks the big test on some
+ ## older platforms.
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ dnl _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -49,6 +49,7 @@
+ #define YY_FLEX_MINOR_VERSION 5
+
+ #include <stdio.h>
++#include "H5pubconf.h"
+ #ifdef H5_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,9 @@ 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/tools/h5repack/testh5repack_detect_szip.c
++++ b/tools/h5repack/testh5repack_detect_szip.c
+@@ -18,6 +18,7 @@
+ #include "h5tools.h"
+ #include "h5tools_utils.h"
+ #include "h5test.h"
++#include "h5tools_utils.h"
+
+
+ /* Name of tool */
+--- a/tools/misc/talign.c
++++ b/tools/misc/talign.c
+@@ -23,6 +23,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+
+ const char *fname = "talign.h5";
+ const char *setname = "align";
diff --git a/sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch b/sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch
new file mode 100644
index 00000000000..44af8080bbf
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.10_p1-comments.patch
@@ -0,0 +1,29 @@
+Convert // comment marks to /**/ in order to fix FTBS on ia64
+
+https://bugs.gentoo.org/show_bug.cgi?id=447740
+
+Patch written by Kacper Kowalik <xarthisius@gentoo.org>
+--- a/tools/h5dump/h5dump_ddl.c
++++ b/tools/h5dump/h5dump_ddl.c
+@@ -1341,8 +1341,8 @@ handle_attributes(hid_t fid, const char *attr, void UNUSED * data, int UNUSED pe
+ string_dataformat.do_escape = display_escape;
+ outputformat = &string_dataformat;
+
+- //attr_name = attr + j + 1;
+- // need to replace escape characters
++ /* attr_name = attr + j + 1; */
++ /* need to replace escape characters */
+ attr_name = h5tools_str_replace(attr + j + 1, "\\/", "/");
+
+
+--- a/tools/lib/h5tools_str.c
++++ b/tools/lib/h5tools_str.c
+@@ -632,7 +632,7 @@ h5tools_str_indent(h5tools_str_t *str, const h5tool_format_t *info,
+ h5tools_str_append(str, "%s", OPT(info->line_indent, ""));
+ }
+
+-// ctx->need_prefix = 0;
++ /* ctx->need_prefix = 0; */
+ }
+
+ /*-------------------------------------------------------------------------
diff --git a/sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch
new file mode 100644
index 00000000000..2061d16f71e
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.13-implicits.patch
@@ -0,0 +1,35 @@
+--- 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);
+--- a/configure.ac
++++ b/configure.ac
+@@ -1504,6 +1504,9 @@ case "$host_cpu-$host_vendor-$host_os" in
+ ## however, we do not do this since it breaks the big test on some
+ ## older platforms.
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ ## _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
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 00000000000..82bc5d8b120
--- /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.14-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.14-implicits.patch
new file mode 100644
index 00000000000..4ee6e83d9f2
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.14-implicits.patch
@@ -0,0 +1,55 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1522,6 +1522,9 @@ case "$host_cpu-$host_vendor-$host_os" in
+ ## however, we do not do this since it breaks the big test on some
+ ## older platforms.
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ ## _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- 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.14-ldflags.patch b/sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch
new file mode 100644
index 00000000000..c27800d9ce3
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.14-ldflags.patch
@@ -0,0 +1,20 @@
+Revert changes made to fix HDFFV-8944
+
+https://bugs.gentoo.org/show_bug.cgi?id=530746
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -115,12 +115,7 @@
+ AM_CXXFLAGS="${AM_CXXFLAGS}"
+ AM_FCFLAGS="${AM_FCFLAGS}"
+ AM_CPPFLAGS="${AM_CPPFLAGS}"
+-# Added to address HDFFV-8944
+-if test "x$prefix" = xNONE; then
+- AM_LDFLAGS="$AM_LDFLAGS -L$ac_default_prefix/lib"
+-else
+- AM_LDFLAGS="$AM_LDFLAGS -L$prefix/lib"
+-fi
++AM_LDFLAGS="${AM_LDFLAGS}"
+ CFLAGS="${CFLAGS}"
+ CXXFLAGS="${CXXFLAGS}"
+ FCFLAGS="${FCFLAGS}"
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 00000000000..72e09617097
--- /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.8-array_bounds.patch b/sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch
new file mode 100644
index 00000000000..042d012d162
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.8-array_bounds.patch
@@ -0,0 +1,22 @@
+--- a/perform/pio_engine.c
++++ b/perform/pio_engine.c
+@@ -454,7 +454,7 @@
+ subdir = (user ? user : login);
+
+ if (subdir) {
+- for (i = 0; i < size && prefix[i]; i++)
++ for (i = 0; i < size-1 && prefix[i]; i++)
+ fullname[i] = prefix[i];
+
+ fullname[i++] = '/';
+--- a/perform/sio_engine.c
++++ b/perform/sio_engine.c
+@@ -353,7 +353,7 @@
+ subdir = (user ? user : login);
+
+ if (subdir) {
+- for (i = 0; i < size && prefix[i]; i++)
++ for (i = 0; i < size-1 && prefix[i]; i++)
+ fullname[i] = prefix[i];
+
+ fullname[i++] = '/';
diff --git a/sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch b/sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch
new file mode 100644
index 00000000000..0f85cf5ed24
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.8-buildsystem.patch
@@ -0,0 +1,33 @@
+Prevent build system with messing up LD_LIBRARY_PATH
+
+--- a/configure.in
++++ b/configure.in
+@@ -2328,8 +2328,6 @@
+ dnl
+ AC_MSG_CHECKING([how to print long long])
+ AC_CACHE_VAL([hdf5_cv_printf_ll],
+-LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo $AM_LDFLAGS $LDFLAGS | sed -e 's/-L/:/g' -e 's/ //g'`"
+-export LD_LIBRARY_PATH
+
+ for hdf5_cv_printf_ll in l ll L q unknown; do
+ AC_TRY_RUN([
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -125,8 +125,6 @@
+ # 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 @@
+ # 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.8-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch
new file mode 100644
index 00000000000..d1217e83a98
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.8-implicits.patch
@@ -0,0 +1,85 @@
+--- b/configure.in
++++ a/configure.in
+@@ -1499,6 +1499,9 @@
+ dnl though we do not do this as it breaks the big test on older versions
+ dnl of linux (CentOS 4.6) using newer versions of gcc (4.6.2).
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ dnl _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,9 @@
+ 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/tools/misc/talign.c
++++ b/tools/misc/talign.c
+@@ -23,6 +23,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+
+ const char *fname = "talign.h5";
+ const char *setname = "align";
+--- a/tools/h5repack/testh5repack_detect_szip.c
++++ b/tools/h5repack/testh5repack_detect_szip.c
+@@ -17,6 +17,7 @@
+ #include "h5repack.h"
+ #include "h5tools.h"
+ #include "h5test.h"
++#include "h5tools_utils.h"
+
+
+ /* Name of tool */
+--- a/tools/h5jam/h5jam.c
++++ b/tools/h5jam/h5jam.c
+@@ -15,6 +15,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+ #include "h5tools_utils.h"
+
+ /* Name of tool */
+--- a/tools/h5jam/h5unjam.c
++++ b/tools/h5jam/h5unjam.c
+@@ -15,6 +15,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+ #include "h5tools_utils.h"
+
+ /* Name of tool */
+--- a/tools/h5copy/h5copygentest.c
++++ b/tools/h5copy/h5copygentest.c
+@@ -20,6 +20,7 @@
+ #include "hdf5.h"
+ #include "H5private.h"
+ #include "h5tools.h"
++#include "h5tools_utils.h"
+
+ /* Name of tool */
+ #define PROGRAMNAME "h5copygentest"
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -49,7 +49,8 @@
+ #define YY_FLEX_MINOR_VERSION 5
+
+ #include <stdio.h>
++#include "H5pubconf.h"
+ #ifdef H5_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+
diff --git a/sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch b/sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch
new file mode 100644
index 00000000000..43e4f0774a2
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-1.8.9-implicits.patch
@@ -0,0 +1,55 @@
+--- b/configure.in
++++ a/configure.in
+@@ -1499,6 +1499,9 @@
+ dnl though we do not do this as it breaks the big test on older versions
+ dnl of linux (CentOS 4.6) using newer versions of gcc (4.6.2).
+ AM_CPPFLAGS="-D_BSD_SOURCE $AM_CPPFLAGS"
++
++ dnl _GNU_SOURCE is needed for vasprintf
++ AM_CPPFLAGS="-D_GNU_SOURCE $AM_CPPFLAGS"
+ ;;
+ esac
+
+--- a/test/cache_common.h
++++ b/test/cache_common.h
+@@ -702,5 +702,9 @@
+ 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/tools/misc/talign.c
++++ b/tools/misc/talign.c
+@@ -23,6 +23,7 @@
+
+ #include "hdf5.h"
+ #include "H5private.h"
++#include "h5tools.h"
+
+ const char *fname = "talign.h5";
+ const char *setname = "align";
+--- a/tools/h5repack/testh5repack_detect_szip.c
++++ b/tools/h5repack/testh5repack_detect_szip.c
+@@ -17,6 +17,7 @@
+ #include "h5repack.h"
+ #include "h5tools.h"
+ #include "h5test.h"
++#include "h5tools_utils.h"
+
+
+ /* Name of tool */
+--- a/hl/src/H5LTanalyze.c
++++ b/hl/src/H5LTanalyze.c
+@@ -49,7 +49,8 @@
+ #define YY_FLEX_MINOR_VERSION 5
+
+ #include <stdio.h>
++#include "H5pubconf.h"
+ #ifdef H5_HAVE_UNISTD_H
+ #include <unistd.h>
+ #endif
+
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 00000000000..28f554c0c59
--- /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 00000000000..f87ccdd08f7
--- /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/files/mpd.conf b/sci-libs/hdf5/files/mpd.conf
new file mode 100644
index 00000000000..07dd9825023
--- /dev/null
+++ b/sci-libs/hdf5/files/mpd.conf
@@ -0,0 +1,2 @@
+secretword=test69hike
+MPD_SECRETWORD=test69hike
diff --git a/sci-libs/hdf5/hdf5-1.8.14-r1.ebuild b/sci-libs/hdf5/hdf5-1.8.14-r1.ebuild
new file mode 100644
index 00000000000..1cdacf56136
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.8.14-r1.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://www.hdfgroup.org/ftp/HDF5/releases/${MY_P}/src/${MY_P}.tar.bz2"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran fortran2003 mpi static-libs szip threads zlib"
+
+REQUIRED_USE="
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran )
+ fortran2003? ( fortran )"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( >=sci-libs/szip-2.1:0= )
+ 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.14-implicits.patch
+ "${FILESDIR}"/${PN}-1.8.14-ldflags.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
+ 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 mpi parallel)
+ $(use_enable threads threadsafe)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/hdf5/hdf5-1.8.15_p1.ebuild b/sci-libs/hdf5/hdf5-1.8.15_p1.ebuild
new file mode 100644
index 00000000000..4525a34653b
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.8.15_p1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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="http://www.hdfgroup.org/ftp/HDF5/releases/${MY_P}/src/${MY_P}.tar.bz2"
+
+LICENSE="NCSA-HDF"
+SLOT="0/${PV%%_p*}"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="cxx debug examples fortran fortran2003 mpi static-libs szip threads zlib"
+
+REQUIRED_USE="
+ cxx? ( !mpi ) mpi? ( !cxx )
+ threads? ( !cxx !mpi !fortran )
+ fortran2003? ( fortran )"
+
+RDEPEND="
+ mpi? ( virtual/mpi[romio] )
+ szip? ( >=sci-libs/szip-2.1:0= )
+ 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
+ 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 mpi parallel)
+ $(use_enable threads threadsafe)
+ $(use_with szip szlib)
+ $(use_with threads pthread)
+ $(use_with zlib)
+ )
+ autotools-utils_src_configure
+}
diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml
new file mode 100644
index 00000000000..1edb12ad305
--- /dev/null
+++ b/sci-libs/hdf5/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>xarthisius@gentoo.org</email>
+ <name>Kacper Kowalik</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>
+ </use>
+</pkgmetadata>