summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Gardner <je_fro@gentoo.org>2007-08-22 22:35:55 +0000
committerJeffrey Gardner <je_fro@gentoo.org>2007-08-22 22:35:55 +0000
commitdfb1ed300d17e2e70cae4d817d6912a24345e954 (patch)
tree4f5c6a22eafa00730b359be980760b9f874efd99 /sys-cluster/charm
parentTesting namd on amd64. (diff)
downloadje_fro-dfb1ed300d17e2e70cae4d817d6912a24345e954.tar.gz
je_fro-dfb1ed300d17e2e70cae4d817d6912a24345e954.tar.bz2
je_fro-dfb1ed300d17e2e70cae4d817d6912a24345e954.zip
Needed by namd. Testing on amd64.
svn path=/; revision=55
Diffstat (limited to 'sys-cluster/charm')
-rw-r--r--sys-cluster/charm/Manifest32
-rw-r--r--sys-cluster/charm/charm-5.9.ebuild153
-rwxr-xr-xsys-cluster/charm/files/charm-5.9-gcc4.patch41
-rw-r--r--sys-cluster/charm/files/charm-charmc-gentoo.patch29
-rw-r--r--sys-cluster/charm/files/charm-doc-makefile-gentoo.patch35
-rw-r--r--sys-cluster/charm/files/charm-examples-gentoo.patch105
-rw-r--r--sys-cluster/charm/files/charm-fpic-gentoo.patch32
-rw-r--r--sys-cluster/charm/files/charm-python-configure-gentoo.patch29
-rw-r--r--sys-cluster/charm/files/digest-charm-5.93
9 files changed, 459 insertions, 0 deletions
diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest
new file mode 100644
index 0000000..c93dadf
--- /dev/null
+++ b/sys-cluster/charm/Manifest
@@ -0,0 +1,32 @@
+AUX charm-5.9-gcc4.patch 1701 RMD160 7b28484b9f956fb310fc5f7bbbfb2c896a12081d SHA1 7478496cb6f13763b047abca700dfbee2c651c9d SHA256 5d1ccf611c8f40c4e6572fcf1bb8cae1f0339a158df7bd698efcd396c28777cc
+MD5 11756cffab21eac69a9d4f8c371b4ccc files/charm-5.9-gcc4.patch 1701
+RMD160 7b28484b9f956fb310fc5f7bbbfb2c896a12081d files/charm-5.9-gcc4.patch 1701
+SHA256 5d1ccf611c8f40c4e6572fcf1bb8cae1f0339a158df7bd698efcd396c28777cc files/charm-5.9-gcc4.patch 1701
+AUX charm-charmc-gentoo.patch 1078 RMD160 f84f49f0ced57c842f1fefe24623581b94fddde8 SHA1 c058790ccd044e5bba37ab0ac7c1f1f8b4b18acc SHA256 b903a12c4817268abf6d5797ea8cf5cfcae7ff09b969c1f073ffc08b0afbff7b
+MD5 0b343e0d9021a96327bd9255a3ed885d files/charm-charmc-gentoo.patch 1078
+RMD160 f84f49f0ced57c842f1fefe24623581b94fddde8 files/charm-charmc-gentoo.patch 1078
+SHA256 b903a12c4817268abf6d5797ea8cf5cfcae7ff09b969c1f073ffc08b0afbff7b files/charm-charmc-gentoo.patch 1078
+AUX charm-doc-makefile-gentoo.patch 1348 RMD160 15941f44aad97d3f67938725d64cb94583522c73 SHA1 2c965c4d6d9390fc48f29ebae9336bab720d77bc SHA256 9a0a7426daaa05adf5f5ec35c20a6fa1f0842e58e1beefebf8f94ff1debabe03
+MD5 6ffec6746277d139021ebb96789fbd8a files/charm-doc-makefile-gentoo.patch 1348
+RMD160 15941f44aad97d3f67938725d64cb94583522c73 files/charm-doc-makefile-gentoo.patch 1348
+SHA256 9a0a7426daaa05adf5f5ec35c20a6fa1f0842e58e1beefebf8f94ff1debabe03 files/charm-doc-makefile-gentoo.patch 1348
+AUX charm-examples-gentoo.patch 3920 RMD160 d038f9e2f32db47a6f335c92dd73e727a54dd2b1 SHA1 574e3d55561b5c549e4190804eeec0f5a7a08f71 SHA256 8eafde8fc87500194bc1eda05c04fd138298e6a39785c50f4f66781a52f6c01e
+MD5 1cf0b881c7a8b6d73855a0a69238f6dd files/charm-examples-gentoo.patch 3920
+RMD160 d038f9e2f32db47a6f335c92dd73e727a54dd2b1 files/charm-examples-gentoo.patch 3920
+SHA256 8eafde8fc87500194bc1eda05c04fd138298e6a39785c50f4f66781a52f6c01e files/charm-examples-gentoo.patch 3920
+AUX charm-fpic-gentoo.patch 963 RMD160 d725ce4085638996244db909d4b30ce0e5623bce SHA1 02e80605505bf1aa3ec371643b165f3890ba0cc1 SHA256 e02cc065399771a3f6e2946446fc47809df1eae6fa40a9bc00b1947805a2f5ec
+MD5 42f61a51a66dc7707feb2cfe1d5aca80 files/charm-fpic-gentoo.patch 963
+RMD160 d725ce4085638996244db909d4b30ce0e5623bce files/charm-fpic-gentoo.patch 963
+SHA256 e02cc065399771a3f6e2946446fc47809df1eae6fa40a9bc00b1947805a2f5ec files/charm-fpic-gentoo.patch 963
+AUX charm-python-configure-gentoo.patch 984 RMD160 fb7f9279e528d3e74756c734c6837379f50148e2 SHA1 3a7e9e81b9f4019aad643e5fe68093f185b8229f SHA256 df476e74c78d2a2c03c9619a8d90e81c60c125e7cbf514f3ff27375d8469130d
+MD5 24b09ea5cfbd4065c8fac2404401f991 files/charm-python-configure-gentoo.patch 984
+RMD160 fb7f9279e528d3e74756c734c6837379f50148e2 files/charm-python-configure-gentoo.patch 984
+SHA256 df476e74c78d2a2c03c9619a8d90e81c60c125e7cbf514f3ff27375d8469130d files/charm-python-configure-gentoo.patch 984
+DIST charm-5.9.tar.gz 7580639 RMD160 ebc3a8515fd918c6e0fc0fd9963a22b3ae5d057d SHA1 8b34d083486e6350ddf31a71e7476d6027ef9c0f SHA256 b5f8d53f0b447dbd720a0f2607a0e7902c227c7377326bf279e448ed570dcc89
+EBUILD charm-5.9.ebuild 3726 RMD160 93e28518fc0e9e43929c6498b6c20bb66320cb03 SHA1 ebd0a30c03c4669877a91c4495483a60061365a7 SHA256 b8467a89a33065607951059e27bdb9136c8b9c371278a6b7cd0478cf8630474e
+MD5 57498ed858074c2a9ce9f42d9e2e3bce charm-5.9.ebuild 3726
+RMD160 93e28518fc0e9e43929c6498b6c20bb66320cb03 charm-5.9.ebuild 3726
+SHA256 b8467a89a33065607951059e27bdb9136c8b9c371278a6b7cd0478cf8630474e charm-5.9.ebuild 3726
+MD5 b35dac459cbea704e977110d91e6e5c9 files/digest-charm-5.9 232
+RMD160 90d2e64226249164a5f8761598bbeda949c9ff45 files/digest-charm-5.9 232
+SHA256 6964b85e817a173c67ce749606ca0f230357a9d201cae01d21d290ca429dc96e files/digest-charm-5.9 232
diff --git a/sys-cluster/charm/charm-5.9.ebuild b/sys-cluster/charm/charm-5.9.ebuild
new file mode 100644
index 0000000..cc9165d
--- /dev/null
+++ b/sys-cluster/charm/charm-5.9.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-5.9.ebuild,v 1.8 2007/06/26 02:50:30 mr_bones_ Exp $
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="Charm++ is a message-passing parallel language and runtime system."
+LICENSE="charm"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cmkopt tcp smp doc icc"
+
+RESTRICT="fetch"
+
+DEPEND="icc? ( >=dev-lang/icc-8.1 )
+ doc? (
+ app-text/poppler
+ dev-tex/latex2html
+ virtual/tetex
+ )"
+
+CHARM_ARCH="net-linux"
+CHARM_DOWNLOAD="http://charm.cs.uiuc.edu/download/"
+
+pkg_nofetch() {
+ echo
+ einfo "Please download ${P}.tar.gz from"
+ einfo "${CHARM_DOWNLOAD}"
+ einfo "and then move it to ${DISTDIR}"
+ echo
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # add -fPIC to generate PIC code for charm so's
+ epatch "${FILESDIR}"/${PN}-fpic-gentoo.patch
+
+ # for pdf/html docs we need to patch the makefiles
+ if use doc; then
+ epatch "${FILESDIR}"/${PN}-doc-makefile-gentoo.patch
+ fi
+
+ # patch the example Makefiles so they run out of
+ # the box
+ epatch "${FILESDIR}"/${PN}-examples-gentoo.patch
+
+ # enable proper detection of python in configure
+ epatch "${FILESDIR}"/${PN}-python-configure-gentoo.patch
+
+ # gcc-4.1 fixes
+ epatch "${FILESDIR}"/${P}-gcc4.patch
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ if use tcp; then
+ CHARM_OPTS="${CHARM_OPTS} tcp"
+ fi
+
+ # enable direct SMP support using shared memory
+ if use smp; then
+ CHARM_OPTS="${CHARM_OPTS} smp"
+ fi
+
+ # compile with icc if requested
+ if use icc; then
+ if [ $(tc-getCC) != "icc" ]; then
+ die "You cannot use $(tc-getCC) with USE='icc'"
+ fi
+ CHARM_OPTS="${CHARM_OPTS} icc"
+ fi
+
+ # CMK optimization
+ if use cmkopt; then
+ append-flags -DCMK_OPTIMIZE=1
+ fi
+}
+
+src_compile() {
+ # build charmm++ first
+ ./build charm++ net-linux ${CHARM_OPTS} ${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_install() {
+ # make charmc play well with gentoo before
+ # we move it into /usr/bin
+ einfo "Fixing paths in charmc wrapper"
+ epatch "${FILESDIR}"/${PN}-charmc-gentoo.patch
+
+ sed -e "s/gentoo-include/${P}/" -i ./src/scripts/charmc || \
+ die "failed patching charmc script"
+
+ # install binaries
+ cd "${S}"/bin
+ dobin ./charmd ./charmd_faceless ./charmr* ./charmc ./charmxi \
+ ./conv-cpm ./dep.pl || die "Failed to install binaries"
+
+ # install headers
+ cd "${S}"/include
+ insinto /usr/include/${P}
+ doins * || die "failed to install header files"
+
+ # install static libs
+ cd "${S}"/lib
+ dolib.a * || die "failed to install static libs"
+
+ # install shared libs
+ cd "${S}"/lib_so
+ dolib.so * || die "failed to install shared libs"
+
+ # basic docs
+ cd "${S}"
+ dodoc CHANGES README || die "Failed to install docs"
+
+ # install examples after fixing path to charmc
+ 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++/*
+
+ # pdf/html docs
+ if use doc; then
+ cd "${S}"/doc
+ # install pdfs
+ insinto /usr/share/doc/${PF}/pdf
+ doins doc/pdf/* || die "failed to install pdf docs"
+ # install html
+ docinto html
+ dohtml -r doc/html/* || die "failed to install html docs"
+ fi
+}
+
+pkg_postinst() {
+ echo
+ 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'."
+ echo
+}
diff --git a/sys-cluster/charm/files/charm-5.9-gcc4.patch b/sys-cluster/charm/files/charm-5.9-gcc4.patch
new file mode 100755
index 0000000..9a1cb9f
--- /dev/null
+++ b/sys-cluster/charm/files/charm-5.9-gcc4.patch
@@ -0,0 +1,41 @@
+diff -Naur charm-5.9/src/ck-com/MsgPacker.h charm-5.9-new/src/ck-com/MsgPacker.h
+--- charm-5.9/src/ck-com/MsgPacker.h 2005-03-20 23:21:51.000000000 -0600
++++ charm-5.9-new/src/ck-com/MsgPacker.h 2006-04-19 17:16:05.000000000 -0500
+@@ -83,7 +83,7 @@
+
+ //Takes a queue of envelopes as char* ptrs and not charm message holders
+ //Used by mesh streaming strategy
+- MsgPacker::MsgPacker(CkQ<char *> &msgq, int n_msgs);
++ MsgPacker(CkQ<char *> &msgq, int n_msgs);
+
+ void getMessage(CombinedMessage *&msg, int &size);
+ static void deliver(CombinedMessage *cmb_msg);
+diff -Naur charm-5.9/src/ck-core/charisma.h charm-5.9-new/src/ck-core/charisma.h
+--- charm-5.9/src/ck-core/charisma.h 2003-03-20 18:30:50.000000000 -0600
++++ charm-5.9-new/src/ck-core/charisma.h 2006-04-19 17:19:34.000000000 -0500
+@@ -295,6 +295,7 @@
+ class CharismaInPort
+ {
+ public:
++ virtual ~CharismaInPort() {}
+ virtual void send(void *msg, int len) = 0;
+ void _create(const char *name)
+ {
+@@ -307,6 +308,7 @@
+ protected:
+ CharismaInPort *inport;
+ public:
++ virtual ~CharismaOutPort() {}
+ virtual void emitData(void *data, int len)
+ {
+ inport->send(data, len);
+diff -Naur charm-5.9/src/ck-core/cklocation.h charm-5.9-new/src/ck-core/cklocation.h
+--- charm-5.9/src/ck-core/cklocation.h 2004-10-30 11:35:25.000000000 -0500
++++ charm-5.9-new/src/ck-core/cklocation.h 2006-04-19 17:21:24.000000000 -0500
+@@ -431,6 +431,7 @@
+ /// Abstract superclass of all array manager objects
+ class CkArrMgr {
+ public:
++ virtual ~CkArrMgr() {}
+ /// Insert this initial element on this processor
+ virtual void insertInitial(const CkArrayIndex &idx,void *ctorMsg, int local=1)=0;
diff --git a/sys-cluster/charm/files/charm-charmc-gentoo.patch b/sys-cluster/charm/files/charm-charmc-gentoo.patch
new file mode 100644
index 0000000..e5be49a
--- /dev/null
+++ b/sys-cluster/charm/files/charm-charmc-gentoo.patch
@@ -0,0 +1,29 @@
+# adjust paths in charmc wrapper to point to the proper include
+# and libary directories
+
+--- charm-5.9/src/scripts/charmc 2005-01-25 23:13:30.000000000 +0000
++++ charm-5.9-patched/src/scripts/charmc 2005-09-26 00:52:57.000000000 +0000
+@@ -656,20 +656,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/lib"
++CHARMINC="/usr/include/gentoo-include"
++CHARMLIBSO="/usr/lib"
+
+
+ ##############################################################################
diff --git a/sys-cluster/charm/files/charm-doc-makefile-gentoo.patch b/sys-cluster/charm/files/charm-doc-makefile-gentoo.patch
new file mode 100644
index 0000000..f18497a
--- /dev/null
+++ b/sys-cluster/charm/files/charm-doc-makefile-gentoo.patch
@@ -0,0 +1,35 @@
+# patch to properly build the docs as pdf and html
+
+--- charm-5.9/doc/Makefile 2004-10-14 06:12:10.000000000 +0000
++++ charm-5.9-patched/doc/Makefile 2005-09-24 22:55:53.000000000 +0000
+@@ -1,4 +1,4 @@
+-IDIR=../../doc
++IDIR=./doc
+ LNCMD=test ! -f pplmanual.sty && ln -f -s ../pplmanual.sty .
+ RMCMD=rm -f ./pplmanual.sty
+ DIRS=install converse convext charm++ libraries f90charm pose \
+--- charm-5.9/doc/Makefile.common 2005-04-19 17:21:52.000000000 +0000
++++ charm-5.9-patched/doc/Makefile.common 2005-09-24 22:56:30.000000000 +0000
+@@ -10,7 +10,7 @@
+ # (optional) PROJECT_LINK: HTML to include at bottom of page
+
+ # Destination directory for local copy of files (e.g., on user machine)
+-DOCDIR=..
++DOCDIR=../doc
+
+ # Destination directory for web-accessible copy of files (e.g., on PPL machines)
+ WEBDIR=/www/ppl_manuals
+@@ -71,12 +71,10 @@
+ -rm -fr index.tex $(FIG_CLEAN)
+
+ # Build local copy of documentation:
+-doc: all
++doc: pdf html
+ if [ ! -d $(DOCDIR) ] ; then mkdir $(DOCDIR) ; fi
+- if [ ! -d $(DOCDIR)/ps ] ; then mkdir $(DOCDIR)/ps ; fi
+ if [ ! -d $(DOCDIR)/pdf ] ; then mkdir $(DOCDIR)/pdf ; fi
+ if [ ! -d $(DOCDIR)/html ] ; then mkdir $(DOCDIR)/html ; fi
+- /bin/cp $(FILE).ps $(DOCDIR)/ps/$(DEST).ps
+ /bin/cp $(FILE).pdf $(DOCDIR)/pdf/$(DEST).pdf
+ /bin/rm -rf $(DOCDIR)/html/$(DEST)
+ /bin/cp -R $(FILE) $(DOCDIR)/html/$(DEST)
diff --git a/sys-cluster/charm/files/charm-examples-gentoo.patch b/sys-cluster/charm/files/charm-examples-gentoo.patch
new file mode 100644
index 0000000..ef8089f
--- /dev/null
+++ b/sys-cluster/charm/files/charm-examples-gentoo.patch
@@ -0,0 +1,105 @@
+diff -Naur charm-5.9/examples/pose/ASIM/Makefile charm-5.9-backup/examples/pose/ASIM/Makefile
+--- charm-5.9/examples/pose/ASIM/Makefile 2004-10-22 04:38:26.000000000 +0000
++++ charm-5.9-backup/examples/pose/ASIM/Makefile 2005-09-27 03:27:08.000000000 +0000
+@@ -12,8 +12,8 @@
+ OPTS=-O#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1
+
+ CHARMBASE=../../..
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin
++CHARMINC=/usr/include/charm-5.9
+
+ CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
+
+diff -Naur charm-5.9/examples/pose/BigNetSim/Makefile charm-5.9-backup/examples/pose/BigNetSim/Makefile
+--- charm-5.9/examples/pose/BigNetSim/Makefile 2004-10-17 22:48:10.000000000 +0000
++++ charm-5.9-backup/examples/pose/BigNetSim/Makefile 2005-09-27 03:27:08.000000000 +0000
+@@ -16,8 +16,8 @@
+
+ CHARMBASE=../../../
+ #CHARMBASE=/expand8/home/gzheng/old/charm-6-8/net-linux/
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin
++CHARMINC=/usr/include/charm-5.9
+
+ ifeq ($(SEQUENTIAL),1)
+ CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS) -DSEQUENTIAL_POSE=1
+diff -Naur charm-5.9/examples/pose/ChunkSim/Makefile charm-5.9-backup/examples/pose/ChunkSim/Makefile
+--- charm-5.9/examples/pose/ChunkSim/Makefile 2004-10-12 17:12:26.000000000 +0000
++++ charm-5.9-backup/examples/pose/ChunkSim/Makefile 2005-09-27 03:27:08.000000000 +0000
+@@ -12,8 +12,8 @@
+ OPTS=-O#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1
+
+ CHARMBASE=../../../
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin
++CHARMINC=/usr/include/charm-5.9
+
+ CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
+
+@@ -109,4 +109,4 @@
+ $(CHARMBIN)/etrans.pl Worker
+
+ test:
+- ./pgm 1000 10 1 RANDOM SPARSE 50 -gf 344
+\ No newline at end of file
++ ./pgm 1000 10 1 RANDOM SPARSE 50 -gf 344
+diff -Naur charm-5.9/examples/pose/HiSim/Makefile.common charm-5.9-backup/examples/pose/HiSim/Makefile.common
+--- charm-5.9/examples/pose/HiSim/Makefile.common 2004-11-02 07:29:40.000000000 +0000
++++ charm-5.9-backup/examples/pose/HiSim/Makefile.common 2005-09-27 03:27:08.000000000 +0000
+@@ -1,8 +1,8 @@
+
+ CHARMBASE=../../../../
+ #CHARMBASE=/expand8/home/gzheng/tmp/pose/charm/net-linux
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin
++CHARMINC=/usr/include/charm-5.9
+ ETRANS=$(CHARMBIN)/etrans.pl
+ OPTS=-g
+
+diff -Naur charm-5.9/examples/pose/LBSim/Makefile charm-5.9-backup/examples/pose/LBSim/Makefile
+--- charm-5.9/examples/pose/LBSim/Makefile 2004-11-04 04:30:45.000000000 +0000
++++ charm-5.9-backup/examples/pose/LBSim/Makefile 2005-09-27 03:27:08.000000000 +0000
+@@ -12,8 +12,8 @@
+ OPTS=-O#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1
+
+ CHARMBASE=../../../
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin
++CHARMINC=/usr/include/charm-5.9
+
+ CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
+
+diff -Naur charm-5.9/examples/pose/Ring/Makefile charm-5.9-backup/examples/pose/Ring/Makefile
+--- charm-5.9/examples/pose/Ring/Makefile 2005-02-08 18:58:05.000000000 +0000
++++ charm-5.9-backup/examples/pose/Ring/Makefile 2005-09-27 03:27:08.000000000 +0000
+@@ -12,8 +12,8 @@
+ OPTS=-O#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1
+
+ CHARMBASE=../../..
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin/
++CHARMINC=/usr/include/charm-5.9
+
+ CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
+
+diff -Naur charm-5.9/examples/pose/SimBenchmark/Makefile charm-5.9-backup/examples/pose/SimBenchmark/Makefile
+--- charm-5.9/examples/pose/SimBenchmark/Makefile 2005-03-17 22:31:41.000000000 +0000
++++ charm-5.9-backup/examples/pose/SimBenchmark/Makefile 2005-09-27 03:27:08.000000000 +0000
+@@ -12,8 +12,8 @@
+ OPTS=-O#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1
+
+ CHARMBASE=../../..
+-CHARMBIN=$(CHARMBASE)/bin
+-CHARMINC=$(CHARMBASE)/include
++CHARMBIN=/usr/bin
++CHARMINC=/usr/include/charm-5.9
+
+ CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
+
diff --git a/sys-cluster/charm/files/charm-fpic-gentoo.patch b/sys-cluster/charm/files/charm-fpic-gentoo.patch
new file mode 100644
index 0000000..e70874d
--- /dev/null
+++ b/sys-cluster/charm/files/charm-fpic-gentoo.patch
@@ -0,0 +1,32 @@
+# compile with -fPIC to avoid TEXTRELs
+
+--- charm-5.9/src/arch/net-linux/conv-mach.sh 2005-04-22 01:14:55.000000000 +0000
++++ charm-5.9-backup/src/arch/net-linux/conv-mach.sh 2005-09-27 18:07:10.000000000 +0000
+@@ -1,8 +1,8 @@
+ CMK_CPP_CHARM="/lib/cpp -P"
+ CMK_CPP_C="gcc -E"
+-CMK_CC="gcc "
+-CMK_CXX="g++ "
+-CMK_CXXPP="$CMK_CXX -x c++ -E "
++CMK_CC="gcc -fPIC"
++CMK_CXX="g++ -fPIC -Wno-deprecated"
++CMK_CXXPP="$CMK_CXX -E "
+ CMK_CF77="g77 "
+ CMK_CF90="f90 "
+ CMK_CF90_FIXED="$CMK_CF90 -W132 "
+@@ -10,12 +10,12 @@
+ CMK_LIBS="-lckqt"
+ #CMK_LD="$CMK_CC -Wl,--allow-multiple-definition "
+ #CMK_LDXX="$CMK_CXX -Wl,--allow-multiple-definition "
+-CMK_LD="$CMK_CC "
+-CMK_LDXX="$CMK_CXX "
++CMK_LD="gcc "
++CMK_LDXX="g++ "
+ CMK_LD_SHARED="-shared"
+ CMK_LD_LIBRARY_PATH="-Wl,-rpath,$CHARMLIBSO/"
+ CMK_XIOPTS=""
+-CMK_F90LIBS="-L/usr/absoft/lib -L/opt/absoft/lib -lf90math -lfio -lU77 -lf77math "
++CMK_F90LIBS=""
+ CMK_F77LIBS="-lg2c "
+ CMK_MOD_NAME_ALLCAPS=1
+ CMK_MOD_EXT="mod"
diff --git a/sys-cluster/charm/files/charm-python-configure-gentoo.patch b/sys-cluster/charm/files/charm-python-configure-gentoo.patch
new file mode 100644
index 0000000..6e98642
--- /dev/null
+++ b/sys-cluster/charm/files/charm-python-configure-gentoo.patch
@@ -0,0 +1,29 @@
+# include proper python headers
+
+--- charm-5.9/src/scripts/configure 2005-06-01 03:46:06.000000000 +0000
++++ charm-5.9-backup/src/scripts/configure 2005-09-27 14:28:48.000000000 +0000
+@@ -1970,11 +1970,12 @@
+ fi
+
+ #### test if Python headers are installed ####
++PYTHON_VERSION=`python -V 2>&1 | awk {'print $2'} | awk -F. {'print $1"."$2'}`
+ cat > $t <<EOT
+-#include "python/Python.h"
+-#include "python/compile.h"
+-#include "python/eval.h"
+-#include "python/node.h"
++#include "python${PYTHON_VERSION}/Python.h"
++#include "python${PYTHON_VERSION}/compile.h"
++#include "python${PYTHON_VERSION}/eval.h"
++#include "python${PYTHON_VERSION}/node.h"
+
+ int main() {
+ Py_Initialize();
+@@ -1983,7 +1984,6 @@
+ PyCodeObject *program = PyNode_Compile(programNode, "");
+ }
+ EOT
+-PYTHON_VERSION=`python -V 2>&1 | awk {'print $2'} | awk -F. {'print $1"."$2'}`
+ test_link "whether Python is installed" "yes" "no" "-lpython$PYTHON_VERSION -lpthread -lutil -ldl"
+
+ cat >>confdefs.h <<_ACEOF
diff --git a/sys-cluster/charm/files/digest-charm-5.9 b/sys-cluster/charm/files/digest-charm-5.9
new file mode 100644
index 0000000..2c50cfb
--- /dev/null
+++ b/sys-cluster/charm/files/digest-charm-5.9
@@ -0,0 +1,3 @@
+MD5 e0632ea7993a9b9f197fe5c20712a6be charm-5.9.tar.gz 7580639
+RMD160 ebc3a8515fd918c6e0fc0fd9963a22b3ae5d057d charm-5.9.tar.gz 7580639
+SHA256 b5f8d53f0b447dbd720a0f2607a0e7902c227c7377326bf279e448ed570dcc89 charm-5.9.tar.gz 7580639