diff options
author | Sebastien Fabbro <seb@cayenne.ist.utl.pt> | 2009-06-24 17:51:18 +0100 |
---|---|---|
committer | Sebastien Fabbro <seb@cayenne.ist.utl.pt> | 2009-06-24 17:51:18 +0100 |
commit | e8ed47ccfec9384b4c0faca7a7042604ea8e4e62 (patch) | |
tree | e094163e7fa9644e859e902ce8cf9966cef2f3f0 | |
parent | refmac test case added (diff) | |
download | sci-e8ed47ccfec9384b4c0faca7a7042604ea8e4e62.tar.gz sci-e8ed47ccfec9384b4c0faca7a7042604ea8e4e62.tar.bz2 sci-e8ed47ccfec9384b4c0faca7a7042604ea8e4e62.zip |
test version of hdf5-1.8.x import
-rw-r--r-- | sci-libs/hdf5/ChangeLog | 13 | ||||
-rw-r--r-- | sci-libs/hdf5/Manifest | 12 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-as-needed.patch | 31 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-autotools.patch | 11 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-destdir.patch | 39 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-gnutools.patch | 35 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-includes.patch | 11 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-noreturn.patch | 92 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-1.8.3-signal.patch | 65 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.8.3.ebuild | 89 | ||||
-rw-r--r-- | sci-libs/hdf5/metadata.xml | 16 |
11 files changed, 414 insertions, 0 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog new file mode 100644 index 000000000..1f7a34708 --- /dev/null +++ b/sci-libs/hdf5/ChangeLog @@ -0,0 +1,13 @@ +# ChangeLog for sci-libs/hdf5 +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*hdf5-1.8.3 (24 Jun 2009) + + 24 Jun 2009; Sébastien Fabbro <bicatali@gentoo.org> +hdf5-1.8.3.ebuild, + +files/hdf5-1.8.3-as-needed.patch, +files/hdf5-1.8.3-autotools.patch, + +files/hdf5-1.8.3-destdir.patch, +files/hdf5-1.8.3-gnutools.patch, + +files/hdf5-1.8.3-includes.patch, +files/hdf5-1.8.3-noreturn.patch, + +files/hdf5-1.8.3-signal.patch, +metadata.xml: + Version bump. Many fixes and cleanups, rewrote ebuild from scratch + diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest new file mode 100644 index 000000000..7bce1b155 --- /dev/null +++ b/sci-libs/hdf5/Manifest @@ -0,0 +1,12 @@ +AUX hdf5-1.8.2-gcc43.patch 962 RMD160 b8d12d5b83ce87110b0d54f2c3fcc0fabab6ba97 SHA1 7cf5397964c574779c4156dfb5129f8835467888 SHA256 29274bda205c517bb57c3794bdd0c05eb42ad282e375258288d3bba09f824d33 +AUX hdf5-1.8.3-as-needed.patch 1378 RMD160 b62ceac589fc688354aa449ae9c4364c5b3a67d3 SHA1 26de66dffb9082c4bb29b715ad2d3ebe369feae3 SHA256 e50f220e74f34c40f855495c15760ab14518b77e54a07707aad3354f5bdc596b +AUX hdf5-1.8.3-autotools.patch 519 RMD160 18be62752577455b6e3c38ff13c00756f0e644a4 SHA1 8a8578db7efb296e99378e05acd84988a2435fc9 SHA256 eee54b02dc8c94ed98604c396ac0bfbf2f68b989fd83e424172e7e12c44bcdb9 +AUX hdf5-1.8.3-destdir.patch 1754 RMD160 2b0130b12bff2c74c9e65766f0afcd5d422022e1 SHA1 98a91a52ceaab919d6a6b3af8b1c6dc017e40296 SHA256 693002516df4d1026833d629a5b647fea57314b9c62f655e631629b5c19cb602 +AUX hdf5-1.8.3-gnutools.patch 1352 RMD160 a0a51a484f1ab926f13618093c809b6582da8e7f SHA1 e4121383f2876dea4ba09356ca7d233fe6ac5b2e SHA256 0e6720e736d7103f39edcf8d3fb4a14f40bbee67363e8f167d9b594ef348f197 +AUX hdf5-1.8.3-includes.patch 398 RMD160 5112dd05bebbc702f24fa22aeebc67209a4e6611 SHA1 339137d04a803e25a0cafaa4f4d167a4cbc9a7ae SHA256 cd82d8b3817d83d59054a2a32ce44aca060157095875f6e91c560ab830b32561 +AUX hdf5-1.8.3-noreturn.patch 3222 RMD160 39285ba18447b0f8db22a5f8e9d51a3cd8a8e91e SHA1 c5d8f7528fbe5c0bde0cb0ac5c1dd189559ac140 SHA256 d902cfbda0382b8998506ea765d0795937485c44d8824051275ad668bcbd6565 +AUX hdf5-1.8.3-signal.patch 2226 RMD160 afe0ea8ad24fd84bed4642436c972fb5e492045e SHA1 5251a4520140b29ef0cb62d916732c9dd4089dd4 SHA256 0d07d222802005df65d42493dac16897865954755e4a59e681fa043e370a0f71 +DIST hdf5-1.8.3.tar.gz 7175884 RMD160 7b279306b5458f39dc7343c14a7c7c88459823a3 SHA1 0bf66eb5d964472eae4b6c2bb26e669dcd188140 SHA256 2e124dfd59ca00dee693c06cf2517d14b361769e65edbc1c3940063437d0a5e3 +EBUILD hdf5-1.8.3.ebuild 2273 RMD160 3e9aceea5adcd88e824d78a97aa6ea929774c0b2 SHA1 2115effce668c0d01d109080b22a65842be466d5 SHA256 1c64dc7f33c72301e2e16f1c5ca9076121db7df14af15755804fa330561315d4 +MISC ChangeLog 8277 RMD160 7cf7c0e69dae2e66bd650ee5855de19f86ee4e81 SHA1 eb64abb8b8d1de57ca6c50b8048b44b8c4caefa1 SHA256 bd83e1f8b213fbdbf59351e607bb277e61dc10935864b789c1ae9afc4d152346 +MISC metadata.xml 360 RMD160 a2917233c5a10f6639fb8c4a295609852c2be473 SHA1 6629277bccaaeb0a3bec1720cd1641afb5570e56 SHA256 a6024d09f6d50aba588c4d121e1dcc16659fc4c5df28f9667f0e32b9809b809c diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-as-needed.patch b/sci-libs/hdf5/files/hdf5-1.8.3-as-needed.patch new file mode 100644 index 000000000..42962d661 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-as-needed.patch @@ -0,0 +1,31 @@ +--- hdf5-1.8.3.orig/fortran/src/Makefile.am 2009-04-15 19:10:01.053733251 +0100 ++++ hdf5-1.8.3/fortran/src/Makefile.am 2009-04-15 19:12:49.874557795 +0100 +@@ -66,6 +66,8 @@ + H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \ + $(PARALLEL_COND_SRC) + ++libhdf5_fortran_la_LIBADD = $(top_builddir)/src/libhdf5.la ++ + # h5fc is generated during configure. + # Remove it only when distclean. + DISTCLEANFILES=h5fc +--- hdf5-1.8.3.orig/hl/fortran/src/Makefile.am 2009-04-15 19:10:01.245748616 +0100 ++++ hdf5-1.8.3/hl/fortran/src/Makefile.am 2009-04-15 19:30:56.042226227 +0100 +@@ -43,6 +43,7 @@ + + libhdf5hl_fortran_la_SOURCES=H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c H5LTff.f90 \ + H5IMff.f90 H5TBff.f90 ++libhdf5hl_fortran_la_LIBADD=$(top_builddir)/hl/src/libhdf5_hl.la + + # Fortran module files can have different extensions and different names + # (e.g., different capitalizations) on different platforms. Write rules +--- hdf5-1.8.3.orig/hl/c++/src/Makefile.am 2009-04-15 19:10:01.249750013 +0100 ++++ hdf5-1.8.3/hl/c++/src/Makefile.am 2009-04-15 20:16:08.812068687 +0100 +@@ -35,6 +35,7 @@ + # Source files for the library + # At the moment, only the H5PT Packet Table has a C++ API. + libhdf5_hl_cpp_la_SOURCES=H5PacketTable.cpp ++libhdf5_hl_cpp_la_LIBADD=$(top_builddir)/hl/src/libhdf5_hl.la + + # Public headers + include_HEADERS=H5PacketTable.h diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-autotools.patch b/sci-libs/hdf5/files/hdf5-1.8.3-autotools.patch new file mode 100644 index 000000000..fc34cfddb --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-autotools.patch @@ -0,0 +1,11 @@ +--- hdf5-1.8.3.orig/configure.in 2009-04-15 19:10:01.345757835 +0100 ++++ hdf5-1.8.3/configure.in 2009-04-15 19:14:24.166542751 +0100 +@@ -355,7 +355,7 @@ + dnl -------------------------------------------------------------------- + dnl Check for a Fortran 9X compiler and how to include modules. + dnl +- AC_PROG_FC([f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn],) ++ AC_PROG_FC([gfortran f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn],) + AC_F9X_MODS + + dnl It seems that libtool (as of Libtool 1.5.14) is trying to diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-destdir.patch b/sci-libs/hdf5/files/hdf5-1.8.3-destdir.patch new file mode 100644 index 000000000..41cf505f1 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-destdir.patch @@ -0,0 +1,39 @@ +--- hdf5-1.8.3.orig/config/examples.am 2009-04-15 19:10:01.037732972 +0100 ++++ hdf5-1.8.3/config/examples.am 2009-04-16 15:02:45.983768491 +0100 +@@ -51,7 +51,7 @@ + + # How to create EXAMPLEDIR if it doesn't already exist + $(EXAMPLEDIR): +- -$(top_srcdir)/bin/mkdirs $@ ++ -$(top_srcdir)/bin/mkdirs $(DESTDIR)$@ + + # Install and uninstall rules. We install the source files, not the + # example programs themselves. +@@ -63,13 +63,13 @@ + install-examples: $(EXAMPLEDIR) $(INSTALL_FILES) + @for f in X $(INSTALL_FILES); do \ + if test $$f != X; then \ +- (set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\ ++ (set -x; $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(EXAMPLEDIR)/. || exit 1);\ + fi; \ + done + + uninstall-examples: +- @if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \ +- set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \ ++ @if test -n "$(INSTALL_FILES)" -a -d $(DESTDIR)$(EXAMPLEDIR); then \ ++ set -x; cd $(DESTDIR)$(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \ + fi + + installcheck-local: +--- hdf5-1.8.3.orig/config/commence.am 2009-04-15 19:10:01.037732972 +0100 ++++ hdf5-1.8.3/config/commence.am 2009-04-16 15:40:53.810412317 +0100 +@@ -42,8 +42,6 @@ + LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la + LIBH5CPP_HL=$(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la + +-# Install directories that automake doesn't know about +-docdir = $(exec_prefix)/doc + + # Scripts used to build examples + # If only shared libraries have been installed, have h5cc build examples with diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-gnutools.patch b/sci-libs/hdf5/files/hdf5-1.8.3-gnutools.patch new file mode 100644 index 000000000..556541237 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-gnutools.patch @@ -0,0 +1,35 @@ +--- hdf5-1.8.3.orig/config/linux-gnulibc1 2009-04-15 19:10:01.037732972 +0100 ++++ hdf5-1.8.3/config/linux-gnulibc1 2009-04-16 09:58:54.132299149 +0100 +@@ -39,8 +39,8 @@ + if test "X-" = "X-$FC"; then + case $CC_BASENAME in + gcc*) +- FC=g95 +- FC_BASENAME=g95 ++ FC=gfortran ++ FC_BASENAME=gfortran + ;; + pgcc*) + FC=pgf90 +--- hdf5-1.8.3.orig/src/Makefile.am 2009-04-15 19:10:01.113738280 +0100 ++++ hdf5-1.8.3/src/Makefile.am 2009-04-16 11:07:46.221186334 +0100 +@@ -27,7 +27,7 @@ + # a long time to compile it with any optimization on. H5detect is used + # to generate H5Tinit.c once. So, optimization is not critical. + noinst_PROGRAMS = H5detect +-H5detect_CFLAGS = -g ++H5detect_CFLAGS = -g -O0 + + # Our main target, the HDF5 library + lib_LTLIBRARIES=libhdf5.la +--- hdf5-1.8.3.orig/configure.in 2009-04-15 19:10:01.345757835 +0100 ++++ hdf5-1.8.3/configure.in 2009-04-16 12:40:53.698868563 +0100 +@@ -355,7 +355,7 @@ + dnl -------------------------------------------------------------------- + dnl Check for a Fortran 9X compiler and how to include modules. + dnl +- AC_PROG_FC([f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn],) ++ AC_PROG_FC([gfortran f90 pgf90 slf90 f95 g95 xlf95 efc ifort ftn],) + AC_F9X_MODS + + dnl It seems that libtool (as of Libtool 1.5.14) is trying to diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-includes.patch b/sci-libs/hdf5/files/hdf5-1.8.3-includes.patch new file mode 100644 index 000000000..5e87f6c97 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-includes.patch @@ -0,0 +1,11 @@ +--- hdf5-1.8.3.orig/src/H5E.c 2009-04-15 19:10:01.081735486 +0100 ++++ hdf5-1.8.3/src/H5E.c 2009-04-15 20:02:06.708712912 +0100 +@@ -54,6 +54,8 @@ + /***********/ + /* Headers */ + /***********/ ++#define _GNU_SOURCE ++#include <stdio.h> + #include "H5private.h" /* Generic Functions */ + #include "H5Iprivate.h" /* IDs */ + #include "H5Epkg.h" /* Error handling */ diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-noreturn.patch b/sci-libs/hdf5/files/hdf5-1.8.3-noreturn.patch new file mode 100644 index 000000000..27b6f9b32 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-noreturn.patch @@ -0,0 +1,92 @@ +diff -Nur hdf5-1.8.3.orig/c++/src/H5AbstractDs.cpp hdf5-1.8.3/c++/src/H5AbstractDs.cpp +--- hdf5-1.8.3.orig/c++/src/H5AbstractDs.cpp 2009-04-15 19:10:01.061734089 +0100 ++++ hdf5-1.8.3/c++/src/H5AbstractDs.cpp 2009-04-16 10:10:56.263885963 +0100 +@@ -85,6 +85,8 @@ + else if (fromClass() == "Attribute") + throw DataTypeIException("Attribute::getTypeClass", "H5Tget_class returns H5T_NO_CLASS"); + } ++ ++ return (type_class); + } + + //-------------------------------------------------------------------------- +diff -Nur hdf5-1.8.3.orig/hl/src/H5LTanalyze.c hdf5-1.8.3/hl/src/H5LTanalyze.c +--- hdf5-1.8.3.orig/hl/src/H5LTanalyze.c 2009-04-15 19:10:01.221747499 +0100 ++++ hdf5-1.8.3/hl/src/H5LTanalyze.c 2009-04-16 10:10:56.267887639 +0100 +@@ -2329,7 +2329,7 @@ + return ret; + } + +-int H5LTyyerror(char *msg) ++void H5LTyyerror(char *msg) + { + printf("ERROR: %s before \"%s\".\n", msg, yytext); + } +diff -Nur hdf5-1.8.3.orig/hl/src/H5LTanalyze.l hdf5-1.8.3/hl/src/H5LTanalyze.l +--- hdf5-1.8.3.orig/hl/src/H5LTanalyze.l 2009-04-15 19:10:01.221747499 +0100 ++++ hdf5-1.8.3/hl/src/H5LTanalyze.l 2009-04-16 10:10:56.267887639 +0100 +@@ -181,7 +181,7 @@ + return ret; + } + +-int H5LTyyerror(char *msg) ++void H5LTyyerror(char *msg) + { + printf("ERROR: %s before \"%s\".\n", msg, yytext); + } +diff -Nur hdf5-1.8.3.orig/hl/src/H5LTparse.c hdf5-1.8.3/hl/src/H5LTparse.c +--- hdf5-1.8.3.orig/hl/src/H5LTparse.c 2009-04-15 19:10:01.221747499 +0100 ++++ hdf5-1.8.3/hl/src/H5LTparse.c 2009-04-16 10:10:56.267887639 +0100 +@@ -64,7 +64,7 @@ + #include<hdf5.h> + + extern int yylex(); +-extern int yyerror(char *); ++extern void yyerror(char *); + + #define STACK_SIZE 16 + +diff -Nur hdf5-1.8.3.orig/test/dt_arith.c hdf5-1.8.3/test/dt_arith.c +--- hdf5-1.8.3.orig/test/dt_arith.c 2009-04-15 19:10:01.121739118 +0100 ++++ hdf5-1.8.3/test/dt_arith.c 2009-04-16 10:10:56.271887918 +0100 +@@ -3408,6 +3408,7 @@ + else if(run_test==TEST_DENORM || run_test==TEST_SPECIAL) + return 1; + #endif ++ return 1; + } + + +diff -Nur hdf5-1.8.3.orig/tools/h5dump/h5dump.c hdf5-1.8.3/tools/h5dump/h5dump.c +--- hdf5-1.8.3.orig/tools/h5dump/h5dump.c 2009-04-15 19:10:01.141740794 +0100 ++++ hdf5-1.8.3/tools/h5dump/h5dump.c 2009-04-16 10:10:56.275888757 +0100 +@@ -602,6 +602,7 @@ + * + *------------------------------------------------------------------------- + */ ++static void leave(int ret) __attribute__ ((__noreturn__)); + static void + leave(int ret) + { +diff -Nur hdf5-1.8.3.orig/tools/h5ls/h5ls.c hdf5-1.8.3/tools/h5ls/h5ls.c +--- hdf5-1.8.3.orig/tools/h5ls/h5ls.c 2009-04-15 19:10:01.165741353 +0100 ++++ hdf5-1.8.3/tools/h5ls/h5ls.c 2009-04-16 10:10:56.279888477 +0100 +@@ -2147,6 +2147,7 @@ + * + *------------------------------------------------------------------------- + */ ++static void leave(int ret) __attribute__ ((__noreturn__)); + static void + leave(int ret) + { +diff -Nur hdf5-1.8.3.orig/tools/h5stat/h5stat.c hdf5-1.8.3/tools/h5stat/h5stat.c +--- hdf5-1.8.3.orig/tools/h5stat/h5stat.c 2009-04-15 19:10:01.181742750 +0100 ++++ hdf5-1.8.3/tools/h5stat/h5stat.c 2009-04-16 10:10:56.279888477 +0100 +@@ -181,6 +181,7 @@ + { NULL, 0, '\0' } + }; + ++static void leave(int ret) __attribute__ ((__noreturn__)); + static void + leave(int ret) + { diff --git a/sci-libs/hdf5/files/hdf5-1.8.3-signal.patch b/sci-libs/hdf5/files/hdf5-1.8.3-signal.patch new file mode 100644 index 000000000..0ef2672e1 --- /dev/null +++ b/sci-libs/hdf5/files/hdf5-1.8.3-signal.patch @@ -0,0 +1,65 @@ +--- hdf5-1.8.3.orig/src/H5detect.c 2009-04-15 19:10:01.069734368 +0100 ++++ hdf5-1.8.3/src/H5detect.c 2009-04-16 10:15:42.185227061 +0100 +@@ -109,7 +109,7 @@ + static void detect_C99_integers64(void); + static void detect_alignments(void); + static size_t align_g[] = {1, 2, 4, 8, 16}; +-static jmp_buf jbuf_g; ++static sigjmp_buf jbuf_g; + + + /*------------------------------------------------------------------------- +@@ -368,7 +368,7 @@ + void (*_handler2)(int) = signal(SIGSEGV, sigsegv_handler); \ + \ + _buf = (char*)malloc(sizeof(TYPE) + align_g[NELMTS(align_g) - 1]); \ +- if(setjmp(jbuf_g)) _ano++; \ ++ if(sigsetjmp(jbuf_g, 1)) _ano++; \ + if(_ano < NELMTS(align_g)) { \ + *((TYPE*)(_buf+align_g[_ano])) = _val; /*possible SIGBUS or SEGSEGV*/ \ + _val2 = *((TYPE*)(_buf+align_g[_ano])); /*possible SIGBUS or SEGSEGV*/ \ +@@ -385,7 +385,7 @@ + memcpy(_buf+align_g[_ano]+(INFO.offset/8),((char *)&_val)+(INFO.offset/8),(size_t)(INFO.precision/8)); \ + _val2 = *((TYPE*)(_buf+align_g[_ano])); \ + if(_val!=_val2) \ +- longjmp(jbuf_g, 1); \ ++ siglongjmp(jbuf_g, 1); \ + /* End Cray Check */ \ + (INFO.align)=align_g[_ano]; \ + } else { \ +@@ -456,7 +456,7 @@ + * it's not nearly as nice to work with, it does the job for + * this simple stuff. + * +- * Return: Returns via longjmp to jbuf_g. ++ * Return: Returns via siglongjmp to jbuf_g. + * + * Programmer: Robb Matzke + * Thursday, March 18, 1999 +@@ -469,7 +469,7 @@ + sigsegv_handler(int UNUSED signo) + { + signal(SIGSEGV, sigsegv_handler); +- longjmp(jbuf_g, 1); ++ siglongjmp(jbuf_g, 1); + } + + +@@ -481,7 +481,7 @@ + * it's not nearly as nice to work with, it does the job for + * this simple stuff. + * +- * Return: Returns via longjmp to jbuf_g. ++ * Return: Returns via siglongjmp to jbuf_g. + * + * Programmer: Robb Matzke + * Thursday, March 18, 1999 +@@ -494,7 +494,7 @@ + sigbus_handler(int UNUSED signo) + { + signal(SIGBUS, sigbus_handler); +- longjmp(jbuf_g, 1); ++ siglongjmp(jbuf_g, 1); + #ifdef H5_HAVE_SIGLONGJMP + siglongjmp(jbuf_g, 1); + #endif /* H5_HAVE_SIGLONGJMP */ diff --git a/sci-libs/hdf5/hdf5-1.8.3.ebuild b/sci-libs/hdf5/hdf5-1.8.3.ebuild new file mode 100644 index 000000000..26681f9e8 --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.8.3.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=2 +inherit eutils autotools + +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/current/src/${P}.tar.gz" + +LICENSE="NCSA-HDF" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~sparc" + +IUSE="cxx examples fortran mpi szip threads zlib" + +#RDEPEND="mpi? ( virtual/mpi[romio] ) +RDEPEND="mpi? ( virtual/mpi ) + szip? ( sci-libs/szip ) + zlib? ( sys-libs/zlib )" + +DEPEND="${DEPEND} + sys-process/time" + +pkg_setup() { + if use mpi && use cxx; then + ewarn "Simultaneous mpi and cxx is not supported by ${PN}" + ewarn "Will disable cxx interface" + fi + if use mpi && use fortran; then + export FC=mpif90 + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-as-needed.patch + epatch "${FILESDIR}"/${P}-includes.patch + epatch "${FILESDIR}"/${P}-gnutools.patch + epatch "${FILESDIR}"/${P}-noreturn.patch + epatch "${FILESDIR}"/${P}-destdir.patch + epatch "${FILESDIR}"/${P}-signal.patch + # gentoo examples directory + sed -i \ + -e 's:$(docdir)/hdf5:$(docdir):' \ + $(find . -name Makefile.am) || die + eautoreconf +} + +src_configure() { + # threadsafe incompatible with many options + local myconf="--disable-threadsafe" + use threads && ! use fortran && ! use cxx && ! use mpi \ + && myconf="--enable-threadsafe" + + if use mpi && use cxx; then + myconf="${myconf} --disable-cxx" + elif use cxx; then + myconf="${myconf} --enable-cxx" + fi + + econf \ + --docdir=/usr/share/doc/${PF} \ + --disable-sharedlib-rpath \ + --enable-production \ + --enable-shared \ + --enable-strict-format-checks \ + --enable-linux-lfs \ + $(use_enable fortran) \ + $(use_enable mpi parallel) \ + $(use_with szip szlib) \ + $(use_with threads pthread) \ + $(use_with zlib) \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc README.txt + if use examples; then + emake DESTDIR="${D}" install-examples \ + || die "emake install examples failed" + fi +} +pkg_postinst() { + elog "This is still an experimental version of hdf5-1.8.x" + elog "Please report any bugs, suggestions and patches at:" + elog "https://bugs.gentoo.org/show_bug.cgi?id=233297" +} diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml new file mode 100644 index 000000000..90bf8cff7 --- /dev/null +++ b/sci-libs/hdf5/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>sci</herd> +<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='f90'>Override Fortran for externel compilers</flag> + <flag name='hlapi'>Enable support for high-level library</flag> + <flag name='tools'>Install support and test tools</flag> +</use> +</pkgmetadata> |