diff options
author | Markus Dittrich <markusle@gentoo.org> | 2008-08-17 15:25:52 +0000 |
---|---|---|
committer | Markus Dittrich <markusle@gentoo.org> | 2008-08-17 15:25:52 +0000 |
commit | 5eacfcf20eb998efc5e40409cd1c0f5bef65ba1b (patch) | |
tree | 3cff313ea1b009efd51a7c6c0cfa3b9f102ba5ee /sci-libs | |
parent | amd64/x86 stable, bug #234795 (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.5.ebuild | 90 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.7.ebuild | 251 |
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 +} |