diff options
-rw-r--r-- | sys-cluster/mpich2/ChangeLog | 7 | ||||
-rw-r--r-- | sys-cluster/mpich2/Manifest | 14 | ||||
-rw-r--r-- | sys-cluster/mpich2/mpich2-1.2.ebuild | 189 |
3 files changed, 208 insertions, 2 deletions
diff --git a/sys-cluster/mpich2/ChangeLog b/sys-cluster/mpich2/ChangeLog index 1f8b0cbc9180..6459a7b43964 100644 --- a/sys-cluster/mpich2/ChangeLog +++ b/sys-cluster/mpich2/ChangeLog @@ -1,6 +1,11 @@ # 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.44 2009/09/23 20:42:10 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/ChangeLog,v 1.45 2009/10/08 18:06:21 jsbronder Exp $ + +*mpich2-1.2 (08 Oct 2009) + + 08 Oct 2009; Justin Bronder <jsbronder@gentoo.org> +mpich2-1.2.ebuild: + Bump sys-cluster/mpich2-1.2 23 Sep 2009; Patrick Lauer <patrick@gentoo.org> mpich2-1.0.6.ebuild: Remove virtual/libc diff --git a/sys-cluster/mpich2/Manifest b/sys-cluster/mpich2/Manifest index 2b6189cbe6f5..2837b1e5f9ec 100644 --- a/sys-cluster/mpich2/Manifest +++ b/sys-cluster/mpich2/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX 0001-MPD_CONF_FILE-should-be-readable.patch 1496 RMD160 33b8db14ab69293a53ecb0192ea7a2a568ee422e SHA1 88cb1d7cc60a1eb7a2a7ea07c8058ebb3318c734 SHA256 747462d1d2272291fd956631cee4170112523027e2b89d4f2abf6d618cc004aa AUX 0002-mpd_conf_file-search-order.patch 3882 RMD160 90bf46695398bea605002826c7d9b85c7f07e5e9 SHA1 9f20b59f853e13d81f6227ddb16535d76ec4bab3 SHA256 a56c943e68e0bcf69900ae76cb4df73ef19d60f0e9e16e6d75d48b2651324b33 AUX 0003-Fix-pkgconfig-for-mpich2-ch3.patch 1488 RMD160 e521747ae9169be0cc2e7e6bc97f07d3cec29237 SHA1 4c4763fcfc91a3edfe9997a00d0222a5ee1efe73 SHA256 ddf570a0eb1c4bdedef4357ee82b5662ded3739928c4cda4b512d84ad7577488 @@ -21,10 +24,19 @@ DIST mpich2-1.0.3.tar.gz 12166368 RMD160 5e7cd42f8359d81e6578d1fffca4708471e03ce DIST mpich2-1.0.6p1.tar.gz 15437620 RMD160 c3249bec1936bd9f3de9a8bb83f29bd32b06c191 SHA1 f8acd360df0380774d74804a706ffc1022acd62e SHA256 38808f96071965c79451a8d975fe4f28454f56f27a19ce13b2aec85012521fcc DIST mpich2-1.0.8.tar.gz 17237476 RMD160 646cf50fbdc60a49809f4d0a6bcaf2835844db1f SHA1 41d6f6ce1034ecec5c14fb03592730ae2dd071e5 SHA256 7551ce20f3ef366567c566d08782323360b5dbd2d15d816e41c10b5f96eaf369 DIST mpich2-1.1.1p1.tar.gz 18343542 RMD160 efa469c42306f3c4ce1d38d09da7c793c55ae03d SHA1 053fadf971f93fd023fae1e762f801f1d08d76e3 SHA256 10badc5afe55998f7be90f569447ce1b56c42ed0248c3a925090ad1e6a5d800f +DIST mpich2-1.2.tar.gz 17245392 RMD160 fdf9f578817750be52e0d46c9dbc47fd8cbd925f SHA1 48502bf0acd6f877503b7f7756d51b63989e4fdd SHA256 b9d6d830864a940eead0e48965e5258f07190446eb511c14f5d567b2acfcdf44 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 10894 RMD160 e81ebf74a74dcc0856e79fe4d9b261b8011024fd SHA1 01583ea1a44fe8665335ca274d3170a701072ddf SHA256 8832de5ece8bbf26a8b2a9e4fa5b1effd8d99db87e7c6f8ab1b6e94f10e3943c EBUILD mpich2-1.0.8.ebuild 6081 RMD160 7202fdf4a85aa1c5f58158f6d21cc27d5241e1c8 SHA1 ba5af89f1c5a8b386d6cc550be3e57a7d68e57b6 SHA256 05b923d0d5628d1e9ce57bcd5502574ff71458cbf91c33a93568b007feaf6073 EBUILD mpich2-1.1.1_p1.ebuild 5021 RMD160 32cac7d16093e0b551084a2ab8148b40944d7c49 SHA1 d10e15b45568a5306a131d9af05d0cabcb478441 SHA256 612cfeb95c19f55a6ff6fe586b936f040365831e6ea0e48df8a07a07611773cc -MISC ChangeLog 9405 RMD160 da138d998536759283e0c35975314e3110a60ce6 SHA1 41d21463a20948107247cd22f274731ac8674788 SHA256 707970339a406295a5ecd5db51172b946227967eecfe623f9baf06250a5523df +EBUILD mpich2-1.2.ebuild 5016 RMD160 df3dc31b5860f906862329674088b980e4a39327 SHA1 31067724f9da99e67a032057f4aec101be80f4d7 SHA256 6bc953659cac135ea6ac21fef5ba1ebb6982a9e85e54743b7a057831fc99131a +MISC ChangeLog 9538 RMD160 8392c789bb2a661f3144e0a1f0df39f2e6e8bfaf SHA1 079d9d559eba868e2ff9f8cd4a2ec371f34f2eaf SHA256 e0ebce94d3716bf6b03423e67acaf17c1f636139214a6bcc87a58103f118790f MISC metadata.xml 668 RMD160 f56f9c5c751af5fa65c848c16dae61f11ad40de6 SHA1 9e5221933dd0c7bd918fa7a4791bb6e0017fba27 SHA256 843b215b79e31646bb4f205a62a612c5a98224845288fadcb8a2e25ecf1d5668 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.11 (GNU/Linux) + +iEYEARECAAYFAkrOKh4ACgkQ4MrvBE1wQ8nGYACgsUloCGOQsGJl9IfGLCnU38kd +xssAn2MCcOpBdqe/LeWOkpSzrFm/1jN9 +=6DoK +-----END PGP SIGNATURE----- diff --git a/sys-cluster/mpich2/mpich2-1.2.ebuild b/sys-cluster/mpich2/mpich2-1.2.ebuild new file mode 100644 index 000000000000..cd3ed3887722 --- /dev/null +++ b/sys-cluster/mpich2/mpich2-1.2.ebuild @@ -0,0 +1,189 @@ +# 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.2.ebuild,v 1.1 2009/10/08 18:06:21 jsbronder Exp $ + +EAPI=1 +inherit eutils fortran +MY_PV=${PV/_/} +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/${MY_PV}/${PN}-${MY_PV}.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" + +S="${WORKDIR}"/${PN}-${MY_PV} + +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} +} + +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" + + # TODO: None of this has been sent upstream yet. + epatch "${FILESDIR}"/0001-MPD_CONF_FILE-should-be-readable.patch + epatch "${FILESDIR}"/0002-mpd_conf_file-search-order.patch + epatch "${FILESDIR}"/0003-Fix-pkgconfig-for-mpich2-ch3.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 + + if ! use romio; then + # These tests in errhan/ rely on MPI::File ...which is in romio + echo "" > test/mpi/errors/cxx/errhan/testlist + fi +} + +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=default" + 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://wiki.mcs.anl.gov/mpich2/index.php/Frequently_Asked_Questions#Q:_The_build_fails_when_I_use_parallel_make. + # 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 CHANGES RELEASE_NOTES || die + newdoc src/pm/mpd/README README.mpd || die + if use romio; then + newdoc src/mpi/romio/README README.romio || die + fi + + 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 +} + +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 + + elog "" + elog "MPE2 has been removed from this ebuild and now stands alone" + elog "as sys-cluster/mpe2." + elog "" +} |