summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2010-07-03 01:38:53 +0000
committerJustin Bronder <jsbronder@gentoo.org>2010-07-03 01:38:53 +0000
commit2a4d6a7328101293d7b0a1d0192346edcae6a643 (patch)
tree617186400726d5617dbb0a18aff431dff96dcd1f /sys-cluster/mpich2
parentUpdate python handling (#316937). Cleanup deps. Automatically turn on threads... (diff)
downloadhistorical-2a4d6a7328101293d7b0a1d0192346edcae6a643.tar.gz
historical-2a4d6a7328101293d7b0a1d0192346edcae6a643.tar.bz2
historical-2a4d6a7328101293d7b0a1d0192346edcae6a643.zip
Cleanup obsolete versions.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'sys-cluster/mpich2')
-rw-r--r--sys-cluster/mpich2/ChangeLog6
-rw-r--r--sys-cluster/mpich2/Manifest14
-rw-r--r--sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild189
-rw-r--r--sys-cluster/mpich2/mpich2-1.2.1.ebuild182
-rw-r--r--sys-cluster/mpich2/mpich2-1.2.ebuild189
5 files changed, 9 insertions, 571 deletions
diff --git a/sys-cluster/mpich2/ChangeLog b/sys-cluster/mpich2/ChangeLog
index 547d9cad0cb6..25035a4f0617 100644
--- a/sys-cluster/mpich2/ChangeLog
+++ b/sys-cluster/mpich2/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-cluster/mpich2
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/ChangeLog,v 1.53 2010/07/03 01:35:41 jsbronder Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/ChangeLog,v 1.54 2010/07/03 01:38:53 jsbronder Exp $
+
+ 03 Jul 2010; Justin Bronder <jsbronder@gentoo.org>
+ -mpich2-1.1.1_p1.ebuild, -mpich2-1.2.ebuild, -mpich2-1.2.1.ebuild:
+ Cleanup obsolete versions.
03 Jul 2010; Justin Bronder <jsbronder@gentoo.org> mpich2-1.2.1_p1.ebuild:
Update python handling (#316937). Cleanup deps. Automatically turn on
diff --git a/sys-cluster/mpich2/Manifest b/sys-cluster/mpich2/Manifest
index 12c05feb4fc2..b3307064993f 100644
--- a/sys-cluster/mpich2/Manifest
+++ b/sys-cluster/mpich2/Manifest
@@ -13,21 +13,15 @@ AUX mpich2-1.0.8-py26.patch 1341 RMD160 51d9b6ebb1fcce06cabb7ef201ffefcd97e39e3e
AUX mpich2-1.0.8-site-packages-py.patch 7534 RMD160 93b2cab20620da379615eaf3bfc7279384987722 SHA1 706313c20e1d4d6a4a060c8ac36befdb5ee3b926 SHA256 a857e7c0effa7cdd62c1bc1bd054b4746764246410062d373e7e0892bcd20df8
AUX mpich2.envd 45 RMD160 e29a0d617bbc15cc42d3088f8a79c1c715b353fa SHA1 765b885d0e1d65fe7ba845cf72e3e923613d6514 SHA256 d6f128f84e1d015922af42e1280586b84737740b2517cc0b35f498b571f252f9
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.1.tar.gz 18284454 RMD160 6ffbfbd11d9a51a79228713705df7be6d7f67be7 SHA1 0f7e104143cb4449afcec542e44098423e1627cb SHA256 394736543f021ac0ea73f3f40a58ca0320b7223487eb13991f0312aa9e8721c1
DIST mpich2-1.2.1p1.tar.gz 18014859 RMD160 810cc486b65e4bcf977ac8d96ccbbcea87e0cbaa SHA1 26bd5620b45bc654aa3945755d11450be63d650c SHA256 a55d1682ee0b5ebbacc047f60620ed291e0a9b3ded3eaeb6a2c81a1598c4c964
-DIST mpich2-1.2.tar.gz 17245392 RMD160 fdf9f578817750be52e0d46c9dbc47fd8cbd925f SHA1 48502bf0acd6f877503b7f7756d51b63989e4fdd SHA256 b9d6d830864a940eead0e48965e5258f07190446eb511c14f5d567b2acfcdf44
EBUILD mpich2-1.0.8.ebuild 6043 RMD160 1b3bab7d26b9dbb4bec6c8768384eebbbdd9b1a0 SHA1 6b362515fd2afeff899d3bf42bd639fe2bdddf81 SHA256 0d82f061af8a8247af27107e7dc9e20fa296699c18021ac2a4b182c946ab5cd6
-EBUILD mpich2-1.1.1_p1.ebuild 5040 RMD160 46a25250c3133ab8a51112de5c7ccd7afda30a0a SHA1 a083fea58b81b552aa60606575dccccaed0ce20e SHA256 8406932a61481e97bd6161e9e82ff05d3d0d75e19715d525cc7bb78c1494a5ed
-EBUILD mpich2-1.2.1.ebuild 4722 RMD160 99cb618123f76218c66dbe4238d46ac5394b5607 SHA1 9eb51c74accd3a80396a8515396e0237e50f7f52 SHA256 72c309be40b4519cabeeb6c622ab7c7f8ee9c707d31450e1f72c4310762fceaf
EBUILD mpich2-1.2.1_p1.ebuild 4866 RMD160 e027010599d5b9c781f9b0c75e07f06beda3b9ec SHA1 00bc981f74696f556827401b2e3b4ab8abff13d8 SHA256 0159f9db621cc931cb25f4ad7c932478eca431eb7ed7d014aef4ff40a194c505
-EBUILD mpich2-1.2.ebuild 5035 RMD160 3ee0dfb68e305e0bdd92b6a261951abfcb15e4b0 SHA1 800b80b6737fd3f1fe256f4b5358ee595e4c123a SHA256 04c02ef2495f774404b65571fc965c4a0915aa49eae8b34566296091fcf8b2d4
-MISC ChangeLog 11117 RMD160 bcf0175152d6a8b8c2df60a53185444df2f58b83 SHA1 6bff1e4b6451ac561eafda1f94b3f58b4507b9a4 SHA256 d840b3d8ea0a179911a3c2f9d1d3f718eaf9eec25ef479b20800c70fe1c5be4e
+MISC ChangeLog 11269 RMD160 c89be8212448a2df01e3976e688d523c45b3f4a5 SHA1 2b98f820c29f083ee731a2d7e71bde58404ba7fc SHA256 d7a7a4f2d04e3da8ff1bc0ce9802369eefd8741d0855bf51a2d439358b141f3c
MISC metadata.xml 468 RMD160 6fec5dd4e4a66c5feebc8030da722b7c4d94175c SHA1 145b3c5ef34a6f3acdb732e967c53add6bbfe676 SHA256 41ca5abf4645fc4853ca86b63dc92d301c90c93329b5ffdcb255503d389dfe32
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
-iEYEARECAAYFAkwuk/IACgkQ4MrvBE1wQ8laFwCeIl+k8ctl+bSYqQ9plrsAW/zI
-VKkAn0VxLPraUC02IH+Nck826OwIgTYp
-=6HtE
+iEYEARECAAYFAkwulLIACgkQ4MrvBE1wQ8lRGwCgsVPl0PRs8EfoxBvGHGnfvPp8
+bHoAnAvQSCBqpOwch+QssYd9MV1k+0b/
+=8c4E
-----END PGP SIGNATURE-----
diff --git a/sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild b/sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild
deleted file mode 100644
index b237c1cef4af..000000000000
--- a/sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# 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.1.1_p1.ebuild,v 1.2 2009/11/24 21:37:22 jsbronder Exp $
-
-EAPI=1
-inherit eutils fortran
-MY_PV=${PV/_/}
-DESCRIPTION="MPICH2 - A portable MPI implementation"
-HOMEPAGE="http://www.mcs.anl.gov/research/projects/mpich2/index.php"
-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 ""
-}
diff --git a/sys-cluster/mpich2/mpich2-1.2.1.ebuild b/sys-cluster/mpich2/mpich2-1.2.1.ebuild
deleted file mode 100644
index 0ffd2d142946..000000000000
--- a/sys-cluster/mpich2/mpich2-1.2.1.ebuild
+++ /dev/null
@@ -1,182 +0,0 @@
-# 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.1.ebuild,v 1.1 2009/12/04 16:50:06 jsbronder Exp $
-
-EAPI=1
-inherit eutils fortran
-MY_PV=${PV/_/}
-DESCRIPTION="MPICH2 - A portable MPI implementation"
-HOMEPAGE="http://www.mcs.anl.gov/research/projects/mpich2/index.php"
-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}"
-
- # Upstream trunk, r5843
- epatch "${FILESDIR}"/0001-MPD_CONF_FILE-should-be-readable.patch
- # Upstream trunk, r5844
- epatch "${FILESDIR}"/0002-mpd_conf_file-search-order.patch
- # Upstream trunk, r5845
- epatch "${FILESDIR}"/0003-Fix-pkgconfig-for-mpich2-ch3-v1.2.1.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 ""
-}
diff --git a/sys-cluster/mpich2/mpich2-1.2.ebuild b/sys-cluster/mpich2/mpich2-1.2.ebuild
deleted file mode 100644
index e4b5a457ca36..000000000000
--- a/sys-cluster/mpich2/mpich2-1.2.ebuild
+++ /dev/null
@@ -1,189 +0,0 @@
-# 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.2 2009/11/24 21:37:22 jsbronder Exp $
-
-EAPI=1
-inherit eutils fortran
-MY_PV=${PV/_/}
-DESCRIPTION="MPICH2 - A portable MPI implementation"
-HOMEPAGE="http://www.mcs.anl.gov/research/projects/mpich2/index.php"
-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 ""
-}