diff options
author | Alexey Shvetsov <alexxy@gentoo.org> | 2011-12-17 12:52:12 +0000 |
---|---|---|
committer | Alexey Shvetsov <alexxy@gentoo.org> | 2011-12-17 12:52:12 +0000 |
commit | 4cb2f608975df86285488f698300bdd03f3baf53 (patch) | |
tree | aa35cda92de8834488199368738e9ea37b41f24e /sys-cluster/openmpi | |
parent | Restore old version (bug #395033). (diff) | |
download | gentoo-2-4cb2f608975df86285488f698300bdd03f3baf53.tar.gz gentoo-2-4cb2f608975df86285488f698300bdd03f3baf53.tar.bz2 gentoo-2-4cb2f608975df86285488f698300bdd03f3baf53.zip |
Add some prefix related fixes for openmpi
(Portage version: 2.2.0_alpha81/cvs/Linux x86_64)
Diffstat (limited to 'sys-cluster/openmpi')
-rw-r--r-- | sys-cluster/openmpi/ChangeLog | 7 | ||||
-rw-r--r-- | sys-cluster/openmpi/metadata.xml | 1 | ||||
-rw-r--r-- | sys-cluster/openmpi/openmpi-1.5.4-r1.ebuild | 123 |
3 files changed, 130 insertions, 1 deletions
diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog index 18a7e2ae0f6d..bfad032a2f07 100644 --- a/sys-cluster/openmpi/ChangeLog +++ b/sys-cluster/openmpi/ChangeLog @@ -1,6 +1,11 @@ # 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.92 2011/08/31 17:26:17 alexxy Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.93 2011/12/17 12:52:12 alexxy Exp $ + +*openmpi-1.5.4-r1 (17 Dec 2011) + + 17 Dec 2011; Alexey Shvetsov <alexxy@gentoo.org> +openmpi-1.5.4-r1.ebuild: + Add some prefix related fixes 31 Aug 2011; Alexey Shvetsov <alexxy@gentoo.org> +openmpi-1.5.4.ebuild: Version bump diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml index 6e57dc7c39a8..5455cf790366 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='numa'>Enable numa memory allocation support</flag> <flag name='sctp'>Enable SCTP support</flag> <flag name='slurm'>Add support for SLURM</flag> <flag name='vt'>Enable bundled VampirTrace support</flag> diff --git a/sys-cluster/openmpi/openmpi-1.5.4-r1.ebuild b/sys-cluster/openmpi/openmpi-1.5.4-r1.ebuild new file mode 100644 index 000000000000..8c5bf352a97b --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.5.4-r1.ebuild @@ -0,0 +1,123 @@ +# 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.4-r1.ebuild,v 1.1 2011/12/17 12:52:12 alexxy Exp $ + +EAPI=4 +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 ~x86-fbsd ~amd64-linux" +IUSE="+cxx elibc_FreeBSD fortran heterogeneous infiniband ipv6 mpi-threads +numa pbs + romio sctp slurm threads vt" + +REQUIRED_USE="^^ ( + ( !slurm !pbs ) + ( slurm !pbs ) + ( !slurm pbs ) + )" + +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 ) + numa? ( sys-process/numactl ) + >=sys-apps/hwloc-1.3 + !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 + --with-hwloc="${EPREFIX}/usr" + ) + + if use mpi-threads; then + myconf+=( + --enable-mpi-thread-multiple + --enable-opal-multi-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) + + use infiniband && myconf+=( --with-openib="${EPREFIX}/usr" ) + use numa && myconf+=( --with-libnuma="${EPREFIX}/usr" ) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_with pbs tm) \ + $(use_with slurm) \ + $(use_enable ipv6) \ + $(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. + emake -j1 check || die "emake check failed" +} |