diff options
author | Alexey Shvetsov <alexxy@gentoo.org> | 2011-07-01 21:55:59 +0000 |
---|---|---|
committer | Alexey Shvetsov <alexxy@gentoo.org> | 2011-07-01 21:55:59 +0000 |
commit | 36b27428e43258f4486161f9de4a012a35e723dc (patch) | |
tree | 2103d637102fbd762646c2362d7fda9a6419ae69 /sys-cluster | |
parent | Use mask infiniband in global profile and unmask it on amd64/x86 (diff) | |
download | gentoo-2-36b27428e43258f4486161f9de4a012a35e723dc.tar.gz gentoo-2-36b27428e43258f4486161f9de4a012a35e723dc.tar.bz2 gentoo-2-36b27428e43258f4486161f9de4a012a35e723dc.zip |
[sys-cluster/openmpi] Add infiniband and sctp support
(Portage version: 2.2.0_alpha43/cvs/Linux x86_64)
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/openmpi/ChangeLog | 8 | ||||
-rw-r--r-- | sys-cluster/openmpi/metadata.xml | 1 | ||||
-rw-r--r-- | sys-cluster/openmpi/openmpi-1.5.3-r1.ebuild | 111 |
3 files changed, 119 insertions, 1 deletions
diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog index 2a2f955693ee..b72923c98b8c 100644 --- a/sys-cluster/openmpi/ChangeLog +++ b/sys-cluster/openmpi/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-cluster/openmpi # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.86 2011/06/24 19:45:54 xarthisius Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.87 2011/07/01 21:55:59 alexxy Exp $ + +*openmpi-1.5.3-r1 (01 Jul 2011) + + 01 Jul 2011; Alexey Shvetsov <alexxy@gentoo.org> +openmpi-1.5.3-r1.ebuild, + metadata.xml: + Add infiniband and sctp support 24 Jun 2011; Kacper Kowalik <xarthisius@gentoo.org> openmpi-1.5.3.ebuild: Dropped ~xf86-fbsd wrt #372885 diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml index 15b79cac215d..b7a50c2c915a 100644 --- a/sys-cluster/openmpi/metadata.xml +++ b/sys-cluster/openmpi/metadata.xml @@ -11,6 +11,7 @@ <flag name='pbs'>Add support for the Portable Batch System (PBS)</flag> <flag name='romio'>Build the ROMIO MPI-IO component</flag> <flag name='mpi-threads'>Enable MPI_THREAD_MULTIPLE</flag> + <flag name='sctp'>Enable SCTP support</flag> <flag name='vt'>Enable bundled VampirTrace support</flag> </use> </pkgmetadata> diff --git a/sys-cluster/openmpi/openmpi-1.5.3-r1.ebuild b/sys-cluster/openmpi/openmpi-1.5.3-r1.ebuild new file mode 100644 index 000000000000..e7b07cec58d9 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.5.3-r1.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.5.3-r1.ebuild,v 1.1 2011/07/01 21:55:59 alexxy Exp $ + +EAPI=3 +inherit eutils fortran-2 multilib flag-o-matic toolchain-funcs + +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.5/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="+cxx elibc_FreeBSD fortran heterogeneous infiniband ipv6 mpi-threads pbs romio sctp threads vt" +RDEPEND=" + fortran? ( virtual/fortran ) + pbs? ( sys-cluster/torque ) + infiniband? ( sys-infiniband/openib ) + sctp? ( net-misc/lksctp-tools ) + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + >=sys-apps/hwloc-1.1.1 + !sys-cluster/mpich + !sys-cluster/lam-mpi + !sys-cluster/mpich2 + !sys-cluster/mpiexec" +DEPEND="${RDEPEND}" + +pkg_setup() { + use fortran && fortran-2_pkg_setup + if use mpi-threads; then + echo + 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" + echo + fi + + echo + 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." + echo +} + +src_prepare() { + # 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 + + epatch "${FILESDIR}"/openmpi-r24328.patch +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --without-slurm + --with-hwloc=/usr + ) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-progress-threads) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_with pbs tm) \ + $(use_enable ipv6) \ + $(use_with infiniband openib) \ + $(use_with sctp sctp) +} + +src_install () { + emake DESTDIR="${D}" install || die "make install failed" + # From USE=vt see #359917 + rm "${D}"/usr/share/libtool &> /dev/null + dodoc README AUTHORS NEWS VERSION || die +} + +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" +} |