summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <nerdboy@gentoo.org>2008-06-04 06:12:36 +0000
committerSteve Arnold <nerdboy@gentoo.org>2008-06-04 06:12:36 +0000
commit53c308158d056cccd31271b45aed70dc861295a4 (patch)
treeca001a5037e60dc8e32edcbd0dbf02d9cf99e310
parentVersion bump (diff)
downloadhistorical-53c308158d056cccd31271b45aed70dc861295a4.tar.gz
historical-53c308158d056cccd31271b45aed70dc861295a4.tar.bz2
historical-53c308158d056cccd31271b45aed70dc861295a4.zip
Fixed some build and test script issues, and updated the test function
Package-Manager: portage-2.1.5_rc6
-rw-r--r--sci-libs/hdf5/ChangeLog9
-rw-r--r--sci-libs/hdf5/Manifest4
-rw-r--r--sci-libs/hdf5/hdf5-1.6.6.ebuild98
3 files changed, 76 insertions, 35 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog
index 9be969a2dd75..26a259711a09 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.24 2008/04/15 14:06:33 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.25 2008/06/04 06:12:36 nerdboy Exp $
+
+ 04 Jun 2008; Steve Arnold <nerdboy@gentoo.org> hdf5-1.6.6.ebuild:
+ Fixed some build and test script issues, and updated the test function so
+ the MPI tests work on a single CPU box. Marking ~hppa appears premature,
+ as it really needs some szip and mpich2 keywording and/or use-masking luv
+ first, then add ~hppa back in. Not sure what it has to do with bug
+ #216855 tho...
15 Apr 2008; Markus Dittrich <markusle@gentoo.org> hdf5-1.6.6.ebuild:
Fixed messed up symlinks for libh5test.so (see bug #217720).
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
index 4e650d6698ae..46135e5cdf29 100644
--- a/sci-libs/hdf5/Manifest
+++ b/sci-libs/hdf5/Manifest
@@ -8,6 +8,6 @@ EBUILD hdf5-1.6.2.ebuild 1837 RMD160 2c7e527ade607fd3d98222787db400bc86c28d37 SH
EBUILD hdf5-1.6.4.ebuild 2098 RMD160 348a6f05d7677e372688ca5ecdcdea36c90df7c9 SHA1 aaeed445389bad0630f518e0778f900af9614fb1 SHA256 469176113ea60bc95a7efa63ca24e6d53baeab71660a44eaa23088fedfd911af
EBUILD hdf5-1.6.5-r1.ebuild 6652 RMD160 49224d6e28be248bf319e7a16dd104330a6d0b27 SHA1 0e98dca60807d97da5c7e9e4446a79f9e200f58d SHA256 7686bbde9f46ff4376857facee402649ed07c73a8e117f9ce81ba575fafbff46
EBUILD hdf5-1.6.5.ebuild 2718 RMD160 34c64e74f0a39be11afe0615d6e012e4bac06527 SHA1 56b099effc664f6d31d84c64163bb86d0e049f59 SHA256 7709f6054d0ecbda3f246315d850b9d7d8d455b7006652591e19da0e073176de
-EBUILD hdf5-1.6.6.ebuild 6697 RMD160 117ab98f2517367a5ab4ac6ca4fa6424f0641bb2 SHA1 5702558cece7fe2c15c66505fc2240232fd9286e SHA256 39b6c013c6e156723c63edf4577dde711ff4c12ed18b1f8c86b6bad6711509ce
-MISC ChangeLog 6662 RMD160 c955ac8e21335f31b7a3c90d39a5acf7ce103cc2 SHA1 c414283004d0e4fcca0657f9524a1f28da6f2e09 SHA256 3dcd3b18ceb4c864b48153d3aeb0a7171283a43344ef19df5ee7290098c7ef98
+EBUILD hdf5-1.6.6.ebuild 7860 RMD160 e96a09d9aeaa2de6cc35e3f46a081b35e9d10dbe SHA1 81538f154f78d6de31fd1ed2515d0baf1da71706 SHA256 67f07d875e479d4d56df78c990d9173b6d6eb96a52719516d0641ce43e86ab3b
+MISC ChangeLog 7047 RMD160 ff25a4a77c20eee6a8aa46097192ffef3b4de79e SHA1 d3ca5d1c4de59cad021726c143c7967c295b94c4 SHA256 3f8f36b2d382b2d721ece29ac3a1fe8732f9c5c8660e26dfeb76ef3920f790c1
MISC metadata.xml 156 RMD160 dc078172bfebcb25d69bdf8731714f9cce9d3e36 SHA1 da2b240a255820145b7c83a5c48e45b96b7e9ee6 SHA256 5d22100902db7507a5b5493dd4a66cdb08025faf80a2c0b75e6392315c47f900
diff --git a/sci-libs/hdf5/hdf5-1.6.6.ebuild b/sci-libs/hdf5/hdf5-1.6.6.ebuild
index 14d775f21863..65f75db12cd7 100644
--- a/sci-libs/hdf5/hdf5-1.6.6.ebuild
+++ b/sci-libs/hdf5/hdf5-1.6.6.ebuild
@@ -1,6 +1,6 @@
# 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.6.ebuild,v 1.6 2008/04/15 14:06:33 markusle Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.6.ebuild,v 1.7 2008/06/04 06:12:36 nerdboy Exp $
inherit eutils fixheadtails flag-o-matic fortran toolchain-funcs
@@ -10,8 +10,9 @@ 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,
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~sparc"
+# need to update szip to get alpha, ia64, etc back in here,
+# and hppa needs both szip and mpich2 (mask mpe-sdk for the latter)
IUSE="cxx debug fortran mpi ssl szip threads tools zlib "
DEPEND="!sparc? ( mpi? ( >=sys-cluster/mpich2-1.0.6
@@ -29,13 +30,23 @@ 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)
+ gfortran|ifc|ifort|f95|pgf90)
export F9X="${FORTRANC}"
;;
g77|f77|f2c)
@@ -58,10 +69,15 @@ src_unpack() {
if use mpi; then
# this is required for mpich2, and should be safe otherwise
- epatch "${FILESDIR}/${PN}-mpich2.patch" || die "mpich2 patch failed"
+ 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"
}
@@ -96,27 +112,29 @@ src_compile() {
# 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"
- if built_with_use sys-cluster/mpich2 fortran ; then
- export F9X="mpif90"
+ EBUILD_CC="${CC}"
+ # set NPROCS explicitly if needed
+ export NPROCS=${NPROCS:=2}
+ export CC="$(which mpicc)"
+ if [[ ${FORTRANC} == gfortran ]] ; then
+ export F9X="$(which mpif90)"
fi
if built_with_use sys-cluster/mpich2 pvfs2 ; then
- export LIBS="$(sh pvfs2-config --libs) -lmpich"
+ export LIBS="${LIBS} $(sh pvfs2-config --libs) -lmpich"
else
- export LIBS="-lmpich"
+ export LIBS="${LIBS} -lmpich"
fi
-# if built_with_use sys-cluster/mpich2 mpe ; then
-# myconf="${myconf} --with-mpe=/usr/include,/usr/$(get_libdir)"
-# 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 \
@@ -131,19 +149,30 @@ src_compile() {
# emake has occasional segfaults
make || die "make failed"
+ use mpi && CC="${EBUILD_CC}"
}
src_test() {
- # make test is not reliable, and the mpi tests have a weird failure
+ # 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="/usr/bin/mpicc"
+ export CC="$(which mpicc)"
+ export MPI_UNIVERSE="localhost 4"
+ export NPROCS=3
install -g portage -o portage -m 0600 "${FILESDIR}"/mpd.conf "${HOME}"/.mpd.conf
- /usr/bin/mpd --daemon
+ 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 && /usr/bin/mpdallexit
+ use mpi && mpdallexit
+ use mpi && CC="${EBUILD_CC}"
export HDF5_Make_Ignore=no
}
@@ -182,7 +211,7 @@ src_install() {
use mpi && doexe testpar/testphdf5 testpar/t_mpi
fi
- dodoc README.txt MANIFEST
+ dodoc README.txt
dohtml doc/html/*
if use mpi ; then
@@ -196,21 +225,26 @@ src_install() {
}
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"
+ 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 2: you'll need rawio support enabled in your kernel or"
- ewarn "certain asynchronous IO operations will fail. Either enable"
+ 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"