diff options
author | Nicolas Bock <nicolasbock@gmail.com> | 2014-02-19 14:53:58 -0700 |
---|---|---|
committer | Nicolas Bock <nicolasbock@gmail.com> | 2014-02-19 14:53:58 -0700 |
commit | c313573644cfe34f55ace1c4f9f11a6b85d4978f (patch) | |
tree | 59ee93921ef8bb83e4c7ed0e2cfd04dfcba05110 | |
parent | Merge pull request #196 from ustcscgy/visit (diff) | |
download | sci-c313573644cfe34f55ace1c4f9f11a6b85d4978f.tar.gz sci-c313573644cfe34f55ace1c4f9f11a6b85d4978f.tar.bz2 sci-c313573644cfe34f55ace1c4f9f11a6b85d4978f.zip |
sys-cluster/charm-6.6.0_rc2: Version bump to new release candidate.
Package-Manager: portage-2.2.7
-rw-r--r-- | sys-cluster/charm/ChangeLog | 5 | ||||
-rw-r--r-- | sys-cluster/charm/Manifest | 1 | ||||
-rw-r--r-- | sys-cluster/charm/charm-6.6.0_rc2.ebuild | 220 |
3 files changed, 226 insertions, 0 deletions
diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog index 2ad39a94c..792066452 100644 --- a/sys-cluster/charm/ChangeLog +++ b/sys-cluster/charm/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ +*charm-6.6.0_rc2 (19 Feb 2014) + + 19 Feb 2014; Nicolas Bock <nicolasbock@gentoo.org> +charm-6.6.0_rc2.ebuild: + sys-cluster/charm-6.6.0_rc2: Version bump to new release candidate. + 06 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> charm-6.6.0_rc1-r1.ebuild: sys-cluster/charm-6.6.0_rc1-r1: After ongoing problems with charm's git repository, I packaged the rc as a tar file and serve it from my personal dev diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest index b087e47f1..165a9909b 100644 --- a/sys-cluster/charm/Manifest +++ b/sys-cluster/charm/Manifest @@ -1 +1,2 @@ DIST charm-6.6.0_rc1.tar.bz2 18258944 SHA256 8501922707d6c4fb54edfbc06c56e6f614c5b68a8c03934f00c903a1bb74d205 SHA512 f812c15e08a9c8dbf886cbfa6498fc0594960187d498b4006881578e129a80a80d34ed3c8d1e39112ab99240221fc5da9b812d33a76bbbcdb4df5cbe09e645df WHIRLPOOL 12ffd3d8fc820f2f6a1f9b0d64d8cc2addbecbeb88b9ca82d026d6e65a01828331f763c73d9c8da788006f80c882fa0227cb0de1af2efc9b5a3c1a18605e052e +DIST charm-6.6.0_rc2.tar.bz2 18259281 SHA256 1056ce921e23995dd9ecf3db3a5c9864ed176feddb588b7aba8aa1493e67dfc1 SHA512 426ad234aa9c16fddae4d9ff083d79b883ed56ee0ca8374631bba26ae3842c5d18aa8150f80758e96de32a912572b6a32b4d1de7a84d741a1a8a06e8131fe051 WHIRLPOOL b54a072d7df090a9b507861fead845e2626f4dce77aea18fcbceec5357bff79e72f7a03e546531ec84efa541bc4845ec0bad7bc9ca845154278fc006c48195c4 diff --git a/sys-cluster/charm/charm-6.6.0_rc2.ebuild b/sys-cluster/charm/charm-6.6.0_rc2.ebuild new file mode 100644 index 000000000..5be505e25 --- /dev/null +++ b/sys-cluster/charm/charm-6.6.0_rc2.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +FORTRAN_STANDARD="90" +PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) + +inherit eutils flag-o-matic fortran-2 multilib python-any-r1 toolchain-funcs + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://dev.gentoo.org/~nicolasbock/charm-${PV}.tar.bz2" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi 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} + )" + +REQUIRED_USE=" + doc? ( ${PYTHON_REQUIRED_USE} ) + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +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() { + sed \ + -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \ + -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CF90/s:\`which f90.*$::g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):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)"):g" \ + -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):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" \ + -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 + + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch" + epatch "${FILESDIR}/charm-6.6.0-static-library-fix.patch" +} + +src_compile() { + local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')" + local build_options="$(get_opts)" + local build_charmc_options="${MAKEOPTS} -j1" + local build_commandline="${build_version} ${build_options} ${build_charmc_options}" + + # Build charmm++ first. + einfo "running ./build charm++ ${build_commandline}" + ./build charm++ ${build_commandline} || die "Failed to build charm++" + + # 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 static libs. Charm has a lot of .o "libs" that it requires at + # runtime. + if use static-libs; then + for i in lib/*.{a,o}; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib "${i}" + done + fi + + # Install shared libs. + for i in lib_so/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib.so "${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++/* + 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'." +} |