summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Gardner <je_fro@gentoo.org>2007-08-24 02:19:12 +0000
committerJeffrey Gardner <je_fro@gentoo.org>2007-08-24 02:19:12 +0000
commit5654cadc76cd26af1ecc85150ef25b7bc8495737 (patch)
tree9c1312bd296e4829f2f138a5df6533f8b402ffcc /sys-cluster/charm/charm-9999.ebuild
parentbumping to -r 2666. (diff)
downloadje_fro-5654cadc76cd26af1ecc85150ef25b7bc8495737.tar.gz
je_fro-5654cadc76cd26af1ecc85150ef25b7bc8495737.tar.bz2
je_fro-5654cadc76cd26af1ecc85150ef25b7bc8495737.zip
Crude fixup to install on amd64.
svn path=/; revision=57
Diffstat (limited to 'sys-cluster/charm/charm-9999.ebuild')
-rw-r--r--sys-cluster/charm/charm-9999.ebuild146
1 files changed, 146 insertions, 0 deletions
diff --git a/sys-cluster/charm/charm-9999.ebuild b/sys-cluster/charm/charm-9999.ebuild
new file mode 100644
index 0000000..214244c
--- /dev/null
+++ b/sys-cluster/charm/charm-9999.ebuild
@@ -0,0 +1,146 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+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="${PN}_src.tar.gz"
+S="${WORKDIR}/${PN}"
+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
+ )"
+
+case ${ARCH} in
+
+ x86)
+ CHARM_ARCH="net-linux" ;;
+
+ amd64)
+ CHARM_ARCH="net-linux-amd64" ;;
+esac
+
+CHARM_DOWNLOAD="http://charm.cs.uiuc.edu/download/"
+
+pkg_nofetch() {
+ echo
+ einfo "Please download the daily ${PN}_src.tar.gz from"
+ einfo "${CHARM_DOWNLOAD}"
+ einfo "and then move it to ${DISTDIR}"
+ echo
+}
+
+src_unpack() {
+ unpack ${A}
+
+ # 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 ] && [ -x ${ARCH} != amd64 ]; 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
+pwd
+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
+ einfo "Fixing paths in charmc wrapper"
+ epatch "${FILESDIR}"/${P}-charmc-gentoo.patch
+
+ cd "${S}"
+ 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
+}