summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <nerdboy@gentoo.org>2007-12-03 07:21:53 +0000
committerSteve Arnold <nerdboy@gentoo.org>2007-12-03 07:21:53 +0000
commit0e44766bde38fe2508646af2300a23eb480bca34 (patch)
treec50a58714be7ad26329a19f7059f12210f903965 /sci-libs/hdf5
parentwhitespace (diff)
downloadgentoo-2-0e44766bde38fe2508646af2300a23eb480bca34.tar.gz
gentoo-2-0e44766bde38fe2508646af2300a23eb480bca34.tar.bz2
gentoo-2-0e44766bde38fe2508646af2300a23eb480bca34.zip
updated to latest upstream release with pvfs2 support and shared lib fixes
(Portage version: 2.1.4_rc1)
Diffstat (limited to 'sci-libs/hdf5')
-rw-r--r--sci-libs/hdf5/ChangeLog13
-rw-r--r--sci-libs/hdf5/files/digest-hdf5-1.6.63
-rw-r--r--sci-libs/hdf5/files/hdf5-mpich2.patch17
-rw-r--r--sci-libs/hdf5/hdf5-1.6.2.ebuild6
-rw-r--r--sci-libs/hdf5/hdf5-1.6.4.ebuild6
-rw-r--r--sci-libs/hdf5/hdf5-1.6.5-r1.ebuild6
-rw-r--r--sci-libs/hdf5/hdf5-1.6.5.ebuild6
-rw-r--r--sci-libs/hdf5/hdf5-1.6.6.ebuild202
8 files changed, 245 insertions, 14 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog
index 0d6263a9f406..a77bba8390e4 100644
--- a/sci-libs/hdf5/ChangeLog
+++ b/sci-libs/hdf5/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sci-libs/hdf5
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.18 2006/11/01 00:49:30 dberkholz Exp $
+# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.19 2007/12/03 07:21:53 nerdboy Exp $
+
+*hdf5-1.6.6 (03 Dec 2007)
+
+ 03 Dec 2007; Steve Arnold <nerdboy@gentoo.org> +files/hdf5-mpich2.patch,
+ +hdf5-1.6.6.ebuild:
+ Updated to latest upstream release, with mpi fixes, however, this version
+ is locked to mpich2-1.0.6 due to pvfs2, however, sparc is dropped until
+ the parallel I/O thing is worked out with other MPI libs.
+ Tests work, including mpi (but needs testing in a real cluster).
01 Nov 2006; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog:
Update for my nick change spyderous -> dberkholz.
diff --git a/sci-libs/hdf5/files/digest-hdf5-1.6.6 b/sci-libs/hdf5/files/digest-hdf5-1.6.6
new file mode 100644
index 000000000000..2e9897f5e920
--- /dev/null
+++ b/sci-libs/hdf5/files/digest-hdf5-1.6.6
@@ -0,0 +1,3 @@
+MD5 6c7fcc91f1579555d88bb10c6c9a33a9 hdf5-1.6.6.tar.gz 5299558
+RMD160 e7cf3f8d6aa5f34ef10cabf650ed43d644e54f1b hdf5-1.6.6.tar.gz 5299558
+SHA256 432d02f2d6988999d3d18caa6680af3cef14c8a7537c98e7adbaa8f873fba2a7 hdf5-1.6.6.tar.gz 5299558
diff --git a/sci-libs/hdf5/files/hdf5-mpich2.patch b/sci-libs/hdf5/files/hdf5-mpich2.patch
new file mode 100644
index 000000000000..3ed60bf264b0
--- /dev/null
+++ b/sci-libs/hdf5/files/hdf5-mpich2.patch
@@ -0,0 +1,17 @@
+--- config/mpich.orig 2005-10-26 13:31:41.000000000 -0700
++++ config/mpich 2007-11-04 15:46:53.000000000 -0800
+@@ -31,11 +31,13 @@
+ # $CC is an MPICH compiler. Grab the version numbers.
+ ccversion=`echo $ccversion | cut -f3 -d' '`
+ case "$ccversion" in
+- 1.2.[0-5]*)
++ # modified for mpich2 versioning
++ 1.0.[0-5]*)
+ hdf5_mpi_complex_derived_datatype_works='no'
+ ;;
+ *)
+ # assume okay
++ hdf5_mpi_complex_derived_datatype_works='yes'
+ ;;
+ esac
+ fi
diff --git a/sci-libs/hdf5/hdf5-1.6.2.ebuild b/sci-libs/hdf5/hdf5-1.6.2.ebuild
index 62a3ceffbc5f..2f028a20d4e0 100644
--- a/sci-libs/hdf5/hdf5-1.6.2.ebuild
+++ b/sci-libs/hdf5/hdf5-1.6.2.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.2.ebuild,v 1.5 2006/05/21 21:44:41 nerdboy Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.2.ebuild,v 1.6 2007/12/03 07:21:53 nerdboy Exp $
inherit eutils
@@ -57,6 +57,6 @@ src_install() {
infodir=${D}/usr/share/info \
install || die "make install failed"
- dodoc README.txt COPYING MANIFEST
+ dodoc README.txt MANIFEST
dohtml doc/html/*
}
diff --git a/sci-libs/hdf5/hdf5-1.6.4.ebuild b/sci-libs/hdf5/hdf5-1.6.4.ebuild
index bebffd1bf7a8..3e53edefeb58 100644
--- a/sci-libs/hdf5/hdf5-1.6.4.ebuild
+++ b/sci-libs/hdf5/hdf5-1.6.4.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.4.ebuild,v 1.8 2007/06/26 02:43:01 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.4.ebuild,v 1.9 2007/12/03 07:21:53 nerdboy Exp $
inherit eutils
@@ -64,6 +64,6 @@ src_install() {
infodir=${D}/usr/share/info \
install || die "make install failed"
- dodoc README.txt COPYING MANIFEST
+ dodoc README.txt MANIFEST
dohtml doc/html/*
}
diff --git a/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild b/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild
index b27d51522c10..40d8049abec8 100644
--- a/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild
+++ b/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild,v 1.3 2006/07/13 05:05:56 nerdboy Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild,v 1.4 2007/12/03 07:21:53 nerdboy Exp $
inherit fortran eutils toolchain-funcs
@@ -161,7 +161,7 @@ src_install() {
fi
dobin ${S}/bin/iostats || die "dobin failed"
- dodoc README.txt COPYING MANIFEST
+ dodoc README.txt MANIFEST
dohtml doc/html/*
if use mpi ; then
diff --git a/sci-libs/hdf5/hdf5-1.6.5.ebuild b/sci-libs/hdf5/hdf5-1.6.5.ebuild
index 1ce8ad82661f..4424e82e775e 100644
--- a/sci-libs/hdf5/hdf5-1.6.5.ebuild
+++ b/sci-libs/hdf5/hdf5-1.6.5.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.5.ebuild,v 1.3 2006/06/24 16:13:48 nerdboy Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.5.ebuild,v 1.4 2007/12/03 07:21:53 nerdboy Exp $
inherit eutils
@@ -77,7 +77,7 @@ src_install() {
dobin ${S}/bin/iostats || die "dobin failed"
- dodoc README.txt COPYING MANIFEST
+ dodoc README.txt MANIFEST
dohtml doc/html/*
if use mpi ; then
diff --git a/sci-libs/hdf5/hdf5-1.6.6.ebuild b/sci-libs/hdf5/hdf5-1.6.6.ebuild
new file mode 100644
index 000000000000..38f8b482e04a
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.6.6.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.6.ebuild,v 1.1 2007/12/03 07:21:53 nerdboy Exp $
+
+inherit eutils flag-o-matic fortran toolchain-funcs
+
+DESCRIPTION="General purpose library and file format for storing scientific data"
+HOMEPAGE="http://hdf.ncsa.uiuc.edu/HDF5/"
+SRC_URI="ftp://ftp.hdfgroup.org/HDF5/current/src/${P}.tar.gz"
+
+LICENSE="NCSA-HDF"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+# need to update szip to get alpha, ia64, etc back in here,
+IUSE="cxx debug fortran mpi ssl szip threads zlib "
+
+DEPEND="mpi? ( >=sys-cluster/mpich2-1.0.6
+ net-fs/nfs-utils )
+ ssl? ( dev-libs/openssl )
+ szip? ( sci-libs/szip )
+ zlib? ( sys-libs/zlib )
+ threads? ( virtual/libc )
+ sys-devel/gcc
+ sys-apps/coreutils
+ sys-apps/which
+ sys-process/time"
+
+RDEPEND="${DEPEND}
+ dev-lang/perl"
+
+pkg_setup() {
+ # The above gcc dep is a hack to insure at least one Fortran 90
+ # compiler is installed if the user enables fortran support. Feel
+ # free to improve it...
+ if use fortran ; then
+ if [ $(gcc-major-version) -ge 4 ] \
+ && built_with_use sys-devel/gcc fortran ; then
+ FORTRAN="gfortran"
+ fortran_pkg_setup
+ export F9X="gfortran"
+ einfo "Configuring for GNU gfortran..."
+ elif
+ test -d /opt/intel/fortran90 ; then
+ FORTRAN="ifc"
+ fortran_pkg_setup
+ export F9X="ifc"
+ einfo "Configuring for Intel fortran..."
+ else
+ einfo "No F90 compiler found; please install either gcc 4 with"
+ einfo "fortran support or some other Fortran 90 compiler such"
+ einfo "as ifc or pgf90 (or disable fortran support)."
+ die "No usable Fortran 90 compiler found."
+ fi
+ fi
+ if use mpi && ! built_with_use sys-cluster/mpich2 pvfs2 ; then
+ ewarn "Your MPI library needs parallel IO support for HDF5. You"
+ ewarn "must re-emerge mpich2 with USE=pvfs2."
+ die "requires parallel IO support"
+ fi
+}
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+
+ if use mpi; then
+ # this is required for mpich2, and should be safe otherwise
+ epatch "${FILESDIR}/${PN}-mpich2.patch" || die "mpich2 patch failed"
+ fi
+
+ sed -i -e "s/tail +/tail -n +/" "${S}"/bin/release \
+ "${S}"/tools/h5dump/testh5dump.sh.in
+
+}
+
+src_compile() {
+ local myconf="--with-pic --enable-shared"
+
+ if use cxx && ! use mpi ; then
+ myconf="${myconf} --enable-cxx"
+ elif use cxx && use mpi ; then
+ ewarn "C++ support is not compatible with the mpi interface."
+ die "Please disable either cxx or mpi."
+ else
+ myconf="${myconf} --disable-cxx"
+ fi
+
+ if use fortran && use mpi ; then
+ ewarn "Requires Fortran 90 support in your mpi library..."
+ myconf="${myconf} --enable-fortran --enable-parallel"
+ fi
+
+ use threads && myconf="${myconf} --with-pthread --enable-threadsafe"
+
+ if use debug; then
+ myconf="${myconf} --enable-debug=all"
+ else
+ myconf="${myconf} --enable-production"
+ fi
+
+ # NOTE: the hdf5 configure script has its own interpretation of
+ # the ARCH environment variable which conflicts with that of
+ # ebuild/emerge. As a work around, we save the ARCH variable as
+ # EBUILD_ARCH and restore it when we are done.
+ EBUILD_ARCH="${ARCH}"
+ unset ARCH
+
+ if use mpi ; then
+ export NPROCS=1
+ export CC="mpicc"
+ export F9X="mpif90"
+ export LIBS="$(sh pvfs2-config --libs) -lmpich"
+ if built_with_use sys-cluster/mpich2 mpe ; then
+ myconf="${myconf} --with-mpe=/usr/include,/usr/$(get_libdir)"
+ fi
+ append-ldflags "${LIBS}"
+ fi
+
+ ./configure --prefix=/usr "${myconf}" \
+ $(use_enable zlib) \
+ $(use_with ssl) \
+ --enable-linux-lfs \
+ --sysconfdir=/etc \
+ --infodir=/usr/share/info \
+ --libdir=/usr/$(get_libdir) \
+ --mandir=/usr/share/man || die "configure failed"
+
+ # restore the ARCH environment variable
+ ARCH="${EBUILD_ARCH}"
+
+ # emake has occasional segfaults
+ make || die "make failed"
+}
+
+src_test() {
+ # make test is not reliable, and the mpi tests have a weird failure
+ export HDF5_Make_Ignore=yes
+ if use mpi ; then
+ export HDF5_PARAPREFIX="${S}/testpar"
+ export CC="/usr/bin/mpicc"
+ install -g portage -o portage -m 0600 "${FILESDIR}"/mpd.conf "${HOME}"/.mpd.conf
+ /usr/bin/mpd --daemon
+ fi
+ make check || die "make test failed"
+ use mpi && /usr/bin/mpdallexit
+ export HDF5_Make_Ignore=no
+}
+
+src_install() {
+ make \
+ prefix="${D}"usr \
+ mandir="${D}"usr/share/man \
+ docdir="${D}"usr/share/doc/"${PF}" \
+ libdir="${D}"usr/$(get_libdir) \
+ infodir="${D}usr"/share/info \
+ install || die "make install failed"
+
+ dolib.a "${S}"/tools/lib/.libs/libh5tools.a \
+ "${S}"/test/.libs/libh5test.a || die "dolib.a failed"
+ insinto /usr/$(get_libdir)
+ doins "${S}"/tools/lib/libh5tools.la \
+ "${S}"/test/libh5test.la || die "doins failed"
+ dolib.so" ${S}"/test/.libs/lib*so* || die "dolib.so failed"
+
+ exeinto /usr/bin
+ newexe "${S}"/bin/iostats iostats.pl || die "newexe failed"
+
+ dodoc README.txt MANIFEST
+ dohtml doc/html/*
+
+ if use mpi ; then
+ mv "${D}"usr/bin/h5pcc "${D}"usr/bin/h5cc
+ fi
+ if use fortran ; then
+ mv "${D}"usr/bin/h5pfc "${D}"usr/bin/h5fc
+ fi
+ # change the SHLIB default for C
+ dosed "s/SHLIB:-no/SHLIB:-yes/g" "${D}"usr/bin/h5cc || die "dosed failed"
+}
+
+pkg_postinst() {
+ elog
+ elog "There are currently 2 non-fatal test errors in the mpi tests,"
+ elog "however, all C++, Fortran, and other tests pass successfully."
+ elog "The only expected failure is currently in the PHDF5 section"
+ elog "under MPI functionality tests. The second section using the"
+ elog "MPIPOSIX driver should work, along with all other tests."
+ elog
+ elog "Suggested USE flags for fortran and mpi support using gfortran:"
+ elog "USE=\"fortran mpi -cxx\""
+ elog
+ ewarn "Note 1: currently testing pvfs2 support (with mpi). Please"
+ ewarn "report any problems in the usual way."
+ elog
+ ewarn "Note 2: you'll need rawio support enabled in your kernel or"
+ ewarn "certain asynchronous IO operations will fail. Either enable"
+ ewarn "the RAW driver (under Character Devices) or patch your kernel"
+ ewarn "with the new PAIO drivers and use libposix-aio. See both:"
+ ewarn "http://sourceforge.net/projects/paiol and"
+ ewarn "http://www.bullopensource.org/posix for more info."
+ elog
+}