summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2012-07-01 14:12:34 +0000
committerJustin Lecher <jlec@gentoo.org>2012-07-01 14:12:34 +0000
commitc9342edbcdc44e6f0e2314cf6c37523dbcbb2136 (patch)
treefa8975c35910f7ab89410fd378ed12b43196a2b1 /sys-cluster/charm
parentstable amd64 x86, bug 419117 (diff)
downloadgentoo-2-c9342edbcdc44e6f0e2314cf6c37523dbcbb2136.tar.gz
gentoo-2-c9342edbcdc44e6f0e2314cf6c37523dbcbb2136.tar.bz2
gentoo-2-c9342edbcdc44e6f0e2314cf6c37523dbcbb2136.zip
sys-cluster/charm: Build with gcc-4.7, #424379; repact LDFLAGS, #337558
(Portage version: 2.2.0_alpha114/cvs/Linux x86_64)
Diffstat (limited to 'sys-cluster/charm')
-rw-r--r--sys-cluster/charm/ChangeLog6
-rw-r--r--sys-cluster/charm/charm-6.2.0.ebuild30
-rw-r--r--sys-cluster/charm/files/charm-6.2.0-gcc-4.7.patch45
3 files changed, 78 insertions, 3 deletions
diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog
index 07fb236c815c..b50ae919843b 100644
--- a/sys-cluster/charm/ChangeLog
+++ b/sys-cluster/charm/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-cluster/charm
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v 1.32 2012/02/15 19:10:26 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v 1.33 2012/07/01 14:12:34 jlec Exp $
+
+ 01 Jul 2012; Justin Lecher <jlec@gentoo.org> charm-6.2.0.ebuild,
+ +files/charm-6.2.0-gcc-4.7.patch:
+ Build with gcc-4.7, #424379; repact LDFLAGS, #337558
15 Feb 2012; Justin Lecher <jlec@gentoo.org> charm-6.1.2-r2.ebuild,
charm-6.2.0.ebuild, metadata.xml:
diff --git a/sys-cluster/charm/charm-6.2.0.ebuild b/sys-cluster/charm/charm-6.2.0.ebuild
index 9bb0b1847787..e2b7f86f05a4 100644
--- a/sys-cluster/charm/charm-6.2.0.ebuild
+++ b/sys-cluster/charm/charm-6.2.0.ebuild
@@ -1,10 +1,10 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-6.2.0.ebuild,v 1.2 2012/02/15 19:10:26 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-6.2.0.ebuild,v 1.3 2012/07/01 14:12:34 jlec Exp $
EAPI=4
-inherit eutils flag-o-matic multilib toolchain-funcs
+inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs
DESCRIPTION="Message-passing parallel language and runtime system"
HOMEPAGE="http://charm.cs.uiuc.edu/"
@@ -30,7 +30,11 @@ case ${ARCH} in
CHARM_ARCH="net-linux-amd64" ;;
esac
+FORTRAN_STANDARD="90"
+
src_prepare() {
+ epatch "${FILESDIR}"/${P}-gcc-4.7.patch
+
# TCP instead of default UDP for socket comunication
# protocol
if use tcp; then
@@ -47,6 +51,28 @@ src_prepare() {
append-flags -DCMK_OPTIMIZE=1
fi
+ sed \
+ -e "/CMK_CF90/s:f90:${FC}:g" \
+ -e "/CMK_CXX/s:g++:$(tc-getCXX):g" \
+ -e "/CMK_CC/s:gcc:$(tc-getCC):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/net-linux*/*sh || die
+
+ sed \
+ -e "s:\(-o conv-cpm\):${LDFLAGS} \1:g" \
+ -e "s:\(-o charmxi\):${LDFLAGS} \1:g" \
+ -e "s:\(-o charmrun-silent\):${LDFLAGS} \1:g" \
+ -e "s:\(-o charmrun-notify\):${LDFLAGS} \1:g" \
+ -e "s:\(-o charmrun\):${LDFLAGS} \1:g" \
+ -e "s:\(-o charmd_faceless\):${LDFLAGS} \1:g" \
+ -e "s:\(-o charmd\):${LDFLAGS} \1:g" \
+ -i \
+ src/scripts/Makefile \
+ src/arch/net/charmrun/Makefile
+
+ append-cflags -DALLOCA_H
+
echo "charm opts: ${CHARM_OPTS}"
}
diff --git a/sys-cluster/charm/files/charm-6.2.0-gcc-4.7.patch b/sys-cluster/charm/files/charm-6.2.0-gcc-4.7.patch
new file mode 100644
index 000000000000..b6ad30e22892
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.2.0-gcc-4.7.patch
@@ -0,0 +1,45 @@
+ src/util/cklists.h | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/util/cklists.h b/src/util/cklists.h
+index 2fc6938..df29138 100644
+--- a/src/util/cklists.h
++++ b/src/util/cklists.h
+@@ -47,8 +47,8 @@ class CkQ : private CkSTLHelper<T>, private CkNoncopyable {
+ mask = 0x0f;
+ }
+ T *newblk = new T[newlen];
+- elementCopy(newblk,block+first,blklen-first);
+- elementCopy(newblk+blklen-first,block,first);
++ this->elementCopy(newblk,block+first,blklen-first);
++ this->elementCopy(newblk+blklen-first,block,first);
+ delete[] block; block = newblk;
+ blklen = newlen; first = 0;
+ }
+@@ -197,7 +197,7 @@ class CkVec : private CkSTLHelper<T> {
+ }
+ void copyFrom(const this_type &src) {
+ makeBlock(src.blklen, src.len);
+- elementCopy(block,src.block,blklen);
++ this->elementCopy(block,src.block,blklen);
+ }
+ public:
+ CkVec(): block(NULL), blklen(0), len(0) {}
+@@ -233,7 +233,7 @@ class CkVec : private CkSTLHelper<T> {
+ T *oldBlock=block;
+ makeBlock(newcapacity,len);
+ if (newcapacity != blklen) return 0;
+- elementCopy(block,oldBlock,len);
++ this->elementCopy(block,oldBlock,len);
+ delete[] oldBlock; //WARNING: leaks if element copy throws exception
+ return 1;
+ }
+@@ -504,7 +504,7 @@ class CkPupAblePtrVec : public CkVec< CkZeroPtr<T, CkPupAblePtr<T> > > {
+ }
+ void copy_from(const this_type &t) {
+ for (size_t i=0;i<t.length();i++)
+- push_back((T *)t[i]->clone());
++ this->push_back((T *)t[i]->clone());
+ }
+ void destroy(void) {
+ for (size_t i=0;i<this->length();i++)