commit:     1a28fb600b3613bbb556a637297bf785d3f7a5ce
Author:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 22:23:09 2018 +0000
Commit:     Christoph Junghans <junghans <AT> gentoo <DOT> org>
CommitDate: Tue May  1 22:23:37 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a28fb60

sys-cluster/charm: version bump

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-cluster/charm/Manifest           |   1 +
 sys-cluster/charm/charm-6.8.2.ebuild | 218 +++++++++++++++++++++++++++++++++++
 2 files changed, 219 insertions(+)

diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest
index 4f3235b7c02..22a65c722b3 100644
--- a/sys-cluster/charm/Manifest
+++ b/sys-cluster/charm/Manifest
@@ -2,3 +2,4 @@ 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

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 00000000000..22e45cc2592
--- /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'."
+}

Reply via email to