commit:     ba27c5abd5a986dc687d272d91312f2374d9ae93
Author:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
AuthorDate: Sat Nov 29 21:56:06 2014 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Sat Nov 29 21:56:06 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=ba27c5ab

sys-cluster/mpe2: Add ebuild to overlay and bump version

---
 licenses/mpich2                    |  39 ++++++++++
 sys-cluster/mpe2/ChangeLog         |   9 +++
 sys-cluster/mpe2/metadata.xml      |   5 ++
 sys-cluster/mpe2/mpe2-1.3.0.ebuild | 142 +++++++++++++++++++++++++++++++++++++
 4 files changed, 195 insertions(+)

diff --git a/licenses/mpich2 b/licenses/mpich2
new file mode 100644
index 0000000..a9216d4
--- /dev/null
+++ b/licenses/mpich2
@@ -0,0 +1,39 @@
+
+                                 COPYRIGHT
+
+The following is a notice of limited availability of the code, and disclaimer
+which must be included in the prologue of the code and in all source listings
+of the code.
+
+Copyright Notice
+ + 2002 University of Chicago
+
+Permission is hereby granted to use, reproduce, prepare derivative works, and
+to redistribute to others.  This software was authored by:
+
+Mathematics and Computer Science Division
+Argonne National Laboratory, Argonne IL 60439
+
+(and)
+
+Department of Computer Science
+University of Illinois at Urbana-Champaign
+
+
+                             GOVERNMENT LICENSE
+
+Portions of this material resulted from work developed under a U.S.
+Government Contract and are subject to the following license: the Government
+is granted for itself and others acting on its behalf a paid-up, nonexclusive,
+irrevocable worldwide license in this computer software to reproduce, prepare
+derivative works, and perform publicly and display publicly.
+
+                                 DISCLAIMER
+
+This computer code material was prepared, in part, as an account of work
+sponsored by an agency of the United States Government.  Neither the United
+States, nor the University of Chicago, nor any of their employees, makes any
+warranty express or implied, or assumes any legal liability or responsibility
+for the accuracy, completeness, or usefulness of any information, apparatus,
+product, or process disclosed, or represents that its use would not infringe
+privately owned rights.

diff --git a/sys-cluster/mpe2/ChangeLog b/sys-cluster/mpe2/ChangeLog
new file mode 100644
index 0000000..b424437
--- /dev/null
+++ b/sys-cluster/mpe2/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for sys-cluster/mpe2
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*mpe2-1.3.0 (29 Nov 2014)
+
+  29 Nov 2014; Marius Brehler <mar...@linux.sungazer.de> +metadata.xml,
+  +mpe2-1.3.0.ebuild:
+  Add to overlay and bump version

diff --git a/sys-cluster/mpe2/metadata.xml b/sys-cluster/mpe2/metadata.xml
new file mode 100644
index 0000000..55dd68a
--- /dev/null
+++ b/sys-cluster/mpe2/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <herd>cluster</herd>
+</pkgmetadata>

diff --git a/sys-cluster/mpe2/mpe2-1.3.0.ebuild 
b/sys-cluster/mpe2/mpe2-1.3.0.ebuild
new file mode 100644
index 0000000..b76e7ad
--- /dev/null
+++ b/sys-cluster/mpe2/mpe2-1.3.0.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 java-utils-2 toolchain-funcs
+
+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="mpich2"
+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() {
+       fortran-2_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
+
+       export JFLAGS="${JFLAGS} $(java-pkg_javac-args)"
+
+       if [[ "${MPE_IMP}" == openmpi ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" 
]; then
+               echo
+               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."
+               echo
+       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"
+       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)
+}
+
+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
+
+       # No parallel make:
+       # http://trac.mcs.anl.gov/projects/mpich2/ticket/1095#comment:1
+       emake -j1 \
+               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() {
+       # No parallel make:
+       # http://trac.mcs.anl.gov/projects/mpich2/ticket/1095#comment:1
+       emake -j1 DESTDIR="${D}" install || die
+       rm -f "${D}"/usr/sbin/mpeuninstall || die
+}

Reply via email to