diff options
author | Justin Bronder <jsbronder@gentoo.org> | 2010-06-18 19:23:31 -0400 |
---|---|---|
committer | Justin Bronder <jsbronder@gentoo.org> | 2010-06-18 19:23:31 -0400 |
commit | a859687b1a57129324235387787a0c20f8c972cc (patch) | |
tree | 66ed2d25673fb7079556fc8b7b177806e96226a0 /sys-cluster/openmpi/openmpi-1.4.1-r1.ebuild | |
parent | dev-python/pytables: Adding dropped ~x86 keyword (diff) | |
download | sci-a859687b1a57129324235387787a0c20f8c972cc.tar.gz sci-a859687b1a57129324235387787a0c20f8c972cc.tar.bz2 sci-a859687b1a57129324235387787a0c20f8c972cc.zip |
Rename 1.4.1 as 1.4.1-r1 so users can easily get stable version from main tree.
(Portage version: 2.2_rc67/git/Linux x86_64, RepoMan options: --force)
(Signed Manifest commit)
Diffstat (limited to 'sys-cluster/openmpi/openmpi-1.4.1-r1.ebuild')
-rw-r--r-- | sys-cluster/openmpi/openmpi-1.4.1-r1.ebuild | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/sys-cluster/openmpi/openmpi-1.4.1-r1.ebuild b/sys-cluster/openmpi/openmpi-1.4.1-r1.ebuild new file mode 100644 index 000000000..18f3d6903 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.4.1-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.2.4.ebuild,v 1.2 2007/12/13 22:39:53 jsbronder Exp $ + +EAPI=2 +inherit eutils multilib flag-o-matic toolchain-funcs fortran mpi + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +RESTRICT="mpi-threads? ( test )" +IUSE="+cxx fortran heterogeneous ipv6 infiniband mpi-threads pbs romio threads vt" +RDEPEND="pbs? ( sys-cluster/torque ) + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + ) + infiniband? ( sys-infiniband/libibverbs ) + $(mpi_imp_deplist)" +DEPEND="${RDEPEND}" + +pkg_setup() { + MPI_ESELECT_FILE="eselect.mpi.openmpi" + + if use mpi-threads; then + ewarn + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + ewarn + epause 5 + fi + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog + + if use fortran; then + FORTRAN="g77 gfortran ifc" + fortran_pkg_setup + fi +} + +src_prepare() { + # Fix --as-needed problems with f77 and f90. + sed -i 's:^libs=:libs=-Wl,--no-as-needed :' \ + ompi/tools/wrappers/mpif{77,90}-wrapper-data.txt.in + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi + + # https://svn.open-mpi.org/trac/ompi/ticket/2201 + epatch "${FILESDIR}"/${P}-r22513.patch +} + +src_configure() { + local c=" + --without-xgrid + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --without-slurm" + + if use mpi-threads; then + c="${c} + --enable-mpi-threads + --enable-progress-threads" + fi + + if use fortran; then + if [[ "${FORTRANC}" = "g77" ]]; then + c="${c} --disable-mpi-f90" + elif [[ "${FORTRANC}" = if* ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + c="${c} --with-mpi-f90-size=medium" + fi + else + c="${c} + --disable-mpi-f90 + --disable-mpi-f77" + fi + + ! use vt && c="${c} --enable-contrib-no-build=vt" + econf $(mpi_econf_args) ${c} \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_with pbs tm) \ + $(use_enable ipv6) \ + $(use_with infiniband openib) +} + +src_install () { + emake DESTDIR="${D}" install || die + mpi_dodoc README AUTHORS NEWS VERSION + mpi_imp_add_eselect +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + cd "${S}" + emake -j1 check || die "emake check failed" +} |