summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2009-09-29 20:33:09 +0000
committerJustin Bronder <jsbronder@gentoo.org>2009-09-29 20:33:09 +0000
commitfff5c354076b0c33acff864a1b7a84a483782778 (patch)
treee1bed7b725e10850f1be6d45bc2592482f689550 /sys-cluster/mpe2
parentVersion bump. (diff)
downloadhistorical-fff5c354076b0c33acff864a1b7a84a483782778.tar.gz
historical-fff5c354076b0c33acff864a1b7a84a483782778.tar.bz2
historical-fff5c354076b0c33acff864a1b7a84a483782778.zip
Adding sys-cluster/mpe2 with support for either openmpi or mpich2
Package-Manager: portage-2.2_rc40/cvs/Linux x86_64
Diffstat (limited to 'sys-cluster/mpe2')
-rw-r--r--sys-cluster/mpe2/ChangeLog10
-rw-r--r--sys-cluster/mpe2/Manifest14
-rw-r--r--sys-cluster/mpe2/metadata.xml10
-rw-r--r--sys-cluster/mpe2/mpe2-1.0.6_p1.ebuild140
4 files changed, 174 insertions, 0 deletions
diff --git a/sys-cluster/mpe2/ChangeLog b/sys-cluster/mpe2/ChangeLog
new file mode 100644
index 000000000000..21c0c5a31e8a
--- /dev/null
+++ b/sys-cluster/mpe2/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sys-cluster/mpe2
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpe2/ChangeLog,v 1.1 2009/09/29 20:33:09 jsbronder Exp $
+
+*mpe2-1.0.6_p1 (29 Sep 2009)
+
+ 29 Sep 2009; Justin Bronder <jsbronder@gentoo.org> +mpe2-1.0.6_p1.ebuild,
+ +metadata.xml:
+ Adding sys-cluster/mpe2 with support for either openmpi or mpich2
+
diff --git a/sys-cluster/mpe2/Manifest b/sys-cluster/mpe2/Manifest
new file mode 100644
index 000000000000..4e666109deb3
--- /dev/null
+++ b/sys-cluster/mpe2/Manifest
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+DIST mpe2-1.0.6p1.tar.gz 9313216 RMD160 1c52f379c3fff4bac5c68505ca657584d8092f7f SHA1 bc810c7a1f3ef5b9cf2563278053afadbc2029f2 SHA256 23cfef2b8a0a27408b5bdadeb216ba3adb3b02bf40d0fa6fc0a110cefd8c5863
+EBUILD mpe2-1.0.6_p1.ebuild 3491 RMD160 b8ebf3409382845325e09ba20235939af84efd4c SHA1 1d1051e0a0eed701217696c851df3fb12ce2cda0 SHA256 e778b21f680dffe903be43cbcad7fce455931403ee409cb462ddbc193ffaa9f4
+MISC ChangeLog 400 RMD160 e5c2e0f42be62ee559270bd5b9a0526d775ceb6b SHA1 1f18985aa0c6937365cd5cdbd325c2325bd73874 SHA256 df35cb6376eca7a43b68fcf5bd5e8ba7e3440816ae2b7aacb31113c07ac7e895
+MISC metadata.xml 262 RMD160 28b216487d02e3543ce0ceac0e7e3fd60cbe63bc SHA1 b700ba0837d2e5d604092b3b44960885c785c5b4 SHA256 c34f39ce5df0360b6bd1b55f67e26f35a8d482be2082951e27102ff850c58be5
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.11 (GNU/Linux)
+
+iEYEARECAAYFAkrCbw4ACgkQ4MrvBE1wQ8kP/gCbB43c6NPHAvXhIWONmB2egOYj
+TOoAoK4p3bs0esCn9whb92U1HdlqHp8w
+=TzT1
+-----END PGP SIGNATURE-----
diff --git a/sys-cluster/mpe2/metadata.xml b/sys-cluster/mpe2/metadata.xml
new file mode 100644
index 000000000000..a9bd7f630172
--- /dev/null
+++ b/sys-cluster/mpe2/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>hp-cluster</herd>
+ <maintainer>
+ <email>jsbronder@gentoo.org</email>
+ <name>Justin Bronder</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/sys-cluster/mpe2/mpe2-1.0.6_p1.ebuild b/sys-cluster/mpe2/mpe2-1.0.6_p1.ebuild
new file mode 100644
index 000000000000..bb5819cdc119
--- /dev/null
+++ b/sys-cluster/mpe2/mpe2-1.0.6_p1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/mpe2/mpe2-1.0.6_p1.ebuild,v 1.1 2009/09/29 20:33:09 jsbronder Exp $
+
+EAPI=2
+inherit fortran eutils java-utils-2
+
+MY_P=${P/_/}
+DESCRIPTION="MPI development tools"
+HOMEPAGE="http://www-unix.mcs.anl.gov/perfvis/download/index.htm"
+SRC_URI="ftp://ftp.mcs.anl.gov/pub/mpi/${PN%2}/${MY_P}.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="minimal fortran threads debug"
+
+COMMON_DEPEND="!minimal? ( x11-libs/libXtst
+ x11-libs/libXi )
+ || ( sys-cluster/openmpi[fortran?,threads?]
+ sys-cluster/mpich2[fortran?,threads?] )"
+
+DEPEND="!minimal? ( >=virtual/jdk-1.4 )
+ ${COMMON_DEPEND}"
+
+RDEPEND="!minimal? ( >=virtual/jre-1.4 )
+ ${COMMON_DEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+MPE_IMP=""
+
+# README:
+# This ebuild is created to handle building with both mpich2 and openmpi.
+# However, without empi (in the science overlay), and some further
+# conversion to use mpi.eclass, we can only handle one implementation
+# at a time. I still believe it's better to have the ebuild setup
+# correctly in preperation.
+
+pkg_setup() {
+ local i
+
+ if has_version sys-cluster/openmpi; then
+ MPE_IMP=openmpi
+ elif has_version sys-cluster/mpich2; then
+ MPE_IMP=mpich2
+ else
+ die "Unknown MPI implementation"
+ fi
+
+ if use fortran ; then
+ FORTRAN="g77 gfortran ifort ifc"
+ fortran_pkg_setup
+ fi
+
+ export JFLAGS="${JFLAGS} $(java-pkg_javac-args)"
+
+ if [[ "${MPE_IMP}" == openmpi ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then
+ elog ""
+ elog "Currently src_test fails on collchk with openmpi, hence"
+ elog "testing is disabled by default. If you would like to"
+ elog "force testing, please add MPE_FORCE_OPENMPI_TEST=1"
+ elog "to your environment."
+ elog ""
+ fi
+
+ einfo "Building with support for: sys-cluster/${MPE_IMP}"
+}
+
+src_prepare() {
+ # Don't assume path contains ./
+ sed -i 's,\($MPERUN\) $pgm,\1 ./$pgm,' sbin/mpetestexeclog.in
+}
+
+src_configure() {
+ local c="--with-mpicc=/usr/bin/mpicc"
+
+ if use fortran; then
+ c="${c} --with-mpif77=/usr/bin/mpif77"
+ export F77=${FORTRANC}
+ else
+ c="${c} --disable-f77"
+ fi
+
+ if use minimal; then
+ c="${c} --enable-slog2=no --disable-rlog --disable-sample"
+ else
+ c="${c} --with-java2=$(java-config --jdk-home) --enable-slog2=build"
+ fi
+
+ if [[ "${MPE_IMP}" == openmpi ]]; then
+ c="${c} --disable-rlog --disable-sample"
+ fi
+
+ econf ${c} \
+ --sysconfdir=/etc/${PN} \
+ --datadir=/usr/share/${PN} \
+ --with-htmldir=/usr/share/${PN} \
+ --with-docdir=/usr/share/${PN} \
+ --enable-collchk \
+ --enable-wrappers \
+ $(use_enable !minimal graphics) \
+ $(use_enable threads threadlogging) \
+ $(use_enable debug g) \
+ || die
+}
+
+src_test() {
+ local rc
+
+ cd "${S}"
+ if [[ "${MPE_IMP}" == mpich2 ]]; then
+ echo "MPD_SECRETWORD=junk" > "${T}"/mpd.conf
+ chmod 600 "${T}"/mpd.conf
+ export MPD_CONF_FILE="${T}/mpd.conf"
+ "${ROOT}"usr/bin/mpd -d --pidfile="${T}"/mpd.pid
+ elif [[ "${MPE_IMP}" == openmpi* ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then
+ elog
+ elog "Skipping tests for openmpi"
+ elog
+ return 0
+ fi
+
+ emake \
+ CC="${S}"/bin/mpecc \
+ FC="${S}"/bin/mpefc \
+ MPERUN="${ROOT}/usr/bin/mpiexec -n 4" \
+ CLOG2TOSLOG2="${S}/src/slog2sdk/bin/clog2TOslog2" \
+ check;
+ rc=${?}
+ if [[ "${MPE_IMP}" == mpich2 ]]; then
+ "${ROOT}"usr/bin/mpdallexit || kill $(<"${T}"/mpd.pid)
+ fi
+
+ return ${rc}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ rm -f "${D}"/usr/sbin/mpeuninstall || die
+}