summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2009-01-25 21:01:30 +0000
committerJustin Bronder <jsbronder@gentoo.org>2009-01-25 21:01:30 +0000
commit4ae4cb0e70ff553f0cd2be4dd225730b5260fd82 (patch)
treeb1d011ed3bd2901017ac837215cd98800f1c5085 /sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild
parentAdd new patchset for 2.0 for fbsd7, add alpha fix for 3.0.5 (diff)
downloadgentoo-2-4ae4cb0e70ff553f0cd2be4dd225730b5260fd82.tar.gz
gentoo-2-4ae4cb0e70ff553f0cd2be4dd225730b5260fd82.tar.bz2
gentoo-2-4ae4cb0e70ff553f0cd2be4dd225730b5260fd82.zip
Revbump lam-mpi-7.1.4-r1. Patch to fix when using libtool-2.2+, #228183. Also remove sweep to avoid file conflict with media-libs/sweep, #245439 c2.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild')
-rw-r--r--sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild142
1 files changed, 142 insertions, 0 deletions
diff --git a/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild b/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild
new file mode 100644
index 000000000000..fcacafab0e3a
--- /dev/null
+++ b/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild,v 1.1 2009/01/25 21:01:30 jsbronder Exp $
+
+inherit autotools eutils fortran flag-o-matic multilib portability
+
+IUSE="crypt pbs fortran xmpi romio examples"
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="the LAM MPI parallel computing environment"
+SRC_URI="http://www.lam-mpi.org/download/files/${MY_P}.tar.bz2"
+HOMEPAGE="http://www.lam-mpi.org"
+DEPEND="pbs? ( sys-cluster/torque )
+ !sys-cluster/mpich
+ !sys-cluster/openmpi
+ !sys-cluster/mpich2"
+
+RDEPEND="${DEPEND}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )"
+
+SLOT="6"
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+LICENSE="lam-mpi"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"/romio/util/
+ sed -i "s|docdir=\"\$datadir/lam/doc\"|docdir=\"${D}/usr/share/doc/${PF}\"|" romioinstall.in
+
+ for i in "${S}"/share/memory/{ptmalloc,ptmalloc2,darwin7}/Makefile.in; do
+ sed -i -e 's@^\(docdir = \)\$(datadir)/lam/doc@\1'/usr/share/doc/${PF}'@' ${i}
+ done
+
+ cd "${S}"
+ epatch "${FILESDIR}"/7.1.2-lam_prog_f77.m4.patch
+ epatch "${FILESDIR}"/7.1.2-liblam-use-extra-libs.patch
+ epatch "${FILESDIR}"/7.1.4-as-needed.patch
+ epatch "${FILESDIR}"/${PN}-7.1.4-libtool.patch
+
+ # gcc-4.3.0 fix. char *argv[] -> char **argv.
+ # replaces a few more than necessary, but should be harmless.
+ # TODO: Already applied upstream, will be in 7.1.5
+ for f in config/*.m4; do
+ sed -i 's:^\(int main(int argc, char\)[^{]*\([{]\?\):\1** argv) \2:g' $f
+ done
+
+ # eautoreconf doesn't work correctly as lam-mpi uses their own
+ # LAM_CONFIG_SUBDIR instead of AC_CONFIG_SUBDIRS. Even better, they use
+ # variables inside of the definitions, so --trace doesn't work.
+ for f in $(find ./ -name 'configure.ac'); do
+ pushd $(dirname $f) &>/dev/null
+ eautoreconf
+ popd &>/dev/null
+ done
+ eautoreconf
+}
+
+pkg_setup() {
+ einfo
+ elog "LAM/MPI is now in a maintenance mode. Bug fixes and critical patches"
+ elog "are still being applied, but little real new work is happening in"
+ elog "LAM/MPI. This is a direct result of the LAM/MPI Team spending the"
+ elog "vast majority of their time working on our next-generation MPI"
+ elog "implementation, http://www.openmpi.org"
+ elog " ---From the lam-mpi hompage. Please consider upgrading."
+ einfo
+ # fortran_pkg_setup should -not- be run here.
+}
+
+src_compile() {
+ local myconf
+
+ if use crypt; then
+ myconf="${myconf} --with-rsh=ssh"
+ else
+ myconf="${myconf} --with-rsh=rsh"
+ fi
+
+ if ! use pbs; then
+ # See: http://www.lam-mpi.org/MailArchives/lam/2006/05/12445.php
+ rm -rf "${S}"/share/ssi/boot/tm
+ elif has_version "<=sys-cluster/torque-2.1.6"; then
+ # Newer versions dropped the conflicting names and can
+ # be installed to nice directories.
+ append-ldflags -L/usr/$(get_libdir)/pbs/lib
+ fi
+
+ # Following the above post to the mailing list, we'll get
+ # rid of bproc, globus and slurm as well, none of which are
+ # in the current tree.
+ rm -rf "${S}"/share/ssi/boot/{bproc,globus,slurm}
+
+ if use fortran; then
+ fortran_pkg_setup
+ # this is NOT in pkg_setup as it is NOT needed for RDEPEND right away it
+ # can be installed after merging from binary, and still have things fine
+ myconf="${myconf} --with-fc=${FORTRANC}"
+ else
+ myconf="${myconf} --without-fc"
+ fi
+
+ econf \
+ --with-ltdl-include=/usr/include \
+ --with-ltdl-lib=/usr/$(get_libdir) \
+ --disable-ltdl-install \
+ $(use_with xmpi trillium) \
+ --sysconfdir=/etc/lam-mpi \
+ --enable-shared \
+ --with-threads=posix \
+ $(use_with romio) \
+ ${myconf} || die "econf failed."
+ emake || die "emake failed."
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ # With USE=xmpi /usr/bin/sweep is installed. However it's just
+ # a bash script to call bfctl -R and it causes file collisions
+ # with media-sound/sweep. Hence, we remove it, see man bfcfl.
+ if [ -f "${D}"/usr/bin/sweep ]; then
+ rm -f "${D}"/usr/bin/sweep || die
+ fi
+
+ # There are a bunch more tex docs we could make and install too,
+ # but they are replicated in the pdfs!
+ dodoc README HISTORY VERSION
+ dodoc "${S}"/doc/{user,install}.pdf
+
+ if use examples; then
+ cd "${S}"/examples
+ dodir /usr/share/${P}/examples
+ find -name README -or -iregex '.*\.[chf][c]?$' >"${T}"/testlist
+ while read p; do
+ treecopy $p "${D}"/usr/share/${P}/examples ;
+ done < "${T}"/testlist
+ fi
+}