summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <nerdboy@gentoo.org>2006-06-24 16:13:48 +0000
committerSteve Arnold <nerdboy@gentoo.org>2006-06-24 16:13:48 +0000
commitfa6c5a5581d90f87032e38489578542214500270 (patch)
tree23715e4e2d662225149afcc3f7ec64bd94ddb3c4 /sci-libs/hdf5
parentSwitched to new qt3/qt4 USE flag scheme, thanks to Cardoe. Fixes bug #137659.... (diff)
downloadhistorical-fa6c5a5581d90f87032e38489578542214500270.tar.gz
historical-fa6c5a5581d90f87032e38489578542214500270.tar.bz2
historical-fa6c5a5581d90f87032e38489578542214500270.zip
Added fix for bug 134439, fortran support, tests, configure logic, and more
Package-Manager: portage-2.1.1_pre1-r1
Diffstat (limited to 'sci-libs/hdf5')
-rw-r--r--sci-libs/hdf5/ChangeLog16
-rw-r--r--sci-libs/hdf5/Manifest29
-rw-r--r--sci-libs/hdf5/files/digest-hdf5-1.6.5-r13
-rw-r--r--sci-libs/hdf5/files/mpd.conf2
-rw-r--r--sci-libs/hdf5/hdf5-1.6.5-r1.ebuild207
-rw-r--r--sci-libs/hdf5/hdf5-1.6.5.ebuild31
6 files changed, 271 insertions, 17 deletions
diff --git a/sci-libs/hdf5/ChangeLog b/sci-libs/hdf5/ChangeLog
index 386b0879efd5..58248dd2bc84 100644
--- a/sci-libs/hdf5/ChangeLog
+++ b/sci-libs/hdf5/ChangeLog
@@ -1,10 +1,20 @@
# 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.13 2006/06/14 15:20:27 fmccor Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/ChangeLog,v 1.14 2006/06/24 16:13:48 nerdboy Exp $
+
+*hdf5-1.6.5-r1 (24 Jun 2006)
+
+ 24 Jun 2006; Steve Arnold <nerdboy@gentoo.org> +files/mpd.conf,
+ hdf5-1.6.5.ebuild, +hdf5-1.6.5-r1.ebuild:
+ Updated for bug 134439, fortran support, tests, and creeping complexity.
+ Added use flags and logic for incompatible configure options, and support
+ for additional Fortran compilers (currently only tested with gfortran).
+ See comments and einfo for more details. Backport install fixes. Also
+ made SHLIB change for issue below (bug #118777).
14 Jun 2006; Ferris McCormick <fmccor@gentoo.org> hdf5-1.6.5.ebuild:
- Add ~sparc keyword, closing Bug #118777 --- but please see Comments 4 and 5 on
- the bug for conditions under which hdf5 should be built. (USE flags and
+ Add ~sparc keyword, closing Bug #118777 --- but please see Comments 4 and 5
+ on the bug for conditions under which hdf5 should be built. (USE flags and
environment variables curiosities.)
*hdf5-1.6.5 (25 May 2006)
diff --git a/sci-libs/hdf5/Manifest b/sci-libs/hdf5/Manifest
index 34f9dad93a37..545d26caead6 100644
--- a/sci-libs/hdf5/Manifest
+++ b/sci-libs/hdf5/Manifest
@@ -1,4 +1,8 @@
-DIST hdf5-1.6.2.tar.gz 3879147 RMD160 75678e8859e783dbb274cdabee3d916724c46780 SHA256 aabc23cb2c744c25b71416e25bdca3b9ca8dadb9248f22314330a33d91c599ba
+AUX mpd.conf 48 RMD160 289de9bb40759e3f71229cf47e4d2af83703a85f SHA1 244eee76dbf4ff269e4489d5cc7c3577c6c1fa6b SHA256 ae740cacaf2cb798921cb2092f5af98de67445e27af3f88858f3e6d2bbb127f4
+MD5 091e189d645e04506aeeafac4bf3faf6 files/mpd.conf 48
+RMD160 289de9bb40759e3f71229cf47e4d2af83703a85f files/mpd.conf 48
+SHA256 ae740cacaf2cb798921cb2092f5af98de67445e27af3f88858f3e6d2bbb127f4 files/mpd.conf 48
+DIST hdf5-1.6.2.tar.gz 3879147 RMD160 75678e8859e783dbb274cdabee3d916724c46780 SHA1 1afa977b371c01e53dd6e0bd3a0d879a3f2ae5a2 SHA256 aabc23cb2c744c25b71416e25bdca3b9ca8dadb9248f22314330a33d91c599ba
DIST hdf5-1.6.4.tar.gz 4862437 RMD160 8175af3153bb0a5a1278c01af2d3940f4fd5084f SHA1 e419e81097b8093d16d96708b764bd85db053e86 SHA256 11ab0d81575f333067ae091d39c28fbf446c8ecafdfe70cf92b3c35ceffbfc97
DIST hdf5-1.6.5.tar.gz 4930666 RMD160 70db16a832f77aa6d0c97da517353665304b7b27 SHA1 c5b7b375c0eb23dcab0c66d39b1b06c263048546 SHA256 85b7cfc1e34db544fa93f5bf7effe189a5e1eb97f0cfa7b212adc11915a756b2
EBUILD hdf5-1.6.2.ebuild 1845 RMD160 8e662160e1b42c5a58fbac00a0d95f7a507c7628 SHA1 1baade1e508ad95430addb3bbca07b3dbd71c0f5 SHA256 1a2a03a07b42dad381c56585d203fd64a9a10f7170687b9cad97725b4db3ee9a
@@ -9,14 +13,18 @@ EBUILD hdf5-1.6.4.ebuild 2107 RMD160 b563d55acd098d4aae60bb9ae92d72c9c9d87b16 SH
MD5 a6909692f068dc005572cfa342757ab0 hdf5-1.6.4.ebuild 2107
RMD160 b563d55acd098d4aae60bb9ae92d72c9c9d87b16 hdf5-1.6.4.ebuild 2107
SHA256 26cd2c352ef2ff1586bbdbcd74eaf02b25b0828d1f57dccf209ab83acaaed14b hdf5-1.6.4.ebuild 2107
-EBUILD hdf5-1.6.5.ebuild 2108 RMD160 10e7523547dd2e0d0eea24a60ca72658fda23abf SHA1 68dabbaf233a0a83a20b255f1bd4a2a7676e5b29 SHA256 5d42a658643aa6f9d09f14817507184fe8093c7f17d25e1677fcf31ea364c73d
-MD5 800cbe014b2c68dda44daabe6c1b3867 hdf5-1.6.5.ebuild 2108
-RMD160 10e7523547dd2e0d0eea24a60ca72658fda23abf hdf5-1.6.5.ebuild 2108
-SHA256 5d42a658643aa6f9d09f14817507184fe8093c7f17d25e1677fcf31ea364c73d hdf5-1.6.5.ebuild 2108
-MISC ChangeLog 4562 RMD160 47352e2d3f5425d6051e10903f3830a8a966fbd4 SHA1 e7834c890a25e89ede5e753b1f695ef06f9a7324 SHA256 bca6775d9a24e0171517bef88cfb51d29f9d9968debc861e7695c1cb1bc8fa20
-MD5 3fc8d4c96b5537379978f91b03509ac3 ChangeLog 4562
-RMD160 47352e2d3f5425d6051e10903f3830a8a966fbd4 ChangeLog 4562
-SHA256 bca6775d9a24e0171517bef88cfb51d29f9d9968debc861e7695c1cb1bc8fa20 ChangeLog 4562
+EBUILD hdf5-1.6.5-r1.ebuild 6915 RMD160 c7d56fda55269be93d1b84b4651cd251f853d6c9 SHA1 379bbfa22b28db03bd00d059a734bf6e31367f13 SHA256 8b901ea960c162656d32d6dc069b0297ae444c3df231b7eaed9da14e2002066d
+MD5 6125aee2c28d26ce30cc94a5827a0d75 hdf5-1.6.5-r1.ebuild 6915
+RMD160 c7d56fda55269be93d1b84b4651cd251f853d6c9 hdf5-1.6.5-r1.ebuild 6915
+SHA256 8b901ea960c162656d32d6dc069b0297ae444c3df231b7eaed9da14e2002066d hdf5-1.6.5-r1.ebuild 6915
+EBUILD hdf5-1.6.5.ebuild 2698 RMD160 7ca8f3454bafc54c65764a09f367860c3c940471 SHA1 61f0b5df781bc151a5c5fedc8992293498c3706e SHA256 5fe7ca91b17a45146f6757a2ed0b0efcdbffc28ce2d9982e224b9898555e4f6d
+MD5 8764309057359f4eda768482f52dccf4 hdf5-1.6.5.ebuild 2698
+RMD160 7ca8f3454bafc54c65764a09f367860c3c940471 hdf5-1.6.5.ebuild 2698
+SHA256 5fe7ca91b17a45146f6757a2ed0b0efcdbffc28ce2d9982e224b9898555e4f6d hdf5-1.6.5.ebuild 2698
+MISC ChangeLog 5054 RMD160 6339c351951e91b7ad334758dba86de6d67500f9 SHA1 4df122332ede4519b5b1a28c41e5c7a1d183d1c2 SHA256 db4aebe2b730d2380758184f3ce66f5993d8f694d7e27fb98879358e2908622f
+MD5 b54d87c80d34bac9da441dd7c42b23db ChangeLog 5054
+RMD160 6339c351951e91b7ad334758dba86de6d67500f9 ChangeLog 5054
+SHA256 db4aebe2b730d2380758184f3ce66f5993d8f694d7e27fb98879358e2908622f ChangeLog 5054
MISC metadata.xml 156 RMD160 dc078172bfebcb25d69bdf8731714f9cce9d3e36 SHA1 da2b240a255820145b7c83a5c48e45b96b7e9ee6 SHA256 5d22100902db7507a5b5493dd4a66cdb08025faf80a2c0b75e6392315c47f900
MD5 8c623e53daafa025137077c6b65815bd metadata.xml 156
RMD160 dc078172bfebcb25d69bdf8731714f9cce9d3e36 metadata.xml 156
@@ -30,3 +38,6 @@ SHA256 97e83c5bb167cb453d738a1b0b5162bd8e42ab2e3b5a9bdd4cb75beaaeed202d files/di
MD5 11ef5245b9dbcdeb35123a3e68005b55 files/digest-hdf5-1.6.5 235
RMD160 ca1a1b4fcb1908440dc0a52bba81d1e9abd5918a files/digest-hdf5-1.6.5 235
SHA256 071675af191269049c93a5e66d02b04d567c97f01f0748896b156d6ea0a56097 files/digest-hdf5-1.6.5 235
+MD5 11ef5245b9dbcdeb35123a3e68005b55 files/digest-hdf5-1.6.5-r1 235
+RMD160 ca1a1b4fcb1908440dc0a52bba81d1e9abd5918a files/digest-hdf5-1.6.5-r1 235
+SHA256 071675af191269049c93a5e66d02b04d567c97f01f0748896b156d6ea0a56097 files/digest-hdf5-1.6.5-r1 235
diff --git a/sci-libs/hdf5/files/digest-hdf5-1.6.5-r1 b/sci-libs/hdf5/files/digest-hdf5-1.6.5-r1
new file mode 100644
index 000000000000..0e151bfe2241
--- /dev/null
+++ b/sci-libs/hdf5/files/digest-hdf5-1.6.5-r1
@@ -0,0 +1,3 @@
+MD5 67187b3253b89f1f41756b7fd4396ecf hdf5-1.6.5.tar.gz 4930666
+RMD160 70db16a832f77aa6d0c97da517353665304b7b27 hdf5-1.6.5.tar.gz 4930666
+SHA256 85b7cfc1e34db544fa93f5bf7effe189a5e1eb97f0cfa7b212adc11915a756b2 hdf5-1.6.5.tar.gz 4930666
diff --git a/sci-libs/hdf5/files/mpd.conf b/sci-libs/hdf5/files/mpd.conf
new file mode 100644
index 000000000000..07dd9825023a
--- /dev/null
+++ b/sci-libs/hdf5/files/mpd.conf
@@ -0,0 +1,2 @@
+secretword=test69hike
+MPD_SECRETWORD=test69hike
diff --git a/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild b/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild
new file mode 100644
index 000000000000..4ed6e1b88885
--- /dev/null
+++ b/sci-libs/hdf5/hdf5-1.6.5-r1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2006 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.1 2006/06/24 16:13:48 nerdboy Exp $
+
+inherit fortran eutils toolchain-funcs
+
+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 alpha, ia64, etc back in here,
+IUSE="cxx f90 fortran hlapi mpi ssl szip threads zlib static debug"
+
+DEPEND="mpi? ( virtual/mpi )
+ ssl? ( dev-libs/openssl )
+ szip? ( sci-libs/szip )
+ zlib? ( sys-libs/zlib )
+ 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
+ einfo "Configuring for GNU fortran..."
+ elif
+ test -d /opt/intel/fortran90 ; then
+ FORTRAN="ifc"
+ fortran_pkg_setup
+ einfo "Configuring for Intel fortran..."
+ elif
+ test -f `which pgf90` ; then
+ FORTRAN="pgf90"
+ fortran_pkg_setup
+ einfo "Configuring for PGI fortran..."
+ elif use f90 ; then
+ einfo "Relying on H5Detect to configure Fortran compiler..."
+ 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
+}
+
+src_compile() {
+ local myconf="--with-pic"
+
+ # --disable-static conflicts with --enable-cxx, so we have to do either
+ # or here. --enable-cxx also conflicts with parallel (mpi) support.
+ # fortran needs f90 support and requires static and mpi (for gfortran).
+ if use static ; then
+ 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-static"
+ elif use fortran && use f90 ; then
+ ewarn "Relying on configure to detect Fortran 90 compiler..."
+ myconf="${myconf} --enable-fortran --enable-static"
+ elif
+ use fortran && ! use mpi && ! use f90 ; then
+ ewarn "Configure fortran will probably fail without mpi, if all"
+ ewarn "you have is gfortran installed. Please enable mpi or"
+ ewarn "install another Fortran compiler. Fortran support is"
+ ewarn "not enabled for this build..."
+ myconf="${myconf} --disable-fortran --enable-static"
+ else
+ myconf="${myconf} --disable-fortran --enable-static"
+ fi
+ else
+ einfo "C++ support cannot be enabled without both enabling static"
+ einfo "library support and disabling mpi. Fortran9X support needs"
+ einfo "both static and mpi enabled to work with GNU fortran."
+ echo
+ einfo "Suggested USE flags for fortran and mpi using gfortran:"
+ einfo "USE=\"fortran mpi static -cxx\""
+ echo
+ if use fortran || use cxx ; then
+ die "Please adjust your use flags."
+ else
+ einfo "Disabling fortran, C++, and static library support..."
+ myconf="${myconf} --disable-static --disable-fortran \
+ --disable-cxx"
+ fi
+ fi
+ use threads && myconf="${myconf} --with-pthread"
+ use debug && myconf="${myconf} --enable-debug=all"
+ use mpi && myconf="${myconf} --enable-parallel --enable-gpfs"
+ 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 \
+ --libdir=/usr/$(get_libdir)/${PN} \
+ --mandir=/usr/share/man || die "configure failed"
+
+ # restore the ARCH environment variable
+ ARCH=${EBUILD_ARCH}
+
+ # emake has occasional segfaults
+ make || die "make failed"
+ echo "LDPATH=\"/usr/$(get_libdir)/${PN}\"" > 50hdf5
+}
+
+src_test() {
+ # make test is not reliable, and the mpi tests have a weird failure
+ export HDF5_Make_Ignore=yes
+ install -g portage -o portage -m 0600 ${FILESDIR}/mpd.conf ${HOME}/.mpd.conf
+ /usr/bin/mpd --daemon
+ make check || die "make test failed"
+ /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)/${PN} \
+ 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)/${PN}
+ doins ${S}/tools/lib/libh5tools.la \
+ ${S}/test/libh5test.la || die "doins failed"
+ fi
+ mv ${D}usr/$(get_libdir)/libh5* ${D}usr/$(get_libdir)/${PN}/
+
+ dobin ${S}/bin/iostats || die "dobin failed"
+ dodoc README.txt COPYING 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
+ if ! use static ; then
+ dosed "s/SHLIB:-no/SHLIB:-yes/g" ${D}usr/bin/h5cc || die "dosed failed"
+ fi
+
+ doenvd 50hdf5
+}
+
+pkg_postinst() {
+ echo
+ einfo "Use the fortran flag for gfortran, ifc, or pgf90, and add the"
+ einfo "f90 flag to override the fortran flag if you have a different"
+ einfo "f90 compiler installed (gfortran requires gcc 4.x). Note that"
+ einfo "gfortran only works as mpif90 and is not detected properly by"
+ einfo "configure without the mpi wrapper."
+ echo
+ einfo "There are currently 2 non-fatal test errors in the mpi tests,"
+ einfo "however, all C++, Fortran, and other tests pass successfully."
+ einfo "The only expected failure is currently in the PHDF5 section"
+ einfo "under MPI functionality tests. The second section using the"
+ einfo "MPIPOSIX driver should work, along with all other tests."
+ echo
+ einfo "Suggested USE flags for fortran and mpi support using gfortran:"
+ einfo "USE=\"fortran mpi static -cxx\""
+ echo
+ ewarn "Note: currently untested on a virtual (parallel) filesystem."
+ echo
+}
diff --git a/sci-libs/hdf5/hdf5-1.6.5.ebuild b/sci-libs/hdf5/hdf5-1.6.5.ebuild
index eace4aa86383..1ce8ad82661f 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
# 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.2 2006/06/14 15:20:27 fmccor Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-libs/hdf5/hdf5-1.6.5.ebuild,v 1.3 2006/06/24 16:13:48 nerdboy Exp $
inherit eutils
@@ -29,7 +29,7 @@ src_compile() {
#myconf="${myconf} $(use_enable fortran)"
use threads && myconf="${myconf} --with-pthread"
use debug && myconf="${myconf} --enable-debug=all"
- use mpi && myconf="${myconf} --enable-parallel"
+ use mpi && myconf="${myconf} --enable-parallel --disable-cxx"
use hlapi || myconf="${myconf} --disable-hl"
# NOTE: the hdf5 configure script has its own interpretation of
@@ -39,8 +39,9 @@ src_compile() {
EBUILD_ARCH=${ARCH}
unset ARCH
- use mpi && \
- export CC="/usr/bin/mpicc"
+ if use mpi ; then
+ export CC="/usr/bin/mpicc"
+ fi
./configure --prefix=/usr ${myconf} \
$(use_enable zlib) \
$(use_with ssl) \
@@ -52,7 +53,7 @@ src_compile() {
# restore the ARCH environment variable
ARCH=${EBUILD_ARCH}
- emake || die "emake failed"
+ make || die "make failed"
}
src_install() {
@@ -64,6 +65,26 @@ src_install() {
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 COPYING 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
}