summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Dittrich <markusle@gentoo.org>2008-08-17 15:25:52 +0000
committerMarkus Dittrich <markusle@gentoo.org>2008-08-17 15:25:52 +0000
commit5eacfcf20eb998efc5e40409cd1c0f5bef65ba1b (patch)
tree3cff313ea1b009efd51a7c6c0cfa3b9f102ba5ee /sci-libs
parentamd64/x86 stable, bug #234795 (diff)
downloadgentoo-2-5eacfcf20eb998efc5e40409cd1c0f5bef65ba1b.tar.gz
gentoo-2-5eacfcf20eb998efc5e40409cd1c0f5bef65ba1b.tar.bz2
gentoo-2-5eacfcf20eb998efc5e40409cd1c0f5bef65ba1b.zip
Version bump and replaced 'which' with 'type -p'. Removed obsolete ebuild.
(Portage version: 2.2_rc8/cvs/Linux 2.6.26-SENTINEL-2 i686)
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/hdf5/ChangeLog9
-rw-r--r--sci-libs/hdf5/hdf5-1.6.5.ebuild90
-rw-r--r--sci-libs/hdf5/hdf5-1.6.7.ebuild251
3 files changed, 259 insertions, 91 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog
index b43f6970ed8e..2e0c9eed76a6 100644
--- a/sci-libs/hdf5/ChangeLog
+++ b/sci-libs/hdf5/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sci-libs/hdf5
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.30 2008/08/07 07:09:18 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.31 2008/08/17 15:25:52 markusle Exp $
+
+*hdf5-1.6.7 (17 Aug 2008)
+
+ 17 Aug 2008; Markus Dittrich <markusle@gentoo.org> -hdf5-1.6.5.ebuild,
+ +hdf5-1.6.7.ebuild:
+ Version bump and replaced "which" with "type -p". Removed obsolete
+ ebuild.
07 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml:
Add USE flag description to metadata wrt GLEP 56.
diff --git a/sci-libs/hdf5/hdf5-1.6.5.ebuild b/sci-libs/hdf5/hdf5-1.6.5.ebuild
deleted file mode 100644
index 4c27cb12bf68..000000000000
--- a/sci-libs/hdf5/hdf5-1.6.5.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2008 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.6 2008/02/04 07:58:32 nerdboy Exp $
-
-inherit eutils
-
-DESCRIPTION="General purpose library and file format for storing scientific data"
-HOMEPAGE="http://hdf.ncsa.uiuc.edu/HDF5/"
-SRC_URI="ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/${P}.tar.gz"
-
-LICENSE="NCSA-HDF"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
-# need to update szip to get sparc, alpha, and ia64 back in here,
-# as well as work out the mpi issues
-IUSE="static zlib ssl mpi hlapi szip threads debug"
-
-DEPEND="zlib? ( sys-libs/zlib )
- szip? ( sci-libs/szip )
- mpi? ( virtual/mpi )"
-
-src_compile() {
- local myconf="--with-pic"
-
- #--disable-static conflicts with --enable-cxx, so we have to do either or
- use static && myconf="${myconf} --enable-cxx" || \
- myconf="${myconf} --disable-static"
- # fortran needs f90 support
- #myconf="${myconf} $(use_enable fortran)"
- use threads && myconf="${myconf} --with-pthread"
- use debug && myconf="${myconf} --enable-debug=all"
- use mpi && myconf="${myconf} --enable-parallel --disable-cxx"
- use hlapi || myconf="${myconf} --disable-hl"
-
- # 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 CC="/usr/bin/mpicc"
- fi
- ./configure --prefix=/usr ${myconf} \
- $(use_enable zlib) \
- $(use_with ssl) \
- --enable-linux-lfs \
- --sysconfdir=/etc \
- --infodir=/usr/share/info \
- --mandir=/usr/share/man || die "configure failed"
-
- # restore the ARCH environment variable
- ARCH=${EBUILD_ARCH}
-
- make || die "make failed"
-}
-
-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.so "${S}"/test/.libs/lib*so* || die "dolib.so failed"
-
- if use static ; then
- 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"
- fi
-
- dobin "${S}"/bin/iostats || die "dobin failed"
-
- dodoc README.txt MANIFEST
- dohtml doc/html/*
-
- if use mpi ; then
- mv "${D}"usr/bin/h5pcc "${D}"usr/bin/h5cc
- fi
- # change the SHLIB default for C
- if ! use static ; then
- dosed "s/SHLIB:-no/SHLIB:-yes/g" "${D}"usr/bin/h5cc || die "dosed failed"
- fi
-}
diff --git a/sci-libs/hdf5/hdf5-1.6.7.ebuild b/sci-libs/hdf5/hdf5-1.6.7.ebuild
new file mode 100644
index 000000000000..c621de7777af
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.6.7.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.7.ebuild,v 1.1 2008/08/17 15:25:52 markusle Exp $
+
+inherit eutils fixheadtails 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 ~hppa ~ppc ~ppc64 ~x86 ~sparc"
+# need to update szip to get alpha, ia64, etc back in here,
+IUSE="cxx debug fortran mpi ssl szip threads tools 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-apps/coreutils
+ sys-process/time"
+
+RDEPEND="${DEPEND}
+ dev-lang/perl"
+
+pkg_setup() {
+ if has test ${FEATURES} && use mpi ; then
+ elog ""
+ elog "Parallel tests will launch 3 mpd processes on this box,"
+ elog "so it may take some time on a slow machine (only a few"
+ elog "minutes on a reasonably fast machine). Hit Ctl-C now"
+ elog "and emerge with FEATURES=-test if you'd rather not..."
+ elog ""
+ epause 9
+ fi
+
+ # 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
+ fortran_pkg_setup
+ case "${FORTRANC}" in
+ gfortran|ifc|ifort|f95|pgf90)
+ export F9X="${FORTRANC}"
+ ;;
+ g77|f77|f2c)
+ export F9X=""
+ ;;
+ esac
+ fi
+
+ # if anyone knows of a better way to do this...
+ 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}"
+
+ epatch "${FILESDIR}"/${PN}-1.6.6-gcc4.3.patch
+ if use mpi; then
+ # this is required for mpich2, and should be safe otherwise
+ epatch "${FILESDIR}/${PN}-mpich2.patch"
+ fi
+
+ # fix test script stuff
+ ht_fix_file "${S}"/bin/release "${S}"/tools/h5dump/testh5dump.sh.in
+ sed -i -e "s:+4l:+4:g" tools/h5dump/testh5dump.sh.in || die "oops"
+
+ # fix sort key
+ sed -i -e "s:sort +2:sort -k 2:g" bin/ltmain.sh || die "sed failed"
+
+}
+
+src_compile() {
+ local myconf
+
+ # a better way to do this would also be nice, but i can't think of one
+ 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
+ EBUILD_CC="${CC}"
+ # set NPROCS explicitly if needed
+ export NPROCS=${NPROCS:=2}
+ export CC="$(type -p mpicc)"
+ if [[ ${FORTRANC} == gfortran ]] ; then
+ export F9X="$(type -p mpif90)"
+ fi
+ if built_with_use sys-cluster/mpich2 pvfs2 ; then
+ export LIBS="${LIBS} $(sh pvfs2-config --libs) -lmpich"
+ else
+ export LIBS="${LIBS} -lmpich"
+ fi
+ append-ldflags "${LIBS}"
+ fi
+
+ econf --prefix=/usr \
+ $(use_enable zlib) \
+ $(use_enable fortran) \
+ $(use_enable mpi parallel) \
+ $(use_with ssl) \
+ --enable-linux-lfs \
+ --sysconfdir=/etc \
+ --infodir=/usr/share/info \
+ --libdir=/usr/$(get_libdir) \
+ --mandir=/usr/share/man \
+ --enable-shared --with-pic \
+ ${myconf} || die "configure failed"
+
+ # restore the ARCH environment variable
+ ARCH="${EBUILD_ARCH}"
+
+ # emake has occasional segfaults
+ make || die "make failed"
+ use mpi && CC="${EBUILD_CC}"
+}
+
+src_test() {
+ # all tests pass; a few are skipped, and MPI skips parts if it sees
+ # only one process on the build host.
+ export HDF5_Make_Ignore=yes
+ if use mpi ; then
+ EBUILD_CC="${CC}"
+ export HDF5_PARAPREFIX="${S}/testpar"
+ export CC="$(type -p mpicc)"
+ export MPI_UNIVERSE="localhost 4"
+ export NPROCS=3
+ install -g portage -o portage -m 0600 "${FILESDIR}"/mpd.conf "${HOME}"/.mpd.conf
+ mpd --daemon --listenport=4268
+ mpd --daemon -h localhost -p 4268 -n
+ mpd --daemon -h localhost -p 4268 -n
+ elog "NPROCS = ${NPROCS}"
+ elog "mpdtrace output:"
+ mpdtrace
+ fi
+ make check || die "make test failed"
+ use mpi && mpdallexit
+ use mpi && CC="${EBUILD_CC}"
+ export HDF5_Make_Ignore=no
+}
+
+src_install() {
+ # emake install and einstall cause sandbox violations here
+ 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"
+
+ if use tools ; then
+ 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/libh5test.so.0.0.0 \
+ "${S}"/test/.libs/libh5test.so.0 \
+ "${S}"/test/.libs/libh5test.so \
+ || die "dolib.so failed"
+
+ exeinto /usr/bin
+ newexe "${S}"/bin/iostats iostats.pl || die "newexe failed"
+
+ exeinto /usr/share/"${PN}/test-tools"
+ cd "${S}"/test
+ doexe big bittests fillval lheap file_handle istore set_extent \
+ srb_append cache flush1 srb_read cmpd_dset flush2 srb_write \
+ dangle gass_append links stab dsets dtypes enum extend external \
+ gass_read mount gass_write getname gheap hyperslab mtime ntypes \
+ ohdr reserved stream_test testhdf5 ttsafe unlink
+ cd "${S}"
+ use mpi && doexe testpar/testphdf5 testpar/t_mpi
+ fi
+
+ dodoc README.txt
+ 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() {
+ echo
+ elog "Use the fortran flag for gfortran or ifc, and add the f90"
+ elog "flag to override the fortran flag if you have a different"
+ elog "f90 compiler installed (gfortran requires gcc 4.x). Note that"
+ elog "gfortran only works as mpif90 and is not detected properly by"
+ elog "configure without the mpi wrapper."
+ echo
+ elog "There should not be any more test errors in the mpi tests,"
+ elog "and all C++, Fortran, and other tests pass successfully."
+ elog "Suggested USE flags for fortran and mpi support using"
+ elog "gfortran: USE=\"fortran mpi -cxx\""
+ echo
+ ewarn "Note 1: Needs more SMP and cluster testing, as well as"
+ ewarn "more testing on a virtual (parallel) filesystem."
+ echo
+ ewarn "Note 2: currently testing pvfs2 support (with mpi). Please"
+ ewarn "report any problems in the usual way."
+ elog
+ ewarn "Note 3: you'll need rawio support enabled in your kernel or"
+ ewarn "certain asynchronous IO operations may 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
+}