diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2009-08-18 21:14:37 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2009-08-18 21:14:37 +0000 |
commit | 00e17767afb5b338d2bcf6c6fbb8ea256ef93aaa (patch) | |
tree | 01b695e86590c2712f3fe46aff0eb66662fb27ae /sci-libs | |
parent | Fixing quoted (diff) | |
download | gentoo-2-00e17767afb5b338d2bcf6c6fbb8ea256ef93aaa.tar.gz gentoo-2-00e17767afb5b338d2bcf6c6fbb8ea256ef93aaa.tar.bz2 gentoo-2-00e17767afb5b338d2bcf6c6fbb8ea256ef93aaa.zip |
Version bump. Many fixes and cleanups, rewrote ebuild from scratch, merging from science overlay
(Portage version: 2.2_rc38/cvs/Linux x86_64)
Diffstat (limited to 'sci-libs')
-rw-r--r-- | sci-libs/hdf5/ChangeLog | 14 | ||||
-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-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 | 84 | ||||
-rw-r--r-- | sci-libs/hdf5/metadata.xml | 6 |
9 files changed, 375 insertions, 2 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog index 17a508526d74..de8886eff6fd 100644 --- a/sci-libs/hdf5/ChangeLog +++ b/sci-libs/hdf5/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sci-libs/hdf5 -# Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.33 2009/02/04 13:46:26 patrick Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.34 2009/08/18 21:14:37 bicatali Exp $ + +*hdf5-1.8.3 (18 Aug 2009) + + 18 Aug 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-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, + merging from science overlay 04 Feb 2009; Patrick Lauer <patrick@gentoo.org> +files/hdf5-gcc4.3.3-fix.patch, hdf5-1.6.7.ebuild: 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 000000000000..42962d66181a --- /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-destdir.patch b/sci-libs/hdf5/files/hdf5-1.8.3-destdir.patch new file mode 100644 index 000000000000..41cf505f1658 --- /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 000000000000..55654123718a --- /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 000000000000..5e87f6c97a5b --- /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 000000000000..27b6f9b32a62 --- /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 000000000000..0ef2672e11a7 --- /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 000000000000..ca3400e72ccd --- /dev/null +++ b/sci-libs/hdf5/hdf5-1.8.3.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.8.3.ebuild,v 1.1 2009/08/18 21:14:37 bicatali Exp $ + +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] ) + szip? ( >=sci-libs/szip-2.1 ) + zlib? ( sys-libs/zlib )" + +DEPEND="${RDEPEND} + >=sys-devel/libtool-2.2 + 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-strict-format-checks \ + --enable-deprecated-symbols \ + $(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 -j1 DESTDIR="${D}" install-examples \ + || die "emake install examples failed" + fi +} diff --git a/sci-libs/hdf5/metadata.xml b/sci-libs/hdf5/metadata.xml index cd6ea3a6b019..90bf8cff7d59 100644 --- a/sci-libs/hdf5/metadata.xml +++ b/sci-libs/hdf5/metadata.xml @@ -2,6 +2,12 @@ <!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> |