summaryrefslogtreecommitdiff
path: root/sys-cluster/mpe2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-cluster/mpe2
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-cluster/mpe2')
-rw-r--r--sys-cluster/mpe2/Manifest7
-rw-r--r--sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch68
-rw-r--r--sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch68
-rw-r--r--sys-cluster/mpe2/metadata.xml8
-rw-r--r--sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild157
5 files changed, 308 insertions, 0 deletions
diff --git a/sys-cluster/mpe2/Manifest b/sys-cluster/mpe2/Manifest
new file mode 100644
index 000000000000..239193635bca
--- /dev/null
+++ b/sys-cluster/mpe2/Manifest
@@ -0,0 +1,7 @@
+AUX slog2sdk-trace_rlog-makefile-fixes.patch 2734 SHA256 015ac2a9bed7d84a9e101c437b54c689e79f293c318e022a1d6884ed3571545e SHA512 6fee1a5b06cb1394a9263d856af3b5522c8b8f10bbd481b1f94644a93290718cb38c753efbeb426d3aed98827049c7c574e1e529dfb34e35134da672c34bd684 WHIRLPOOL 6dba7ffd10a91ae25c56da7b9a0ee9398f2d1bc4a1ddd92db1ffe1accfb626f2e7a468b6b39a7a5e8668ffd4995ffd7e8a1b39d2f1ecc211186ba2c9ca6f4ae1
+AUX slog2sdk-trace_sample-makefile-fixes.patch 2746 SHA256 e611b08f6c7a2cdccee7d37075ff1f8ab4bce84458b40bc859c87f541d54fd2a SHA512 dd5f1f86a4a2abc9a5248856b0eddfc276f9bfb1376ac65f98ec28280d98fb6039e4425c5fe3a02b3ef38bd993a0440b200734520f25afef52feee7af9cd11f9 WHIRLPOOL b5edc131538295c330a6464d691c693331eadc70dc8efde6d265e7594afd83e8f89d43cbb8d4b54b4e45fd1a332b743ceb161dc3d8c1773a400e917d44367b42
+DIST mpe2-1.0.6p1.tar.gz 9313216 SHA256 23cfef2b8a0a27408b5bdadeb216ba3adb3b02bf40d0fa6fc0a110cefd8c5863 SHA512 89aa4197aef4fdef14db032f058772c179bbb9055ad369338588a883ed9e75c825e396a1233d8dc079db605eeb1aa3a8ccd392c2df6ea0ccd89cd0433ba371b4 WHIRLPOOL a32418610af18401dd36b2908efd040f61196dfc7bf181f144ba4969a103f5ea4811e771d70d2c4eecf4419db9c30ef45193acc374c559c3842ebdb8d18e8b76
+EBUILD mpe2-1.0.6_p1-r2.ebuild 3813 SHA256 7e7082054e4de8524c72dce563cdbd1a4ae201a4dc28cf894763aaa546d43045 SHA512 f766eb771fba7f92f87c1c92dee1499c41d1e1aa32aac86a05a0b52ae3a64fd7e2fb6df947bdc958e8f5ea820358a7074037f04381143a091fbf22780d25f699 WHIRLPOOL 714ccee0a2af831ee3824977cee67fc55939823e8e70f7779c0e44113748305fd6d7276610aa4fad25b474b809bb25eab0db912341446c6f628986f428d2ebcc
+MISC ChangeLog 4201 SHA256 d2685184cf70e2f040fe5cc827d1f1da9c0a5b1907d99d3230e319f01d61ddd0 SHA512 dba11e8f06a7505421427b3e8171b538e06576894485b2d5d417ce705aa2c7655c3129599f7c46beb3fb2493e506bd672e632e2617df47d6d4dba3b14dcfa07c WHIRLPOOL 61da5d8a53cd4ed34b36184ff9b66055badec37b6fdaba1d8c382c411585613a846e773b1831de2bef11a339c1f9e55d150d351a410ee9a585330fb6bae1abe0
+MISC ChangeLog-2015 2133 SHA256 8736dc11b3c840bfdcef19cd2209416288a13ff85572487b66e56bd1c5b7b98b SHA512 dd9e3ef8afaeec5a66c714ba9483d7a262b9627243d6c40c1f45c1d764ebd02b9b2430b4e2809693b91406a9acfbe2ad0dbd3304686cfe2eeefd8816b3b08b82 WHIRLPOOL 419f6be79cbe90e404f32fb6be1bf7bf7746b2489683e950f6dd0753175a99f7582a71adb3e4f4911eb407b2329ddc2a570efe67eb43be60f03e1658af254833
+MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b
diff --git a/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch b/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch
new file mode 100644
index 000000000000..4f2119ec69f0
--- /dev/null
+++ b/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch
@@ -0,0 +1,68 @@
+From 5bc91497bd4b3d2e4e962ffb2d5b9b471c4183c2 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 13 Sep 2010 14:18:51 -0400
+Subject: [PATCH 1/2] slog2sdk/trace_rlog makefile fixes
+
+- Respect user-defined LDFLAGS when linking PGM_PRINT and PGM_CHECK.
+- Do not install libraries during the compile phase.
+---
+ src/slog2sdk/trace_rlog/src/Makefile.in | 19 ++++++++-----------
+ 1 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/src/slog2sdk/trace_rlog/src/Makefile.in b/src/slog2sdk/trace_rlog/src/Makefile.in
+index 9b289b8..2d772e0 100644
+--- a/src/slog2sdk/trace_rlog/src/Makefile.in
++++ b/src/slog2sdk/trace_rlog/src/Makefile.in
+@@ -48,7 +48,8 @@ RM = @RM@
+
+ JNI_INC = @JNI_INC@
+ CFLAGS = -I.. $(JNI_INC) -I$(TRACE_INCDIR) @COPTS@
+-LDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
++LDFLAGS = @LDFLAGS@
++LIBLDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
+
+ # memory leak checker
+ MEMLIBS = @DEBUG_LIBS@
+@@ -66,33 +67,29 @@ ALL: $(libbuild_dir)/$(LIB_TRACE) $(binbuild_dir)/$(PGM_PRINT) $(binbuild_dir)/$
+
+ $(libbuild_dir)/$(LIB_TRACE): $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(libbuild_dir) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(libbuild_dir) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(libbuild_dir)
+- $(LIBTOOL) --finish $(libbuild_dir)
+
+ INSTALL_LIBSO: $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(LIBDIR) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(LIBDIR) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(DESTDIR)$(LIBDIR)
+- $(LIBTOOL) --finish $(LIBDIR)
+
+ $(binbuild_dir)/$(PGM_PRINT): $(OBJ4T)
+- $(CC) @COPTS@ -o $@ $(OBJ4T) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4T) $(MEMLIBS)
+
+ $(binbuild_dir)/$(PGM_CHECK): $(OBJ4E)
+- $(CC) @COPTS@ -o $@ $(OBJ4E) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4E) $(MEMLIBS)
+
+ clean:
+ @-$(RM) *.@OBJEXT@ *.lo *.la
+--
+1.7.1
+
diff --git a/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch b/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch
new file mode 100644
index 000000000000..717911ffb710
--- /dev/null
+++ b/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch
@@ -0,0 +1,68 @@
+From b23d8d40cf62d03cad7ce777565069368e040a96 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 13 Sep 2010 14:22:10 -0400
+Subject: [PATCH 2/2] slog2sdk/trace_sample makefile fixes
+
+- Respect user-defined LDFLAGS when linking PGM_PRINT and PGM_CHECK.
+- Do not install libraries during the compile phase.
+---
+ src/slog2sdk/trace_sample/src/Makefile.in | 19 ++++++++-----------
+ 1 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/src/slog2sdk/trace_sample/src/Makefile.in b/src/slog2sdk/trace_sample/src/Makefile.in
+index f716fff..8d3641a 100644
+--- a/src/slog2sdk/trace_sample/src/Makefile.in
++++ b/src/slog2sdk/trace_sample/src/Makefile.in
+@@ -48,7 +48,8 @@ RM = @RM@
+
+ JNI_INC = @JNI_INC@
+ CFLAGS = -I.. $(JNI_INC) -I$(TRACE_INCDIR) @COPTS@
+-LDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
++LDFLAGS = @LDFLAGS@
++LIBLDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
+
+ # memory leak checker
+ MEMLIBS = @DEBUG_LIBS@
+@@ -66,33 +67,29 @@ ALL: $(libbuild_dir)/$(LIB_TRACE) $(binbuild_dir)/$(PGM_PRINT) $(binbuild_dir)/$
+
+ $(libbuild_dir)/$(LIB_TRACE): $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(libbuild_dir) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(libbuild_dir) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(libbuild_dir)
+- $(LIBTOOL) --finish $(libbuild_dir)
+
+ INSTALL_LIBSO: $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(LIBDIR) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(LIBDIR) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(DESTDIR)$(LIBDIR)
+- $(LIBTOOL) --finish $(LIBDIR)
+
+ $(binbuild_dir)/$(PGM_PRINT): $(OBJ4T)
+- $(CC) @COPTS@ -o $@ $(OBJ4T) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4T) $(MEMLIBS)
+
+ $(binbuild_dir)/$(PGM_CHECK): $(OBJ4E)
+- $(CC) @COPTS@ -o $@ $(OBJ4E) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4E) $(MEMLIBS)
+
+ clean:
+ @-$(RM) *.@OBJEXT@ *.lo *.la
+--
+1.7.1
+
diff --git a/sys-cluster/mpe2/metadata.xml b/sys-cluster/mpe2/metadata.xml
new file mode 100644
index 000000000000..8bf4b5f36954
--- /dev/null
+++ b/sys-cluster/mpe2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild b/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild
new file mode 100644
index 000000000000..3c424fdf3c65
--- /dev/null
+++ b/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 java-pkg-opt-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="debug minimal fortran threads"
+
+COMMON_DEPEND="
+ !minimal? (
+ x11-libs/libXtst
+ x11-libs/libXi
+ )
+ || (
+ sys-cluster/openmpi[fortran?,threads?]
+ sys-cluster/mpich2[fortran?,threads?]
+ )"
+
+DEPEND="
+ !minimal? ( >=virtual/jdk-1.6 )
+ ${COMMON_DEPEND}"
+
+RDEPEND="
+ !minimal? ( >=virtual/jre-1.6 )
+ ${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
+ elif has_version sys-cluster/mpich; 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}"
+
+ use minimal || java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ # Don't assume path contains ./
+ sed -i 's,\($MPERUN\) $pgm,\1 ./$pgm,' sbin/mpetestexeclog.in || die
+ epatch \
+ "${FILESDIR}"/slog2sdk-trace_rlog-makefile-fixes.patch \
+ "${FILESDIR}"/slog2sdk-trace_sample-makefile-fixes.patch
+
+ use minimal || java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local c="--with-mpicc=/usr/bin/mpicc"
+
+ if use fortran; then
+ c+=" --with-mpif77=/usr/bin/mpif77"
+ else
+ c+=" --disable-f77"
+ fi
+
+ if use minimal; then
+ c+=" --enable-slog2=no --disable-rlog --disable-sample"
+ else
+ c+=" --with-java2=$(java-config --jdk-home) --enable-slog2=build"
+ fi
+
+ [[ "${MPE_IMP}" == openmpi ]] && c+=" --disable-rlog --disable-sample"
+
+ 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}" || die
+ if [[ "${MPE_IMP}" == mpich2 ]]; then
+ echo "MPD_SECRETWORD=junk" > "${T}"/mpd.conf || die
+ chmod 600 "${T}"/mpd.conf || die
+ export MPD_CONF_FILE="${T}/mpd.conf"
+ "${ROOT}"usr/bin/mpd -d --pidfile="${T}"/mpd.pid || die
+ elif [[ "${MPE_IMP}" == openmpi* ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then
+ echo
+ einfo "Skipping tests for openmpi"
+ echo
+ 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
+ MAKEOPTS+=" -j1"
+ default
+ rm -f "${ED}"/usr/sbin/mpeuninstall || die
+ rm -f "${ED}"/usr/bin/*.in || die
+}