From 6373ced58d354ec63fd7af26b019a9fc2abc9959 Mon Sep 17 00:00:00 2001 From: Jeffrey Gardner Date: Sun, 7 Jun 2009 23:48:39 +0000 Subject: Fix CHARMLIB in charmc (Portage version: 2.1.6.13/cvs/Linux x86_64) --- sys-cluster/charm/ChangeLog | 8 +- sys-cluster/charm/charm-6.1.2-r1.ebuild | 131 +++++++++++++++++++++ .../charm/files/charm-6.1.2-charmc-gentoo.patch | 2 +- 3 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 sys-cluster/charm/charm-6.1.2-r1.ebuild (limited to 'sys-cluster/charm') diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog index adbcb5ef7f2e..0f48a214f952 100644 --- a/sys-cluster/charm/ChangeLog +++ b/sys-cluster/charm/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-cluster/charm # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v 1.21 2009/06/07 06:58:26 je_fro Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/ChangeLog,v 1.22 2009/06/07 23:48:39 je_fro Exp $ + +*charm-6.1.2-r1 (07 Jun 2009) + + 07 Jun 2009; Jeff Gardner +charm-6.1.2-r1.ebuild, + files/charm-6.1.2-charmc-gentoo.patch: + Fix CHARMLIB in charmc 07 Jun 2009; Jeff Gardner charm-6.1.2.ebuild: Fix ${S} diff --git a/sys-cluster/charm/charm-6.1.2-r1.ebuild b/sys-cluster/charm/charm-6.1.2-r1.ebuild new file mode 100644 index 000000000000..3bdd614cd51a --- /dev/null +++ b/sys-cluster/charm/charm-6.1.2-r1.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-6.1.2-r1.ebuild,v 1.1 2009/06/07 23:48:39 je_fro Exp $ + +inherit eutils toolchain-funcs flag-o-matic multilib + +DESCRIPTION="Charm++ is a message-passing parallel language and runtime system." +LICENSE="charm" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}_src.tar.gz" +S="${WORKDIR}/${P}" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cmkopt tcp smp doc" + +DEPEND="doc? ( app-text/poppler + dev-tex/latex2html + virtual/tex-base + )" + +RDEPEND="${DEPEND}" + +case ${ARCH} in + + x86) + CHARM_ARCH="net-linux" ;; + + amd64) + CHARM_ARCH="net-linux-amd64" ;; +esac + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${P}-charmrun.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 && [ "${ARCH}" != "amd64" ]; then + if use smp; then + CHARM_OPTS="${CHARM_OPTS} smp" + fi + + # CMK optimization + if use cmkopt; then + append-flags -DCMK_OPTIMIZE=1 + fi + + echo "charm opts: ${CHARM_OPTS}" +} + +src_compile() { + # build charmm++ first + cd "${S}" + ./build charm++ ${CHARM_ARCH} ${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 + epatch "${FILESDIR}/${P}-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" + + # 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 + 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-6.1.2-charmc-gentoo.patch b/sys-cluster/charm/files/charm-6.1.2-charmc-gentoo.patch index 4c4cfceeaa4a..02cad1354f04 100644 --- a/sys-cluster/charm/files/charm-6.1.2-charmc-gentoo.patch +++ b/sys-cluster/charm/files/charm-6.1.2-charmc-gentoo.patch @@ -17,7 +17,7 @@ - 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" ++CHARMLIB="/usr/gentoo-libdir" +CHARMINC="/usr/include/gentoo-include" +CHARMLIBSO="/usr/gentoo-libdir" -- cgit v1.2.3-65-gdbad