diff options
author | Christoph Junghans <junghans@gentoo.org> | 2018-05-01 16:23:09 -0600 |
---|---|---|
committer | Christoph Junghans <junghans@gentoo.org> | 2018-05-01 16:23:37 -0600 |
commit | 1a28fb600b3613bbb556a637297bf785d3f7a5ce (patch) | |
tree | 1a5f86e24b6ee680866d7694b4d2a4eaeb473dec /sys-cluster/charm | |
parent | sys-libs/libstatgrab: stable 0.91 for ppc, bug #651712 (diff) | |
download | gentoo-1a28fb600b3613bbb556a637297bf785d3f7a5ce.tar.gz gentoo-1a28fb600b3613bbb556a637297bf785d3f7a5ce.tar.bz2 gentoo-1a28fb600b3613bbb556a637297bf785d3f7a5ce.zip |
sys-cluster/charm: version bump
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'sys-cluster/charm')
-rw-r--r-- | sys-cluster/charm/Manifest | 1 | ||||
-rw-r--r-- | sys-cluster/charm/charm-6.8.2.ebuild | 218 |
2 files changed, 219 insertions, 0 deletions
diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest index 4f3235b7c021..22a65c722b36 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 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'." +} |