summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2009-09-17 19:43:05 +0000
committerJustin Bronder <jsbronder@gentoo.org>2009-09-17 19:43:05 +0000
commit6e7686a5fffe26dbd13bb5883bed04290c1c8ceb (patch)
tree6c125e2d6dad674fa590a9bb75ad312ef37fd1ea /sys-cluster
parentVersion bump. (diff)
downloadhistorical-6e7686a5fffe26dbd13bb5883bed04290c1c8ceb.tar.gz
historical-6e7686a5fffe26dbd13bb5883bed04290c1c8ceb.tar.bz2
historical-6e7686a5fffe26dbd13bb5883bed04290c1c8ceb.zip
bump mpich2-1.1.1_p1, #203922
Package-Manager: portage-2.2_rc40/cvs/Linux x86_64
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/mpich2/ChangeLog10
-rw-r--r--sys-cluster/mpich2/Manifest13
-rw-r--r--sys-cluster/mpich2/files/0001-MPD_CONF_FILE-should-be-readable.patch32
-rw-r--r--sys-cluster/mpich2/files/0002-mpd_conf_file-search-order.patch98
-rw-r--r--sys-cluster/mpich2/files/0003-Fix-pkgconfig-for-mpich2-ch3.patch36
-rw-r--r--sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild189
6 files changed, 373 insertions, 5 deletions
diff --git a/sys-cluster/mpich2/ChangeLog b/sys-cluster/mpich2/ChangeLog
index 84cb2c2689ef..738c7e4cc859 100644
--- a/sys-cluster/mpich2/ChangeLog
+++ b/sys-cluster/mpich2/ChangeLog
@@ -1,6 +1,14 @@
# 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.42 2009/09/15 16:25:16 jsbronder Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpich2/ChangeLog,v 1.43 2009/09/17 19:43:05 jsbronder Exp $
+
+*mpich2-1.1.1_p1 (17 Sep 2009)
+
+ 17 Sep 2009; Justin Bronder <jsbronder@gentoo.org>
+ +files/0001-MPD_CONF_FILE-should-be-readable.patch,
+ +files/0002-mpd_conf_file-search-order.patch,
+ +files/0003-Fix-pkgconfig-for-mpich2-ch3.patch, +mpich2-1.1.1_p1.ebuild:
+ bump mpich2-1.1.1_p1, #203922
15 Sep 2009; Justin Bronder <jsbronder@gentoo.org> +mpich2-1.0.8.ebuild:
Adding mpich2-1.0.8 back to the tree.
diff --git a/sys-cluster/mpich2/Manifest b/sys-cluster/mpich2/Manifest
index 25a8cffde567..4dca75099272 100644
--- a/sys-cluster/mpich2/Manifest
+++ b/sys-cluster/mpich2/Manifest
@@ -1,6 +1,9 @@
-----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
AUX mpd.conf 48 RMD160 289de9bb40759e3f71229cf47e4d2af83703a85f SHA1 244eee76dbf4ff269e4489d5cc7c3577c6c1fa6b SHA256 ae740cacaf2cb798921cb2092f5af98de67445e27af3f88858f3e6d2bbb127f4
AUX mpich2-1.0.3-make-test.patch 741 RMD160 b139d5c92e35c888dba1d196b118c9e4d334cc90 SHA1 98084a742311957e5f4ddb086bd5be868d6f60c5 SHA256 1b4c7ed94504779ec87cabdb6238210545eb7fb352729a39c3cce1bb0df62c67
AUX mpich2-1.0.3-make.patch 4524 RMD160 1b4d1aaaafacb688ae0118714a36ec12b60e97b6 SHA1 d4466adebd1b7fbd26daed9317a75ba2d6ae9c7c SHA256 6180fa27369462b0d6fdcdf35a02401d7fc0b7bc1856bdf104ddf74c0de233f1
@@ -20,16 +23,18 @@ AUX mpich2.envd 45 RMD160 e29a0d617bbc15cc42d3088f8a79c1c715b353fa SHA1 765b885d
DIST mpich2-1.0.3.tar.gz 12166368 RMD160 5e7cd42f8359d81e6578d1fffca4708471e03cec SHA1 0ca48abaa98e98f0136508463886aad39ecefccb SHA256 294717fc05e9d509ed0e45c99709ddba696ad6919c47fc0801a410fe129623df
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
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 6081 RMD160 7202fdf4a85aa1c5f58158f6d21cc27d5241e1c8 SHA1 ba5af89f1c5a8b386d6cc550be3e57a7d68e57b6 SHA256 05b923d0d5628d1e9ce57bcd5502574ff71458cbf91c33a93568b007feaf6073
-MISC ChangeLog 9018 RMD160 d61f320780de0b6043d9d4000cef330c36a2b526 SHA1 16782af28a8f3670191223d0e82aa4ed165db631 SHA256 8703c52d8a2f727a3d773bc38f8244403ee88ff934eddf79125049244acfe84e
+EBUILD mpich2-1.1.1_p1.ebuild 5021 RMD160 32cac7d16093e0b551084a2ab8148b40944d7c49 SHA1 d10e15b45568a5306a131d9af05d0cabcb478441 SHA256 612cfeb95c19f55a6ff6fe586b936f040365831e6ea0e48df8a07a07611773cc
+MISC ChangeLog 9313 RMD160 94aafcd6ddc8410d72e5ecf1808160f099034681 SHA1 b7b50b7bb2aefc1e4173ff82de903ff7788529f8 SHA256 96475ac613976de8a90d2c79dd119081ebd53bbe170c71aed5744b532e5a1ec8
MISC metadata.xml 668 RMD160 f56f9c5c751af5fa65c848c16dae61f11ad40de6 SHA1 9e5221933dd0c7bd918fa7a4791bb6e0017fba27 SHA256 843b215b79e31646bb4f205a62a612c5a98224845288fadcb8a2e25ecf1d5668
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
-iEYEARECAAYFAkqvv/EACgkQ4MrvBE1wQ8kTegCcCZeD767OZ6R7IH35RitNoRV9
-xbgAoIU0Hi6UwO32fwsnAXvZ8pYDl0lC
-=ojvB
+iEYEARECAAYFAkqykVMACgkQ4MrvBE1wQ8kDcQCfVKs+I7kgmfEHybQwHKE+zFlP
+6/wAoJ/ZXTkpf1i6gkFtFAQR2Wuj5/2/
+=ZtTp
-----END PGP SIGNATURE-----
diff --git a/sys-cluster/mpich2/files/0001-MPD_CONF_FILE-should-be-readable.patch b/sys-cluster/mpich2/files/0001-MPD_CONF_FILE-should-be-readable.patch
new file mode 100644
index 000000000000..fa685e36431d
--- /dev/null
+++ b/sys-cluster/mpich2/files/0001-MPD_CONF_FILE-should-be-readable.patch
@@ -0,0 +1,32 @@
+From 4daa0519150f38bd322964157157fb3369ee0f38 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Wed, 16 Sep 2009 11:43:59 -0400
+Subject: [PATCH 1/3] MPD_CONF_FILE should be readable
+
+When looking for the MPD_CONF_FILE, the existance is not enough, the
+file also needs to be readable by the current user.
+---
+ src/pm/mpd/mpdlib.py | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/pm/mpd/mpdlib.py b/src/pm/mpd/mpdlib.py
+index 8ea8a05..31ddcb4 100644
+--- a/src/pm/mpd/mpdlib.py
++++ b/src/pm/mpd/mpdlib.py
+@@ -1359,11 +1359,11 @@ class MPDParmDB(dict):
+ if os.environ.has_key(k):
+ self[('env',k)] = os.environ[k]
+ def get_parms_from_rcfile(self,parmsToOverride,errIfMissingFile=0):
+- if os.environ.has_key('MPD_CONF_FILE'):
++ if os.environ.has_key('MPD_CONF_FILE') and os.access(os.environ['MPD_CONF_FILE'], os.R_OK):
+ parmsRCFilename = os.environ['MPD_CONF_FILE']
+ elif hasattr(os,'getuid') and os.getuid() == 0: # if ROOT
+ parmsRCFilename = os.path.abspath('/etc/mpd.conf')
+- elif os.environ.has_key('HOME'):
++ elif os.environ.has_key('HOME') and os.access(os.path.join(os.environ['HOME'], '.mpd.conf'), os.R_OK):
+ parmsRCFilename = os.path.join(os.environ['HOME'],'.mpd.conf')
+ elif os.environ.has_key('HOMEPATH'): # e.g. win32
+ parmsRCFilename = os.path.join(os.environ['HOMEPATH'],'.mpd.conf')
+--
+1.6.3.3
+
diff --git a/sys-cluster/mpich2/files/0002-mpd_conf_file-search-order.patch b/sys-cluster/mpich2/files/0002-mpd_conf_file-search-order.patch
new file mode 100644
index 000000000000..2bb59e7c28cb
--- /dev/null
+++ b/sys-cluster/mpich2/files/0002-mpd_conf_file-search-order.patch
@@ -0,0 +1,98 @@
+From c5c6b5677854d2e835ed7d8d0497ab4f475c63fc Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Wed, 16 Sep 2009 11:50:20 -0400
+Subject: [PATCH 2/3] mpd_conf_file search order.
+
+Make sure the search order for mpd.conf is the following:
+ - MPD_CONF_FILE set in environment
+ - .mpd.conf in the user's home directory
+ - The system wide default in SYSCONFDIR/mpd.conf
+---
+ src/pm/mpd/Makefile.in | 9 ++++++---
+ src/pm/mpd/mpdroot.c | 27 +++++++++++++++++++++++++--
+ 2 files changed, 31 insertions(+), 5 deletions(-)
+
+diff --git a/src/pm/mpd/Makefile.in b/src/pm/mpd/Makefile.in
+index e1752f8..4ef65fc 100644
+--- a/src/pm/mpd/Makefile.in
++++ b/src/pm/mpd/Makefile.in
+@@ -74,7 +74,7 @@ mpdroot: ${mpdroot_OBJECTS}
+ $(C_LINK) -o mpdroot ${mpdroot_OBJECTS} $(LIBS)
+
+ mpdroot.o: ${srcdir}/mpdroot.c ${srcdir}/mpdroot.h mpdconf.h
+- ${C_COMPILE} -c $<
++ ${C_COMPILE} -DSYSCONFDIR=\"@sysconfdir@\" -c $<
+
+ # The following lines provide the right libraries for all example programs
+ .c:
+@@ -128,7 +128,10 @@ install: all
+ @echo "copying python files/links into " $(DESTDIR)${bindir}
+ -@for cmd in ${PYTHON_SOURCE} ; do \
+ if [ ! -s $(srcdir)/$$cmd.py ] ; then continue ; fi ; \
+- sed -e 's#/usr/bin/env python.*#/usr/bin/env ${PYTHON}#' ${srcdir}/$$cmd.py > $(DESTDIR)${bindir}/temp$$cmd.py ; \
++ sed \
++ -e 's#/usr/bin/env python.*#/usr/bin/env ${PYTHON}#' \
++ -e 's,/etc/mpd.conf,@sysconfdir@/mpd.conf,g' \
++ ${srcdir}/$$cmd.py > $(DESTDIR)${bindir}/temp$$cmd.py ; \
+ ${INSTALL} -m 755 $(DESTDIR)${bindir}/temp$$cmd.py $(DESTDIR)${bindir}/$$cmd.py; \
+ ( rm -f $(DESTDIR)${bindir}/temp$$cmd.py >/dev/null 2>&1 || exit 0 ) ; \
+ done
+@@ -210,7 +213,7 @@ mpich2-mpdroot: mpich2-mpdroot.o
+
+ mpich2-mpdroot.o: ${srcdir}/mpdroot.c ${srcdir}/mpdroot.h mpdconf.h
+ ${INSTALL} -m 644 ${srcdir}/mpdroot.c mpich2-mpdroot.c
+- ${C_COMPILE} -c mpich2-mpdroot.c
++ ${C_COMPILE} -DSYSCONFDIR=\"@sysconfdir@\" -c mpich2-mpdroot.c
+ rm -f mpich2-mpdroot.c
+
+ # A special alternate installation target when using multiple process managers
+diff --git a/src/pm/mpd/mpdroot.c b/src/pm/mpd/mpdroot.c
+index 348c7b6..1a4f2a5 100644
+--- a/src/pm/mpd/mpdroot.c
++++ b/src/pm/mpd/mpdroot.c
+@@ -19,6 +19,7 @@ int main(int argc, char *argv[])
+ struct passwd *pwent;
+ char input_line[NAME_LEN+1], secretword[NAME_LEN+1];
+ FILE *conf_file;
++ char *mpdconf_path = NULL;
+
+ if ((pwent = getpwuid(getuid())) == NULL) /* for real id */
+ {
+@@ -26,10 +27,32 @@ int main(int argc, char *argv[])
+ exit(-1);
+ }
+
+- conf_file = fopen("/etc/mpd.conf","r");
++ /*
++ * We look for a readable mpd.conf in the following order.
++ * - MPD_CONF_FILE set in environment
++ * - .mpd.conf in the user's home directory
++ * - The system wide default in SYSCONFDIR/mpd.conf
++ */
++ mpdconf_path = getenv("MPD_CONF_FILE");
++ if ( ! (mpdconf_path && access( mpdconf_path, R_OK ) == 0) ){
++ /* By far, the largest we'll need */
++ size_t mpdconf_path_len = strlen(pwent->pw_dir) \
++ + strlen(SYSCONFDIR) + strlen("/.mpd.conf");
++
++ mpdconf_path = (char*) malloc( sizeof(char) * mpdconf_path_len );
++ if ( ! mpdconf_path ){
++ fprintf( stderr, "%s: Failed to allocate a buffer for path to mpd.conf\n", argv[0]);
++ exit(-1);
++ }
++ snprintf( mpdconf_path, mpdconf_path_len-1, "%s/.mpd.conf", pwent->pw_dir );
++ if ( access( mpdconf_path, R_OK ) != 0 )
++ snprintf( mpdconf_path, mpdconf_path_len-1, "%s/mpd.conf", SYSCONFDIR );
++ }
++ conf_file = fopen( mpdconf_path, "r");
++
+ if (conf_file == NULL)
+ {
+- printf("%s: open failed for root's mpd conf file",argv[0]);
++ printf("%s: open failed for root's mpd conf file\n",argv[0]);
+ exit(-1);
+ }
+ secretword[0] = '\0';
+--
+1.6.3.3
+
diff --git a/sys-cluster/mpich2/files/0003-Fix-pkgconfig-for-mpich2-ch3.patch b/sys-cluster/mpich2/files/0003-Fix-pkgconfig-for-mpich2-ch3.patch
new file mode 100644
index 000000000000..04be31337d5d
--- /dev/null
+++ b/sys-cluster/mpich2/files/0003-Fix-pkgconfig-for-mpich2-ch3.patch
@@ -0,0 +1,36 @@
+From 06eaaf72d12ca70275fd4f403af14bcb2d609718 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Wed, 16 Sep 2009 11:59:57 -0400
+Subject: [PATCH 3/3] Fix pkgconfig for mpich2-ch3
+
+Variables were undefined, see http://bugs.gentoo.org/257821
+
+$ pkg-config --list-all
+[lots of output, then]
+Variable 'exec_prefix' not defined in '/usr/lib/pkgconfig/mpich2-ch3.pc'
+---
+ src/packaging/pkgconfig/mpich2-ch3.pc.in | 8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/packaging/pkgconfig/mpich2-ch3.pc.in b/src/packaging/pkgconfig/mpich2-ch3.pc.in
+index df10b7f..8621ef5 100644
+--- a/src/packaging/pkgconfig/mpich2-ch3.pc.in
++++ b/src/packaging/pkgconfig/mpich2-ch3.pc.in
+@@ -1,8 +1,12 @@
+ # this gives access to the mpich2 header files
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
+
+ Name: mpich2
+ Description: MPICH2 is an implementation of the Message-Passing Interface (MPI). The goals of MPICH2 are to provide an MPI implementation for important platforms, including clusters, SMPs, and massively parallel processors. It also provides a vehicle for MPI implementation research and for developing new and better parallel programming environments.
+ Version: @VERSION@
+ Requires:
+-Libs: -L@libdir@ -lmpich -lmpichcxx @LIBS@
+-Cflags: @CFLAGS@ -I@includedir@ -DMPICH_IGNORE_CXX_SEEK
++Libs: -L${libdir} -lmpich -lmpichcxx @LIBS@
++Cflags: @CFLAGS@ -I${includedir} -DMPICH_IGNORE_CXX_SEEK
+--
+1.6.3.3
+
diff --git a/sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild b/sys-cluster/mpich2/mpich2-1.1.1_p1.ebuild
new file mode 100644
index 000000000000..915309a206fb
--- /dev/null
+++ b/sys-cluster/mpich2/mpich2-1.1.1_p1.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.1.1_p1.ebuild,v 1.1 2009/09/17 19:43:05 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 ""
+}