aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Kerr <cjk34@cam.ac.uk>2013-07-02 21:17:13 +0100
committerChris Kerr <cjk34@cam.ac.uk>2013-07-02 21:17:13 +0100
commitb58b842d105f935b1331be45c46c9c963128a68a (patch)
tree5db8ddafa69086f4e9d8c21901643bcf5abe0970 /sys-cluster
parentSuggestions from Sébastien Fabbro (diff)
parentAdded missing patch. (diff)
downloadsci-b58b842d105f935b1331be45c46c9c963128a68a.tar.gz
sci-b58b842d105f935b1331be45c46c9c963128a68a.tar.bz2
sci-b58b842d105f935b1331be45c46c9c963128a68a.zip
Merge branch 'master' of https://github.com/gentoo-science/sci into HTCondor
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/charm/ChangeLog13
-rw-r--r--sys-cluster/charm/Manifest1
-rw-r--r--sys-cluster/charm/charm-6.5.1.ebuild181
-rw-r--r--sys-cluster/charm/files/charm-6.5.0-charmc-gentoo.patch25
-rw-r--r--sys-cluster/charm/metadata.xml15
-rw-r--r--sys-cluster/empi/ChangeLog14
-rw-r--r--sys-cluster/empi/empi-0.9.ebuild (renamed from sys-cluster/empi/empi-0.8.ebuild)14
-rw-r--r--sys-cluster/empi/files/ChangeLog-0.9 (renamed from sys-cluster/empi/files/ChangeLog-0.8)0
-rwxr-xr-xsys-cluster/empi/files/empi-0.9 (renamed from sys-cluster/empi/files/empi-0.8)4
-rw-r--r--sys-cluster/empi/files/eselect.mpi-0.9 (renamed from sys-cluster/empi/files/eselect.mpi-0.8)0
-rw-r--r--sys-cluster/empi/metadata.xml8
-rw-r--r--sys-cluster/openmpi/ChangeLog11
-rw-r--r--sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch42
-rw-r--r--sys-cluster/openmpi/openmpi-1.6.4-r1.ebuild (renamed from sys-cluster/openmpi/openmpi-1.6.4.ebuild)4
14 files changed, 319 insertions, 13 deletions
diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog
new file mode 100644
index 000000000..4d51c0e33
--- /dev/null
+++ b/sys-cluster/charm/ChangeLog
@@ -0,0 +1,13 @@
+# ChangeLog for sys-cluster/charm
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 02 Jul 2013; Nicolas Bock <nicolasbock@gmail.com>
+ +files/charm-6.5.0-charmc-gentoo.patch, charm-6.5.1.ebuild:
+ Added missing patch.
+
+*charm-6.5.1 (02 Jul 2013)
+
+ 02 Jul 2013; Nicolas Bock <nicolasbock@gmail.com> +charm-6.5.1.ebuild,
+ +metadata.xml:
+ Version bump to sys-cluster/charm-6.5.1
diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest
new file mode 100644
index 000000000..0a0377625
--- /dev/null
+++ b/sys-cluster/charm/Manifest
@@ -0,0 +1 @@
+DIST charm-6.5.1.tar.gz 19265741 SHA256 68aa43e2a6e476e116a7e80e385c25c6ac6497807348025505ba8bfa256ed34a SHA512 1a25c76f3699e30d0614e85f39ea0f594896cbc299b0e670c52fcea176171e8834ea7f9ba3ba0c1957598b0f1cbfa6a4ed9279ae0c030fa32faa6acca879b694 WHIRLPOOL 0def514af09c137b951842250fe112c68e573e8eff7d5911a71ccbe55cc38b319f1d9c4587e706777f748b0c1ef69b63c4161bbf663b05984a566ff325fa49c3
diff --git a/sys-cluster/charm/charm-6.5.1.ebuild b/sys-cluster/charm/charm-6.5.1.ebuild
new file mode 100644
index 000000000..74ba894be
--- /dev/null
+++ b/sys-cluster/charm/charm-6.5.1.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-6.5.0.ebuild,v 1.1 2013/06/26 23:58:38 ottxor Exp $
+
+EAPI=5
+
+inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mpi smp static-libs tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ )"
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+FORTRAN_STANDARD="90"
+
+src_prepare() {
+ # Build shared libraries by default.
+ CHARM_OPTS="--build-shared"
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --with-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --with-tracing --with-tracing-commthread"
+ fi
+ fi
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ sed \
+ -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/arch/net/charmrun/Makefile || die
+
+ # Fix QA notice.
+ append-cflags -DALLOCA_H
+
+ einfo "charm opts: ${CHARM_OPTS}"
+}
+
+src_compile() {
+ # Build charmm++ first.
+ ./build charm++ $(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') \
+ ${CHARM_OPTS} ${MAKEOPTS} ${CFLAGS} || die "Failed to build charm++"
+
+ # make pdf/html docs
+ if use doc; then
+ cd "${S}"/doc
+ make doc || die "failed to create pdf/html docs"
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin.
+ epatch "${FILESDIR}/charm-6.5.0-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install static libs. Charm has a lot of .o "libs" that it requires at
+ # runtime.
+ if use static-libs; then
+ for i in lib/*.{a,o}; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib "${i}"
+ done
+ fi
+
+ # Install shared libs.
+ for i in lib_so/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib.so "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}"/doc
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins doc/pdf/*
+ # Install html.
+ docinto html
+ dohtml -r doc/html/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/files/charm-6.5.0-charmc-gentoo.patch b/sys-cluster/charm/files/charm-6.5.0-charmc-gentoo.patch
new file mode 100644
index 000000000..34923e3f7
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.0-charmc-gentoo.patch
@@ -0,0 +1,25 @@
+--- src/scripts/charmc.old 2013-05-30 10:18:02.261819771 -0600
++++ src/scripts/charmc 2013-05-30 10:19:50.839661634 -0600
+@@ -361,19 +361,9 @@
+ PROG_EXT=".exe"
+ fi
+
+-CHARMLIB="$CHARMBIN/../lib"
+-CHARMINC="$CHARMBIN/../include"
+-CHARMLIBSO=
+-if test -d "$CHARMBIN/../lib_so"
+-then
+- CHARMLIBSO=`cd $CHARMBIN/../lib_so 2>/dev/null && pwd`
+- #getting absolute path is harder than thought because of symbolic links and ..
+- #ksh needs cd -P to resolve werid symbolic links, however -P is not portable
+- #csh is ok too if it exists
+- test -z "$CHARMLIBSO" && CHARMLIBSO=`cd -P $CHARMBIN/../lib_so 2>/dev/null && pwd`
+- test -z "$CHARMLIBSO" && CHARMLIBSO=`csh -c "cd $CHARMBIN/../lib_so >& /dev/null && pwd"`
+- test -z "$CHARMLIBSO" && echo "$CHARMBIN/../lib_so: not found" && exit 1
+-fi
++CHARMLIB="/usr/gentoo-libdir"
++CHARMINC="/usr/include/gentoo-include"
++CHARMLIBSO="/usr/gentoo-libdir"
+
+ ##############################################################################
+ #
diff --git a/sys-cluster/charm/metadata.xml b/sys-cluster/charm/metadata.xml
new file mode 100644
index 000000000..ea5896e21
--- /dev/null
+++ b/sys-cluster/charm/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>nicolasbock@gmail.com</email>
+ </maintainer>
+ <use>
+ <flag name="charmdebug">Enable the charm debugger</flag>
+ <flag name="charmproduction">Optimize performance of Charm++ runtime</flag>
+ <flag name="charmtracing">Enable tracing support in Charm++</flag>
+ <flag name="cmkopt">Enable CMK optimisation</flag>
+ <flag name="tcp">Use TCP (instead of UPD) for socket communication</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/empi/ChangeLog b/sys-cluster/empi/ChangeLog
index b69a7dfb4..067558d85 100644
--- a/sys-cluster/empi/ChangeLog
+++ b/sys-cluster/empi/ChangeLog
@@ -2,6 +2,20 @@
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 02 Jul 2013; Justin Lecher <jlec@gentoo.org> empi-0.9.ebuild,
+ -files/ChangeLog-0.8, -files/eselect.mpi-0.8, +files/ChangeLog-0.9,
+ +files/eselect.mpi-0.9:
+ Fix version Bump
+
+ 02 Jul 2013; Justin Lecher <jlec@gentoo.org> empi-0.9.ebuild, metadata.xml:
+ Bump EAPI, fix DESCRIPTION
+
+*empi-0.9 (02 Jul 2013)
+
+ 02 Jul 2013; Justin Bronder <jsbronder@gentoo.org> -empi-0.8.ebuild,
+ +empi-0.9.ebuild, -files/empi-0.8, +files/empi-0.9:
+ bump
+
*empi-0.8 (22 Feb 2013)
22 Feb 2013; Justin Bronder <jsbronder@gentoo.org> -files/ChangeLog-0.7,
diff --git a/sys-cluster/empi/empi-0.8.ebuild b/sys-cluster/empi/empi-0.9.ebuild
index bb3daffe0..a78565a9e 100644
--- a/sys-cluster/empi/empi-0.8.ebuild
+++ b/sys-cluster/empi/empi-0.9.ebuild
@@ -2,9 +2,11 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: $
+EAPI=5
+
inherit eutils
-DESCRIPTION="empi"
+DESCRIPTION="Handling Multiple MPI Implementations"
HOMEPAGE="http://dev.gentoo.org/~jsbronder/empi.xml"
SRC_URI=""
@@ -15,13 +17,15 @@ IUSE=""
DEPEND="app-admin/eselect"
RDEPEND="${DEPEND}"
+S="${WORKDIR}"
+
src_install() {
- newbin "${FILESDIR}"/${P} ${PN} || die
- dodoc "${FILESDIR}"/README.txt || die
- dodoc "${FILESDIR}"/ChangeLog-${PV} || die
+ newbin "${FILESDIR}"/${P} ${PN}
+ dodoc "${FILESDIR}"/README.txt
+ dodoc "${FILESDIR}"/ChangeLog-${PV}
insinto /usr/share/eselect/modules
- newins "${FILESDIR}"/eselect.mpi-${PV} mpi.eselect || die
+ newins "${FILESDIR}"/eselect.mpi-${PV} mpi.eselect
exeinto /etc/profile.d
doexe "${FILESDIR}"/mpi.sh
doexe "${FILESDIR}"/mpi.csh
diff --git a/sys-cluster/empi/files/ChangeLog-0.8 b/sys-cluster/empi/files/ChangeLog-0.9
index 15652b092..15652b092 100644
--- a/sys-cluster/empi/files/ChangeLog-0.8
+++ b/sys-cluster/empi/files/ChangeLog-0.9
diff --git a/sys-cluster/empi/files/empi-0.8 b/sys-cluster/empi/files/empi-0.9
index a1e6009b6..8a9523c58 100755
--- a/sys-cluster/empi/files/empi-0.8
+++ b/sys-cluster/empi/files/empi-0.9
@@ -1,5 +1,5 @@
#!/bin/bash
-VERSION=0.8
+VERSION=0.9
source /etc/init.d/functions.sh
@@ -356,7 +356,7 @@ add_packages(){
fi
# I don't know about this, but do you have a better idea?
- deps="$(emerge --color=n --onlydeps -p --quiet ${TARGETS[i]})"
+ deps="$(emerge --color=n --onlydeps -p --quiet ${TARGETS[i]} | grep '^\[')"
if [[ $? -ne 0 ]]; then
emerge --onlydeps -p ${TARGETS[i]}
die "Unable to calculate deps for ${TARGETS[i]}"
diff --git a/sys-cluster/empi/files/eselect.mpi-0.8 b/sys-cluster/empi/files/eselect.mpi-0.9
index e1f0902a9..e1f0902a9 100644
--- a/sys-cluster/empi/files/eselect.mpi-0.8
+++ b/sys-cluster/empi/files/eselect.mpi-0.9
diff --git a/sys-cluster/empi/metadata.xml b/sys-cluster/empi/metadata.xml
index 3d994f9db..16a601fe0 100644
--- a/sys-cluster/empi/metadata.xml
+++ b/sys-cluster/empi/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>cluster</herd>
- <maintainer>
- <email>jsbronder@gentoo.org</email>
- </maintainer>
+ <herd>cluster</herd>
+ <maintainer>
+ <email>jsbronder@gentoo.org</email>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog
index 695797172..9b844ff43 100644
--- a/sys-cluster/openmpi/ChangeLog
+++ b/sys-cluster/openmpi/ChangeLog
@@ -2,6 +2,16 @@
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 02 Jul 2013; Justin Bronder <jsbronder@gentoo.org> -openmpi-1.6.4.ebuild:
+ Remove old
+
+*openmpi-1.6.4-r1 (02 Jul 2013)
+
+ 02 Jul 2013; Justin Bronder <jsbronder@gentoo.org>
+ +files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch,
+ +openmpi-1.6.4-r1.ebuild:
+ Do not override malloc when in a sandbox environment. Resolves #462602.
+
*openmpi-1.6.4 (09 Apr 2013)
09 Apr 2013; Justin Bronder <jsbronder@gentoo.org> -openmpi-1.6.3.ebuild,
@@ -137,4 +147,3 @@
20 Jan 2009; Alexey Shvetsov <alexxy@gentoo.org> +openmpi-1.3.ebuild:
Version bump
-
diff --git a/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch b/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
new file mode 100644
index 000000000..5683c81b4
--- /dev/null
+++ b/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
@@ -0,0 +1,42 @@
+From 094de74dc5e518a931c495692143ea3282553674 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 1 Jul 2013 20:37:17 -0400
+Subject: [PATCH] hooks: disable malloc override inside of Gentoo sandbox
+
+As described in the comments in the source, Gentoo's own version of
+fakeroot, sandbox, also runs into hangs when malloc is overridden.
+Sandbox environments can easily be detected by looking for SANDBOX_PID
+in the environment. When detected, employ the same fix used for
+fakeroot.
+
+See https://bugs.gentoo.org/show_bug.cgi?id=462602
+---
+ opal/mca/memory/linux/hooks.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/opal/mca/memory/linux/hooks.c b/opal/mca/memory/linux/hooks.c
+index 6a1646f..ce91e76 100644
+--- a/opal/mca/memory/linux/hooks.c
++++ b/opal/mca/memory/linux/hooks.c
+@@ -747,9 +747,16 @@ static void opal_memory_linux_malloc_init_hook(void)
+ "fakeroot" build environment that allocates memory during
+ stat() (see http://bugs.debian.org/531522). It may not be
+ necessary any more since we're using access(), not stat(). But
+- we'll leave the check, anyway. */
++ we'll leave the check, anyway.
++
++ This is also an issue when using Gentoo's version of 'fakeroot',
++ sandbox v2.5. Sandbox environments can also be detected fairly
++ easily by looking for SANDBOX_PID.
++ */
++
+ if (getenv("FAKEROOTKEY") != NULL ||
+- getenv("FAKED_MODE") != NULL) {
++ getenv("FAKED_MODE") != NULL ||
++ getenv("SANDBOX_PID") != NULL ) {
+ return;
+ }
+
+--
+1.8.1.5
+
diff --git a/sys-cluster/openmpi/openmpi-1.6.4.ebuild b/sys-cluster/openmpi/openmpi-1.6.4-r1.ebuild
index 3625aa196..1016b4209 100644
--- a/sys-cluster/openmpi/openmpi-1.6.4.ebuild
+++ b/sys-cluster/openmpi/openmpi-1.6.4-r1.ebuild
@@ -95,6 +95,9 @@ src_prepare() {
echo 'oob_tcp_listen_mode = listen_thread' \
>> opal/etc/openmpi-mca-params.conf
fi
+
+ # 462602
+ epatch "${FILESDIR}"/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
}
src_configure() {
@@ -155,6 +158,5 @@ src_test() {
# Doesn't work with the default src_test as the dry run (-n) fails.
# Do not override malloc during build. Works around #462602
- export FAKEROOTKEY=1
emake -j1 check || die "emake check failed"
}