summaryrefslogtreecommitdiff
path: root/sys-cluster/charm
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/charm')
-rw-r--r--sys-cluster/charm/Manifest2
-rw-r--r--sys-cluster/charm/charm-6.8.2.ebuild218
2 files changed, 220 insertions, 0 deletions
diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest
index afc2bad96aa2..2d5c7dee1c8b 100644
--- a/sys-cluster/charm/Manifest
+++ b/sys-cluster/charm/Manifest
@@ -9,6 +9,7 @@ DIST charm-6.5.1.tar.gz 19265741 BLAKE2B a0124b2c125b85968d79496709e3aa64e6287f8
DIST charm-6.6.0.tar.gz 18779545 BLAKE2B 7fef3e34060e6e76d757b432646da25d0869600db1ab6a39bd1a0be0d6bd59bf656fd16e5e9550f5d081333e0c458f001236016a966537c3803d52b125694d5f SHA512 fd6cc2fa8919198fdceb8187101882a61fe974fed3ddd65b102c95b850877429fe0675a55d54075e4a2accad134f615ff717a7dd39fbd9af5fa65a5c87d34e0b
DIST charm-6.6.1.tar.gz 125697465 BLAKE2B 49cdab682ddb2c5409007f852b9d2d905921a5db04aaa7a4d679f9cf05f754864be5b2c885c070d8c7f35a78584055e38993397430617f6aebfe398d415df6c4 SHA512 139409fff76ac9811b2efe6605579a877738f873b112d4e4da25f079598f6c238cf76e677ed3cf3f92aa59f29710feea3e96e59e6010e186e4191dfa4c3ef92e
DIST charm-6.7.1.tar.gz 18843211 BLAKE2B 090959b5dd8642fecf6dff7bf24212a42b39d7940c264a0b37af9c2ae8f1ac32f3c65d22a67cdc78b7cd821523dc01659293c84e9b26fa69669915d9c5b3f4db SHA512 08581ad58ea737bb118ad1d382feeae2cec2ec0fd8ea1a227e2cb8080c40ba0d043de6c867de0dfa470b2291638b1b6bf6d52c89b4e4b6c9f1fdd824ac601436
+DIST charm-6.8.2.tar.gz 24420478 BLAKE2B b5035d29f90ec766dc49b94e76d68a9ce3d16f43037203baaa035cfa863c6ca063a81c5dc275c1517feabc3517201d5e854a2b1b4b1c492ff0433f692db39a34 SHA512 903aa47706c260d35a04e6002874d197439087d6bdbd4fe65a397a02096a2e53eeb93b64c57e5983f0190ca2dcef3a9b28a3b424207c9d3eb6e820659f5e00c1
EBUILD charm-6.5.1-r1.ebuild 5248 BLAKE2B ed7c807ce8425c6371648696bde5d7d34ce3f864f5374d580837d129cd9904f5a372793015e90b3a30ad974305d6b310eb712abe1307334e09752f1cc0d88e91 SHA512 bca23f56b551d6fb40328f8bdd25130c34f84e6b1e11236749703a0fdedbdfe40b566f13f8e3cbe07c7668582ddd0bbe880242955516c1dfdc5075571be0a573
EBUILD charm-6.5.1-r2.ebuild 5311 BLAKE2B 194e6a685d68a3240d21352e212a9aa062ec6c26029d84c5f3384646a2203471ecadea0da6ee2cdfc5e859e0575682dad294c82770899602bd0767ad3ea14785 SHA512 8cbea2a9aeab22ffbee26659991c8caed1b8545985df91e82375995b044a18be2dc3a14183260342eb7665c81bfce83e7d04f59346b718ef9aafd1f07d7c13ae
EBUILD charm-6.5.1-r3.ebuild 5330 BLAKE2B 26314be92b5e5451476bd1611faddb7c194c1d53f5793aec9ef0272996596ad7f94767eec677de9f7391d8fe38b049414dd93a9332763e1bc540aea5ab76aed9 SHA512 d31c2c5eca23229b208ec9e043b5e8b23e86341cbc24ab2b588d84a094c9f543ff63c4b8fc24a11eb4c4d55db7ad66917dc620b275ce5dd137276a6cbcb649cb
@@ -16,4 +17,5 @@ EBUILD charm-6.6.0-r1.ebuild 5578 BLAKE2B 843fd7c798641276977c7ff08574d0accc7494
EBUILD charm-6.6.0.ebuild 5572 BLAKE2B 016d5d96033b1fd02a79b85af7ddaa236fc575740b5034d3d4c52de22e4388be4bf1bb101015a1c0257b0b71a4c185e4b4870e255243162dee8045b596ba978c SHA512 6947f911efc5d756537ff8c06754e0f9580f8f4b9e7ee33ea96be3144ad4537da21228ecfd1321f972d97979fcf556e4f3b2646b11de7717006b4491462fafa7
EBUILD charm-6.6.1.ebuild 5781 BLAKE2B 14d474c34b72731e5c139a3f5be4de882a1f99a0a8043b4220cfa4caa37116e6c1bbeb3ed5c4079a43b328dc4233090b0932db1038039c84d645bafd606c11e1 SHA512 1c278e8e52860772ebbae872d5f172c0e69932baf8555085572d278402782d913ba647f20ef6789d26265f78272d510d5a351047df419299e322f3b0e5217474
EBUILD charm-6.7.1.ebuild 5837 BLAKE2B 763e71d521c95ab06b7225f61cfb63b0f0c5fd9bf71ddec1f4653a6ad63f14dc1f9ea2382c713f0945faf20f435d1b3e07adf2b1f2e3714d0b2f103b9b968604 SHA512 9f51f10e66a46a85959042a3f3f9cf0f336b49a9ccdaf3c3cf0e7f2ca20b127123f1a5da185d79ea5ef2fa2ea0baf1de4ed43d691d3723e87b8b63938270ca7e
+EBUILD charm-6.8.2.ebuild 5892 BLAKE2B fa195ff36177c2e1fe4e024568c8c265d5c6ab73d115ba26a13797512698b20329d091caef9daf684d380279ef5b5af598014eb406c070b80203bf2e4d8392e1 SHA512 945ce5cd866f56d9433390f8cc506a320531c8f4eac4995fcab6ee41635b9e637a100af59424c94748d66635fd74d4ca91ce29c8a45a0218578274c49a4ec792
MISC metadata.xml 1012 BLAKE2B ee284d471b4f13534787629319734afacbb998fa7ea115377281648614693fd32b7ff91775eddf292b61f267fbfb9be81397be4f37bf1b4582de8cf06bc9364a SHA512 e8fd7cfac25aa8428adbe77922140eee5621b18afa5f10d1ed0c7b14960affc3a1dc0896b7ea034001855ef3e1c1f12791cada0f959eb210ba78f1be44b89ffc
diff --git a/sys-cluster/charm/charm-6.8.2.ebuild b/sys-cluster/charm/charm-6.8.2.ebuild
new file mode 100644
index 000000000000..22e45cc25928
--- /dev/null
+++ b/sys-cluster/charm/charm-6.8.2.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_STANDARD="90"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 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 mlogft mpi ampi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ $(python_gen_any_dep '
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )
+ net-libs/libtirpc
+ "
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+S="${WORKDIR}/${PN}-v${PV}"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+get_opts() {
+ local CHARM_OPTS
+
+ # 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' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ append-cppflags $($(tc-getPKG_CONFIG) --cflags libtirpc)
+
+ sed \
+ -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)") ${FCFLAGS}:g" \
+ -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \
+ -e "/CMK_CF90/s:\`which f90.*$::g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)") ${CPPFLAGS} ${CXXFLAGS}:g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)") ${CPPFLAGS} ${CFLAGS}: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 "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \
+ -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \
+ -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \
+ -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)") ${FCFLAGS}:g" \
+ -i src/arch/common/*.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" \
+ -e "/^CHARMC/s:$: ${CPPFLAGS} ${CFLAGS}:g" \
+ -i \
+ src/scripts/Makefile \
+ src/util/charmrun-src/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+}
+
+src_compile() {
+ local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')"
+ local build_options="$(get_opts)"
+ #build only accepts -j from MAKEOPTS
+ local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${build_commandline}"
+ ./build charm++ ${build_commandline} || die "Failed to build charm++"
+
+ if use ampi; then
+ einfo "running ./build AMPI ${build_commandline}"
+ ./build AMPI ${build_commandline} || die "Failed to build charm++"
+ fi
+
+ # make pdf/html docs
+ if use doc; then
+ emake -j1 -C doc/charm++
+ 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. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-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 libs incl. charm objects
+ for i in lib*/*.{so,a}; do
+ [[ ${i} = *.a ]] && use !static-libs && continue
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ [[ -s $i ]] || continue
+ [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${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++/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ 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'."
+}