public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Nicolas Bock" <nicolasbock@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/sci:master commit in: sys-cluster/charm/
Date: Thu,  2 Jan 2014 16:55:48 +0000 (UTC)	[thread overview]
Message-ID: <1388681665.c2c975d49b88a5d6308351e8aa5c610626e3e402.nicolasbock@gentoo> (raw)

commit:     c2c975d49b88a5d6308351e8aa5c610626e3e402
Author:     Nicolas Bock <nicolasbock <AT> gmail <DOT> com>
AuthorDate: Thu Jan  2 16:54:25 2014 +0000
Commit:     Nicolas Bock <nicolasbock <AT> gmail <DOT> com>
CommitDate: Thu Jan  2 16:54:25 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=c2c975d4

sys-cluster/charm-6.6.0_rc1-r1: Cleanup of python deps.

Package-Manager: portage-2.2.7

---
 sys-cluster/charm/ChangeLog                 |   5 +
 sys-cluster/charm/charm-6.6.0_rc1-r1.ebuild | 224 ++++++++++++++++++++++++++++
 2 files changed, 229 insertions(+)

diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog
index 01e8eff..d5ed8f3 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_rc1-r1 (02 Jan 2014)
+
+  02 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> +charm-6.6.0_rc1-r1.ebuild:
+  sys-cluster/charm-6.6.0_rc1-r1: Cleanup of python deps.
+
   02 Jan 2014; Nicolas Bock <nicolasbock@gentoo.org> -Manifest,
   -charm-6.5.1-r2.ebuild, -charm-6.5.1-r3.ebuild:
   sys-cluster/charm: Removing versions moved to x86.

diff --git a/sys-cluster/charm/charm-6.6.0_rc1-r1.ebuild b/sys-cluster/charm/charm-6.6.0_rc1-r1.ebuild
new file mode 100644
index 0000000..8bc3996
--- /dev/null
+++ b/sys-cluster/charm/charm-6.6.0_rc1-r1.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/charm/charm-6.5.0.ebuild,v 1.1 2013/06/26 23:58:38 ottxor Exp $
+
+EAPI=5
+
+FORTRAN_STANDARD="90"
+PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
+
+inherit eutils flag-o-matic fortran-2 git-r3 multilib python-any-r1 toolchain-funcs
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI=""
+
+EGIT_REPO_URI="http://charm.cs.uiuc.edu/gerrit/charm"
+EGIT_BRANCH="charm"
+EGIT_COMMIT="57051a8f07496b9f8f696f59fad477c8a2bc3e4d"
+
+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'."
+}


             reply	other threads:[~2014-01-02 16:55 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-02 16:55 Nicolas Bock [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-05-06  0:11 [gentoo-commits] proj/sci:master commit in: sys-cluster/charm/ Christoph Junghans
2014-02-20 18:54 Christoph Junghans
2014-02-19 21:54 Nicolas Bock
2014-01-06 21:46 Nicolas Bock
2014-01-03 15:29 Nicolas Bock
2014-01-02 16:15 Nicolas Bock
2013-12-13 19:12 Nicolas Bock
2013-11-22 16:42 Nicolas Bock
2013-11-20  4:47 Nicolas Bock
2013-10-18 20:33 Christoph Junghans
2013-10-01 15:41 Christoph Junghans
2013-09-27 20:07 Nicolas Bock
2013-09-27 18:18 Nicolas Bock
2013-09-27 17:36 Nicolas Bock
2013-09-11 17:28 Nicolas Bock
2013-07-03 16:43 Nicolas Bock
2013-07-03 16:41 Nicolas Bock
2013-07-02  3:32 Nicolas Bock
2013-06-26 21:55 Nicolas Bock
2013-06-26 20:38 Nicolas Bock
2013-06-26  5:04 Christoph Junghans
2013-06-24 21:43 Nicolas Bock
2013-06-24 21:33 Nicolas Bock
2013-06-06 15:57 Nicolas Bock
2013-05-31 15:30 Nicolas Bock
2013-05-31  4:33 Nicolas Bock
2013-05-31  4:33 Nicolas Bock
2013-05-30 21:40 Nicolas Bock
2013-05-30 19:18 Nicolas Bock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1388681665.c2c975d49b88a5d6308351e8aa5c610626e3e402.nicolasbock@gentoo \
    --to=nicolasbock@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox