diff options
author | Steve Arnold <nerdboy@gentoo.org> | 2006-06-24 16:13:48 +0000 |
---|---|---|
committer | Steve Arnold <nerdboy@gentoo.org> | 2006-06-24 16:13:48 +0000 |
commit | fa6c5a5581d90f87032e38489578542214500270 (patch) | |
tree | 23715e4e2d662225149afcc3f7ec64bd94ddb3c4 /sci-libs/hdf5 | |
parent | Switched to new qt3/qt4 USE flag scheme, thanks to Cardoe. Fixes bug #137659.... (diff) | |
download | historical-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/ChangeLog | 16 | ||||
-rw-r--r-- | sci-libs/hdf5/Manifest | 29 | ||||
-rw-r--r-- | sci-libs/hdf5/files/digest-hdf5-1.6.5-r1 | 3 | ||||
-rw-r--r-- | sci-libs/hdf5/files/mpd.conf | 2 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.5-r1.ebuild | 207 | ||||
-rw-r--r-- | sci-libs/hdf5/hdf5-1.6.5.ebuild | 31 |
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 } |