diff options
author | Steve Arnold <nerdboy@gentoo.org> | 2007-12-03 07:21:53 +0000 |
---|---|---|
committer | Steve Arnold <nerdboy@gentoo.org> | 2007-12-03 07:21:53 +0000 |
commit | 0e44766bde38fe2508646af2300a23eb480bca34 (patch) | |
tree | c50a58714be7ad26329a19f7059f12210f903965 /sci-libs/hdf5 | |
parent | whitespace (diff) | |
download | gentoo-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/ChangeLog | 13 | ||||
-rw-r--r-- | sci-libs/hdf5/files/digest-hdf5-1.6.6 | 3 | ||||
-rw-r--r-- | sci-libs/hdf5/files/hdf5-mpich2.patch | 17 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.2.ebuild | 6 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.4.ebuild | 6 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.5-r1.ebuild | 6 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.5.ebuild | 6 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.6.ebuild | 202 |
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 +} |