diff options
author | Chris Kerr <cjk34@cam.ac.uk> | 2013-07-02 21:17:13 +0100 |
---|---|---|
committer | Chris Kerr <cjk34@cam.ac.uk> | 2013-07-02 21:17:13 +0100 |
commit | b58b842d105f935b1331be45c46c9c963128a68a (patch) | |
tree | 5db8ddafa69086f4e9d8c21901643bcf5abe0970 /sys-cluster | |
parent | Suggestions from Sébastien Fabbro (diff) | |
parent | Added missing patch. (diff) | |
download | sci-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/ChangeLog | 13 | ||||
-rw-r--r-- | sys-cluster/charm/Manifest | 1 | ||||
-rw-r--r-- | sys-cluster/charm/charm-6.5.1.ebuild | 181 | ||||
-rw-r--r-- | sys-cluster/charm/files/charm-6.5.0-charmc-gentoo.patch | 25 | ||||
-rw-r--r-- | sys-cluster/charm/metadata.xml | 15 | ||||
-rw-r--r-- | sys-cluster/empi/ChangeLog | 14 | ||||
-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-x | sys-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.xml | 8 | ||||
-rw-r--r-- | sys-cluster/openmpi/ChangeLog | 11 | ||||
-rw-r--r-- | sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch | 42 | ||||
-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" } |