diff options
author | Justin Bronder <jsbronder@gentoo.org> | 2009-09-15 16:25:16 +0000 |
---|---|---|
committer | Justin Bronder <jsbronder@gentoo.org> | 2009-09-15 16:25:16 +0000 |
commit | e0e8fda4127d782dbb4d9d4114ece147936cb435 (patch) | |
tree | 4941580d67c563f1ca5ef7af790b881bc86bce34 /sys-cluster | |
parent | Fix bug #284818. (diff) | |
download | historical-e0e8fda4127d782dbb4d9d4114ece147936cb435.tar.gz historical-e0e8fda4127d782dbb4d9d4114ece147936cb435.tar.bz2 historical-e0e8fda4127d782dbb4d9d4114ece147936cb435.zip |
Adding mpich2-1.0.8 back to the tree.
Package-Manager: portage-2.2_rc40/cvs/Linux x86_64
RepoMan-Options: --force
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/mpich2/ChangeLog | 5 | ||||
-rw-r--r-- | sys-cluster/mpich2/Manifest | 10 | ||||
-rw-r--r-- | sys-cluster/mpich2/mpich2-1.0.8.ebuild | 223 |
3 files changed, 232 insertions, 6 deletions
diff --git a/sys-cluster/mpich2/ChangeLog b/sys-cluster/mpich2/ChangeLog index db0fc385e3b5..84cb2c2689ef 100644 --- a/sys-cluster/mpich2/ChangeLog +++ b/sys-cluster/mpich2/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for sys-cluster/mpich2 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/ChangeLog,v 1.41 2009/09/15 15:05:04 jsbronder Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/ChangeLog,v 1.42 2009/09/15 16:25:16 jsbronder Exp $ + + 15 Sep 2009; Justin Bronder <jsbronder@gentoo.org> +mpich2-1.0.8.ebuild: + Adding mpich2-1.0.8 back to the tree. 05 Jul 2009; Markus Meier <maekke@gentoo.org> mpich2-1.0.8.ebuild: amd64 stable, bug #266409 diff --git a/sys-cluster/mpich2/Manifest b/sys-cluster/mpich2/Manifest index 768ffe50ee5e..25a8cffde567 100644 --- a/sys-cluster/mpich2/Manifest +++ b/sys-cluster/mpich2/Manifest @@ -23,13 +23,13 @@ DIST mpich2-1.0.8.tar.gz 17237476 RMD160 646cf50fbdc60a49809f4d0a6bcaf2835844db1 EBUILD mpich2-1.0.3-r1.ebuild 6000 RMD160 567b0c8a1490cf027360f64922bb1c7b790febfe SHA1 c3f299110632a25b820fe535523c82ef5916751e SHA256 53a1eb944df4cd7e3298c517ea9d5cd75def1630e6f5fd307d66f01b3295025c EBUILD mpich2-1.0.3.ebuild 2809 RMD160 2b55e1f9737baa86305da05949dbab67d47352a3 SHA1 4c1c76a39202f91f859c43647900060fba9328f4 SHA256 65b88fa53a8d68d7f8db72c74badf5f4e8925f700d9affb7c5555562b4bf3ff3 EBUILD mpich2-1.0.6.ebuild 10906 RMD160 2352bb02c24166018cbbcd4bad9eba9ffa86597b SHA1 c9ba43c633a7bbbe0f29ceba085252ab2d1f7763 SHA256 930a4d98329b2daac7d8ea8f15299125a3c4a8c311a446e831b80aa7eade5c17 -EBUILD mpich2-1.0.8.ebuild 6083 RMD160 2817b2a632241c2c807f9281a3153f430e93f575 SHA1 7593b325e93b69cec43682385c3bd8c0f7d3a79d SHA256 5fdfa7b4a6447bed55e7842095cc08ce5e577755fc08344f789f8eea37c83937 -MISC ChangeLog 8902 RMD160 0856457d32307826bff928c066b98fa99d40079e SHA1 72e772b1fc5a3c4d4c3743645d363f7230ea36c6 SHA256 8d1f0955ed2f9617a57da1eaeef9f1d681c512b09415f3fd9d180aa3fa140d15 +EBUILD mpich2-1.0.8.ebuild 6081 RMD160 7202fdf4a85aa1c5f58158f6d21cc27d5241e1c8 SHA1 ba5af89f1c5a8b386d6cc550be3e57a7d68e57b6 SHA256 05b923d0d5628d1e9ce57bcd5502574ff71458cbf91c33a93568b007feaf6073 +MISC ChangeLog 9018 RMD160 d61f320780de0b6043d9d4000cef330c36a2b526 SHA1 16782af28a8f3670191223d0e82aa4ed165db631 SHA256 8703c52d8a2f727a3d773bc38f8244403ee88ff934eddf79125049244acfe84e MISC metadata.xml 668 RMD160 f56f9c5c751af5fa65c848c16dae61f11ad40de6 SHA1 9e5221933dd0c7bd918fa7a4791bb6e0017fba27 SHA256 843b215b79e31646bb4f205a62a612c5a98224845288fadcb8a2e25ecf1d5668 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) -iEYEARECAAYFAkqvraMACgkQ4MrvBE1wQ8m1zACaA+ejErKFn/Hi4xyeNaMn/fuk -fsIAnj39XyeJfF1h/UGu+mL56oei1UeW -=AXKd +iEYEARECAAYFAkqvv/EACgkQ4MrvBE1wQ8kTegCcCZeD767OZ6R7IH35RitNoRV9 +xbgAoIU0Hi6UwO32fwsnAXvZ8pYDl0lC +=ojvB -----END PGP SIGNATURE----- diff --git a/sys-cluster/mpich2/mpich2-1.0.8.ebuild b/sys-cluster/mpich2/mpich2-1.0.8.ebuild new file mode 100644 index 000000000000..1a291b898863 --- /dev/null +++ b/sys-cluster/mpich2/mpich2-1.0.8.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/mpich2-1.0.8.ebuild,v 1.11 2009/09/15 16:25:16 jsbronder Exp $ + +EAPI=1 +inherit python eutils fortran autotools + +DESCRIPTION="MPICH2 - A portable MPI implementation" +HOMEPAGE="http://www-unix.mcs.anl.gov/mpi/mpich2" +SRC_URI="http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/${PV}/${P}.tar.gz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="amd64 ppc ~ppc64 x86" +IUSE="+cxx debug doc fortran pvfs2 threads romio mpi-threads" + +COMMON_DEPEND="dev-lang/perl + >=dev-lang/python-2.3 + romio? ( net-fs/nfs-utils ) + pvfs2? ( >=sys-cluster/pvfs2-2.7.0 ) + dev-libs/libaio + !media-sound/mpd + !sys-cluster/mpiexec + !sys-cluster/openmpi + !sys-cluster/lam-mpi + !sys-cluster/mpich" + +DEPEND="${COMMON_DEPEND} + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + net-misc/openssh" + +pkg_setup() { + if [ -n "${MPICH_CONFIGURE_OPTS}" ]; then + elog "User-specified configure options are ${MPICH_CONFIGURE_OPTS}." + else + elog "User-specified configure options are not set." + elog "If needed, see the docs and set MPICH_CONFIGURE_OPTS." + fi + + if use fortran ; then + FORTRAN="g77 gfortran ifort ifc" + fortran_pkg_setup + fi + + if use mpi-threads && ! use threads; then + die "USE=mpi-threads requires USE=threads" + fi + + MPD_CONF_FILE_DIR=/etc/${PN} + python_version +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # A lot of these patches touch Makefile.in and configure files. + # While it would be nice to regenerate everything, mpich2 uses + # simplemake instead of automake, so we're doing this for now + # and hoping for a receptive upstream. + + # #220877 + sed -i 's/-fpic/-fPIC/g' \ + $(grep -lr -e '-fpic' "${S}/") || die "failed to change -fpic to -fPIC" + + # Put python files in site-packages where they belong. + # This isn't the prettiest little patch, but it does + # move python files out of /usr/bin/ + epatch "${FILESDIR}"/${P}-site-packages-py.patch + + # Respect the env var MPD_CONF_FILE + # TODO: Send upstream + epatch "${FILESDIR}"/${P}-mpdconf-env.patch + + # Fix gforker instal-alt + # TODO: Send upstream + epatch "${FILESDIR}"/${P}-gforker-install-alt-fix.patch + + # We need f90 to include the directory with mods, and to + # fix hardcoded paths for src_test() + sed -i \ + -e "s,F90FLAGS\( *\)=,F90FLAGS\1?=," \ + -e "s,\$(bindir)/,${S}/bin/,g" \ + -e "s,@MPIEXEC@,${S}/bin/mpiexec,g" \ + $(find ./test/ -name 'Makefile.in') || die + + # 254167, I'm pretty sure they meant srcdir in the path to remove files. + # TODO: Send upstream + sed -i 's:scrdir:srcdir:g' "${S}"/src/pm/mpd/Makefile.in || die + + # #257821, fix the pkgconfig file. + # TODO: Send upstream + epatch "${FILESDIR}"/${P}-pkgconfig.patch + + if ! use romio; then + # These tests in errhan/ rely on MPI::File ...which is in romio + echo "" > test/mpi/errors/cxx/errhan/testlist + fi + + # #269856, detect python 2.6 + # TODO: Send upstream + epatch "${FILESDIR}"/${P}-py26.patch + pushd "${S}"/src/pm/mpd >/dev/null || die "Missing src/pm/mpd" + cat aclocal_mpd.m4 "${S}"/confdb/aclocal_subcfg.m4 > aclocal.m4 + AT_M4DIR=${S}/confdb eautoreconf + popd >/dev/null +} + +src_compile() { + local c="${MPICH_CONFIGURE_OPTS} --enable-sharedlibs=gcc" + local romio_conf + + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. + + use debug && c="${c} --enable-g=all --enable-debuginfo" + + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + + # enable f90 support for appropriate compilers + case "${FORTRANC}" in + gfortran|if*) + c="${c} --enable-f77 --enable-f90";; + g77) + c="${c} --enable-f77 --disable-f90";; + esac + + if use mpi-threads; then + c="${c} --enable-threads=multiple" + else + c="${c} --enable-threads=single" + fi + + if use pvfs2; then + # nfs and ufs are defaults in 1.0.8 at least. + romio_conf="--with-file-system=pvfs2+nfs+ufs --with-pvfs2=/usr" + fi + + c="${c} --sysconfdir=/etc/${PN}" + econf ${c} ${romio_conf} \ + --docdir=/usr/share/doc/${PF} \ + --with-pm=mpd:gforker \ + --disable-mpe \ + $(use_enable romio) \ + $(use_enable cxx) \ + || die + # Oh, the irony. + # http://www.mcs.anl.gov/research/projects/mpich2/support/index.php?s=faqs#parmake + # https://trac.mcs.anl.gov/projects/mpich2/ticket/297 + emake -j1 || die +} + +src_test() { + local rc + + cp "${FILESDIR}"/mpd.conf "${T}"/mpd.conf || die + chmod 600 "${T}"/mpd.conf + export MPD_CONF_FILE="${T}/mpd.conf" + "${S}"/bin/mpd --daemon --pid="${T}"/mpd.pid + + make \ + CC="${S}"/bin/mpicc \ + CXX="${S}"/bin/mpicxx \ + FC="${S}"/bin/mpif77 \ + F90="${S}"/bin/mpif90 \ + F90FLAGS="${F90FLAGS} -I${S}/src/binding/f90/" \ + testing + rc=$? + + "${S}"/bin/mpdallexit || kill $(<"${T}"/mpd.pid) + return ${rc} +} + +src_install() { + emake DESTDIR="${D}" install || die + + dodir ${MPD_CONF_FILE_DIR} + insinto ${MPD_CONF_FILE_DIR} + doins "${FILESDIR}"/mpd.conf || die + + dodir /usr/share/doc/${PF} + dodoc COPYRIGHT README README.romio README.testing \ + CHANGES README.developer RELEASE_NOTES || die + newdoc src/pm/mpd/README README.mpd || die + + if ! use doc; then + rm -rf "${D}"/usr/share/doc/www* + else + dodir /usr/share/doc/${PF}/www + mv "${D}"/usr/share/doc/www*/* "${D}"/usr/share/doc/${PF}/www/ + fi + + cp "${FILESDIR}"/${PN}.envd "${T}"/ + sed -i "s,@MPD_CONF_FILE_DIR@,${MPD_CONF_FILE_DIR}," \ + "${T}"/${PN}.envd + + ln -s ../$(get_libdir)/python${PYVER}/site-packages/mpich2/mpdgdbdrv.py \ + "${D}"/usr/bin/mpdgdbdrv.py + newenvd "${FILESDIR}"/${PN}.envd 25mpich2 +} + +pkg_postinst() { + # Here so we can play with ebuild commands as a normal user + chown root:root "${ROOT}"${MPD_CONF_FILE_DIR}/mpd.conf + chmod 600 "${ROOT}"${MPD_CONF_FILE_DIR}/mpd.conf + + python_mod_optimize /usr/$(get_libdir)/python${PYVER}/site-packages/${PN} + elog "" + elog "MPE2 has been removed from this ebuild and now stands alone" + elog "as sys-cluster/mpe2." + elog "" +} + +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/python${PYVER}/site-packages/${PN} +} |