summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2015-02-04 21:46:42 +0000
committerJustin Bronder <jsbronder@gentoo.org>2015-02-04 21:46:42 +0000
commitff84d2d509338151c7a909b183147cafe71aac4a (patch)
treef5c3935c733fa9bbb9804f8f18474aea5d8941f6 /sys-cluster
parentdev-util/netbeans: restricted compilation to jdk7 (diff)
downloadhistorical-ff84d2d509338151c7a909b183147cafe71aac4a.tar.gz
historical-ff84d2d509338151c7a909b183147cafe71aac4a.tar.bz2
historical-ff84d2d509338151c7a909b183147cafe71aac4a.zip
Use system libltdl #273108
Package-Manager: portage-2.2.8-r1/cvs/Linux x86_64 Manifest-Sign-Key: 0x4D7043C9
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/openmpi/ChangeLog12
-rw-r--r--sys-cluster/openmpi/Manifest13
-rw-r--r--sys-cluster/openmpi/files/openmpi-ltdl.patch78
-rw-r--r--sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild171
-rw-r--r--sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild167
-rw-r--r--sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild170
-rw-r--r--sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild170
7 files changed, 776 insertions, 5 deletions
diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog
index 4b6ff25318e7..882674b02eb9 100644
--- a/sys-cluster/openmpi/ChangeLog
+++ b/sys-cluster/openmpi/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for sys-cluster/openmpi
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.129 2015/02/04 05:12:16 jsbronder Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.130 2015/02/04 21:46:32 jsbronder Exp $
+
+*openmpi-1.8.4-r1 (04 Feb 2015)
+*openmpi-1.8.3-r1 (04 Feb 2015)
+*openmpi-1.7.5-r1 (04 Feb 2015)
+*openmpi-1.6.5-r1 (04 Feb 2015)
+
+ 04 Feb 2015; Justin Bronder <jsbronder@gentoo.org> +openmpi-1.6.5-r1.ebuild,
+ +openmpi-1.7.5-r1.ebuild, +openmpi-1.8.3-r1.ebuild, +openmpi-1.8.4-r1.ebuild,
+ +files/openmpi-ltdl.patch:
+ Use system libltdl #273108
04 Feb 2015; Justin Bronder <jsbronder@gentoo.org> -openmpi-1.8.ebuild,
-openmpi-1.8.1.ebuild:
diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest
index 05d272c4e900..d0ec208f5d2b 100644
--- a/sys-cluster/openmpi/Manifest
+++ b/sys-cluster/openmpi/Manifest
@@ -4,6 +4,7 @@ Hash: SHA256
AUX hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch 1602 SHA256 551d0aaab2d83bdb9d128fc1bdcbcc0bb4a9b8775defa5d9b4b065151ac1154b SHA512 7732a53f6074432a10bbe7dcca6b64e45bebadb797c214fca9c93d2ec5fd179832f69374c38d2bba5932089fcae6a7045990a1c7bbb048c3b5ab1397e9596c74 WHIRLPOOL 8aba8593a683b1f564a6aa2c4c3d76e1e0a48491c90faa447ce2505555ca74930adb46a5c374011f48d240f925b8f14afba19db9201179ec1df642ba7d1f4528
AUX openmpi-1.4.1-r22513.patch 2460 SHA256 083528f3ccdda8e1654accd5a6d3c79231d7d727cbd1f05293d7850a32503379 SHA512 96d986e7b10b340027872f92b24f62efee7be626a887d410163df956595afa932e002175265ead66d2c31a8bbf86246341671b388d13ef4bda7c16f2ebf23f37 WHIRLPOOL 293ba9c0b00ebfcdb439515448b130e5abe2ae73b5c492c66f130a781bd89ec0a953fe7945d293a5dbc59337a832cb3ed32ecec6173bb89bc4d4a535129e807b
AUX openmpi-1.6-hostfile.patch 929 SHA256 4aca97b15207c633aaf70ee3aeadcb3b9034fa49780dafeacdb19cbdc765fe66 SHA512 2c229bbf938802570714224d479172da8f039eee82ac3906639d2cdd68aa0f0690a41f448d3dbb66ea2546f5a0e39043255dbe89c27ac4006f611dcaded0bf9f WHIRLPOOL c99ba9f3c69d7246d6c8aaebe0e4af85a30f02b906e5e8e2b75555a44180d68d89772d37df503c4b269cb9d31154d80087c8d31fa50f725e589a21b6b2fb438a
+AUX openmpi-ltdl.patch 2449 SHA256 e373af4671a3056776fe53a3a12d28641aa8e5a4b400d23f5840deaccc865992 SHA512 4487ecbd2025d561f5ac46c70da5e407f6f201b7588f350d1211790dceb64ec2acdf3ca8f90e2ecbe8a6f7c3a6577e77fb7ae22be0ff3dd4adbded9035a7b6c9 WHIRLPOOL 34712f50ec93e781e2f03d23527a719132b6257f862eb50d7fc20e8186f948fc8dc624e76a9517caab5f7c9d2d794c889def4aff8f0d9c333e3963de17c26e2f
AUX openmpi-r24328.patch 1707 SHA256 3149f47463057e3263a242b2df88b588074f07395d437b585c5ce37f84aadf83 SHA512 e376f60f4c7bca610873ac5de5a9e72afab459262acf6f6ad61d4e8aa7a7d33370c52d2dcf2279a992de159b47d7d2fe29257306cf3e11a82234668205b876bf WHIRLPOOL 732347d68ba261f32c1010bcfeff2c490bc436d45a01119741fe68ee6ef366a2021e8d37dfb8ae2ffd681997111951eab4d57b00ff430e09d6c6f929e26816f9
DIST openmpi-1.4.3.tar.bz2 6626909 SHA256 220b72b1c7ee35469ff74b4cfdbec457158ac6894635143a33e9178aa3981015
DIST openmpi-1.4.5.tar.bz2 6643760 SHA256 a3857bc69b7d5258cf7fc1ed1581d9ac69110f5c17976b949cb7ec789aae462d SHA512 f89922345cde8978483e397e9016103626db3f1787f9afccaf0f60d59caa2a4409b47b01ac221d60e24e241f2afecb636ca89688bf326dc0ca5c817de96b3e99 WHIRLPOOL 2008bd952f9cc93ead6508267f5a45ee6d9ebf9136e35e25b798400d162173514da73349518bfada4777471c32d315e8556bbee8847a5268719d6b32fd0fd811
@@ -13,16 +14,20 @@ DIST openmpi-1.8.3.tar.bz2 13301056 SHA256 2ef02dab61febeb74714ff80d508c00b05def
DIST openmpi-1.8.4.tar.bz2 13488749 SHA256 23158d916e92c80e2924016b746a93913ba7fae9fff51bf68d5c2a0ae39a2f8a SHA512 d4c8ce2bd3359cf2e85958b58ba18b52c9cef6676718eb3d948309b164b2f54544f8f8419ef6881c7a51ba268a876cd56e9b2d340a106a16fa25fb9fc3e4eff9 WHIRLPOOL 793f64ad44c2e3451a269bcb53d747d15a01649978d80f13599596e1bdd6a6011b50fdd60222bbe3a4ebe567a4785b2660e3c1eb09bdba77420581a0062480a2
EBUILD openmpi-1.4.3.ebuild 2687 SHA256 9365fb61ca5888953cc61602d0862489ca50c281395b06c106368c7e14ce0cf8 SHA512 2753f9ba436791cee692e856d4c7d92ac5445230af158b594f08995e61a43b90cbb09625a9374e720890b158d06fb13bc198fb9c0c72de93b7a05fe569a74cc1 WHIRLPOOL efba39e8ed2b252acfe2e573904e3f0490f65f7f2746f7c2eed6d50860321c70a7d55288d146a36536f78b8ecf0f647d9dbb3120b96c67ad5368a38ca130bccd
EBUILD openmpi-1.4.5.ebuild 2698 SHA256 4326f9fe35dabb5ed4c15a35edb7389c3a35d12d99bf163ad02aea7c6ce4ce08 SHA512 e81ca3a6e76d448c8ed22dc1de36e11275b2860e0bb7698ca65b4f4fefdc82421b34b0bfb838b73fa273a27acc5a77d7e7c6a4b63257fda6695e213e10f0b2c0 WHIRLPOOL 09e5b23f727a22b6a2a6b3885d5f56a123b1f2c2572966438f52b1f5189b59f89c5d0533ebd9ce61e9d66fc6331477f780171f86ef9727c78bd279c7b5754950
+EBUILD openmpi-1.6.5-r1.ebuild 5431 SHA256 575ea177af8bee17b60931ccc6844d4c848bac21e2f03a43e8ed40b427fee9a8 SHA512 d17724df93b14168330d0cc0e7ce8c50a306a7ce295efc11234c8c2db0e5f6187bb3ca4161be183d5487475ca134d9d1c39524ccad5bb0f336fec789c1325878 WHIRLPOOL a0548e15d30aeb97cfc81a180c4eeb1623317ad6bff78c6b1677829364761c44d26aa937782579241b2af17f7ff98510ddfeac8301fb624e64a49c5dc61be574
EBUILD openmpi-1.6.5.ebuild 5215 SHA256 19eb12b4aedd7c9a8eb3a015100d743c1687d0c3d7ac140e06c2c9f5ed2c29b8 SHA512 2bdfc777f0df9ec6347c7b1d6f1b8b8ae0ffc7775ad0e5b9b0ce12b856492f1695024f3e39518beaebb728350f7d67f58708d96de3fb808384d8283efc27267a WHIRLPOOL eda03f20c1cf682bc6fcdcd82325ade22c1e13d0d206b019b230d372bc732796cda26c76528636c865dabc7770e7a00bda36105bfcf8f1fb9e64ac5525405e5a
+EBUILD openmpi-1.7.5-r1.ebuild 5122 SHA256 a010918511cf9145a75bfcddea09924b40a9ed8c2b9919bc88a5640542fbe985 SHA512 288e111c5731b9bd0576dc4aad6aba71946541d808405cbfb9140ba9e5bf25140a025e5a13ce2cdbec4695e38ebe7fc20754959f1ff241d1b5804d826bbe8d38 WHIRLPOOL ea6c1dfc5843b008a8eb18e21e015c88b044286a5ec43bf88a59fa8cfd45dc4f5c0fe90daad753a88c779809b0f2481715c61cceb3f10bb2dd5a43d619f88245
EBUILD openmpi-1.7.5.ebuild 4944 SHA256 ac3a50bb72e67d10ce68d19e7d8e73218a218e1141a933daafc31e4dfcd49e72 SHA512 b0eef019d943d7e5d3a2664bbb2afb2676867dbc160553b3b624e8b4b8e318c291cfef32283f6926d2b901005581eb177889ee7470e9f9bf1a5bf353a1f41dd1 WHIRLPOOL 8540db81a925c0c5656d39bca4ce3027bd8ee50c2eb4b3733a938644afcb4717d8b8c9be6968215b62a14c78ef7fb27ea5e39949793aa97c644056117186a9e1
+EBUILD openmpi-1.8.3-r1.ebuild 5157 SHA256 1d09a5c89644a96c9881802cceb8cdcb441904ec701c830763470630ae422f38 SHA512 1153848b0fabf461d192ba88c13d06d7e55d926074dc57d81535b22129ba68ad916ec3db53a95b643ee8b64071d763466251eea1d2213cef42b6c127029efd71 WHIRLPOOL dfa9fffed94999289294394faba216b57892f50583e9994bb3b374113f0a751440de08a1855d4ccc553157347fab96f0e9034c33b792c2d1bcbb24ed139ca98c
EBUILD openmpi-1.8.3.ebuild 4979 SHA256 5b616cb2a56206b96f670d1b2b64b70f25f2bc378c4907bb62327e3944ab13b1 SHA512 6936ecbdaf0fd935f378e1031edff175ec74a71c860a84f85327ee66d6b733de647232db24b9d7355dfda53c50665f3a833a4a424df6301ae49687ce72ed8e7b WHIRLPOOL 3b44fc882eb26d79163e1eaef07ab9fd1fa8a06206a9e6625a4f4bac6c28c9aec795e22f7e34f5c72b48a9c4d800389f41d4997d9fe13f3b97e35106c2119fb1
+EBUILD openmpi-1.8.4-r1.ebuild 5157 SHA256 22160e7f2b82fca297dfc564739bf7d70e37c47973868bdcbef86a0c309b85a2 SHA512 5a26bf7afb33aaa1be1920723f94ab89291bd507857dc9fa6a2bf8b9305621af4f63e40b19019a097315bd4fdf8505ae473dcea7940a19b18c77ab22ced4c39e WHIRLPOOL 1179eabc0445a5b7b1135d2c47a71c061bcc143f2a4dec16606ba3e4266a65730877dbae14b56f22702eb8f6bba0cb6cdcd674d3845494d607385a2a56b9ee77
EBUILD openmpi-1.8.4.ebuild 4979 SHA256 b9e45c3090560081a913f42420919df29647b00215571b364296a97667c502cb SHA512 409f2a6419fc2000c8575d17893a4bc6b18c1b1c7c8984e222c3c1c602ac8c06a712b4f54892d468307cf7aa801696f66d4b558c9a1ab490b1726045792eb676 WHIRLPOOL c935ce298c4f5c84bc5391dbdf8811c579ed3db198f9bdb400ef5ec3c2c6339dfac463b86b92b1824e962296b6fc18090a7123be48f00de0ba30a2439ad410a7
-MISC ChangeLog 20117 SHA256 64ee603e954e9cad8abafd248a1680bc160b1735d624b09ee7769dc6d968ebe2 SHA512 416652bf73ec306b68a1519def7848ba7e385e75d4a395887b6af6e60a6f35d7e71d34330a5d28caf28499ac9237cb16edb67ffd0ee807c8398de6543dcf158a WHIRLPOOL ad87ac2d6dbb97f6fe1339221cad20cbebf6d15c28ac00d1fd7260fbe2eb248e63a427649953d3759f9515e1e4c14a9f56f192adf225d85b4f26a0d0b17eb36b
+MISC ChangeLog 20464 SHA256 cb669cd22ba17e0e38c80712316f9ee2b68fd7c380b4e8cf4e3d4ce71ce3e84b SHA512 9100f8ace94892af6f017f84ba025fada35a5ecdbcf3c359fe148e0a49f139f5318d9e75e0135121ca35f59bd0500c91628ea28a8f28be0e078f00f32c5e3ac8 WHIRLPOOL 15689d7eb0ae3fac6d92ca408a22c57df73c570461a802e612186ba601a14c05707a071999622efb2883b2b010d65ea72c6346a54e86f4c08ec159491b28c9e7
MISC metadata.xml 714 SHA256 fc650835101e7da842eca4c7d444f2c50746dc97610f9442ea567cb665d7bfa4 SHA512 406f1ac85885bf5068c9711afb3257fbd537d82e253a46ce70e7fef88652c4ca9ae408c694ecb4d9ddeaf688fc6859dd1c6caadb25b64aafad297e918ffa9298 WHIRLPOOL 53177e043da7f788f75d531c3b8d7aba4119585d5a8af051f50ed67f2be7d348379b420877dde8934dfac278db4665204e659acdf87bb5c1aff7fe2d96015907
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-iEYEAREIAAYFAlTRqjEACgkQ4MrvBE1wQ8mxvgCdEJvPLYH+n6ghjQaahV1dbSlG
-YMEAoKQvsBesaPOpLtHipYiWUeNpn1HR
-=+RAp
+iEYEAREIAAYFAlTSkz8ACgkQ4MrvBE1wQ8l8LgCfawR8MqdqgFdH99VZrsw+OQq1
+BlsAnRWldMNvs+94nGFnyN4VdonQpTGr
+=3zUd
-----END PGP SIGNATURE-----
diff --git a/sys-cluster/openmpi/files/openmpi-ltdl.patch b/sys-cluster/openmpi/files/openmpi-ltdl.patch
new file mode 100644
index 000000000000..a288ea272473
--- /dev/null
+++ b/sys-cluster/openmpi/files/openmpi-ltdl.patch
@@ -0,0 +1,78 @@
+diff -up openmpi-1.6.3/ompi/debuggers/dlopen_test.c.ltdl openmpi-1.6.3/ompi/debuggers/dlopen_test.c
+--- openmpi-1.6.3/ompi/debuggers/dlopen_test.c.ltdl 2012-04-03 08:30:25.000000000 -0600
++++ openmpi-1.6.3/ompi/debuggers/dlopen_test.c 2012-11-02 14:50:12.613702426 -0600
+@@ -13,7 +13,17 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "opal/libltdl/ltdl.h"
++#if OPAL_WANT_LIBLTDL
++ #ifndef __WINDOWS__
++ #if OPAL_LIBLTDL_INTERNAL
++ #include "opal/libltdl/ltdl.h"
++ #else
++ #include "ltdl.h"
++ #endif
++ #else
++ #include "ltdl.h"
++ #endif
++#endif
+
+ static int do_test(void);
+
+diff -up openmpi-1.6.3/ompi/debuggers/Makefile.am.ltdl openmpi-1.6.3/ompi/debuggers/Makefile.am
+--- openmpi-1.6.3/ompi/debuggers/Makefile.am.ltdl 2012-04-03 08:30:25.000000000 -0600
++++ openmpi-1.6.3/ompi/debuggers/Makefile.am 2012-11-02 15:04:53.636926260 -0600
+@@ -47,7 +47,7 @@ headers = \
+
+ dlopen_test_SOURCES = dlopen_test.c
+ dlopen_test_CPPFLAGS = -I$(top_srcdir)/opal/libltdl
+-dlopen_test_LDADD = $(top_builddir)/opal/libltdl/libltdlc.la
++dlopen_test_LDADD = $(LIBLTDL)
+
+ predefined_gap_test_SOURCES = predefined_gap_test.c
+ predefined_gap_test_LDFLAGS = $(WRAPPER_EXTRA_LDFLAGS)
+diff -up openmpi-1.6.3/test/support/components.c.ltdl openmpi-1.6.3/test/support/components.c
+--- openmpi-1.6.3/test/support/components.c.ltdl 2012-04-03 08:29:44.000000000 -0600
++++ openmpi-1.6.3/test/support/components.c 2012-11-02 14:50:29.204705380 -0600
+@@ -24,7 +24,17 @@
+
+ #include "opal/constants.h"
+ #include "opal/mca/mca.h"
+-#include "opal/libltdl/ltdl.h"
++#if OPAL_WANT_LIBLTDL
++ #ifndef __WINDOWS__
++ #if OPAL_LIBLTDL_INTERNAL
++ #include "opal/libltdl/ltdl.h"
++ #else
++ #include "ltdl.h"
++ #endif
++ #else
++ #include "ltdl.h"
++ #endif
++#endif
+
+ #include "components.h"
+
+diff -up openmpi-1.6.3/test/support/components.h.ltdl openmpi-1.6.3/test/support/components.h
+--- openmpi-1.6.3/test/support/components.h.ltdl 2012-04-03 08:29:44.000000000 -0600
++++ openmpi-1.6.3/test/support/components.h 2012-11-02 14:50:22.409703519 -0600
+@@ -20,7 +20,17 @@
+ #ifndef OMPI_SUPPORT_COMPONENTS_H
+ #define OMPI_SUPPORT_COMPONENTS_H
+
+-#include "opal/libltdl/ltdl.h"
++#if OPAL_WANT_LIBLTDL
++ #ifndef __WINDOWS__
++ #if OPAL_LIBLTDL_INTERNAL
++ #include "opal/libltdl/ltdl.h"
++ #else
++ #include "ltdl.h"
++ #endif
++ #else
++ #include "ltdl.h"
++ #endif
++#endif
+ #include "opal/mca/mca.h"
+
+ BEGIN_C_DECLS
diff --git a/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild
new file mode 100644
index 000000000000..0003766d4756
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools eutils fortran-2 multilib flag-o-matic toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_dapl
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm
+ openmpi_fabrics_sctp"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover
+ "
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ >=sys-apps/hwloc-1.3
+ dev-libs/libltdl:0
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_dapl? ( sys-infiniband/dapl )
+ openmpi_fabrics_ofed? ( sys-infiniband/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm )
+ openmpi_fabrics_sctp? ( net-misc/lksctp-tools )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm )
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )
+ "
+DEPEND="${RDEPEND}"
+# TODO: Newer releases of Vampir use otf2 which would resolve the above blockers.
+
+pkg_setup() {
+ 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
+
+ # https://svn.open-mpi.org/trac/ompi/ticket/3649
+ # https://svn.open-mpi.org/trac/ompi/ticket/3648
+ epatch "${FILESDIR}"/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR="config opal/config orte/config ompi/config" eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ 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)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_dapl udapl "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_ofed openib "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_fabrics_sctp sctp) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "make install failed"
+ # From USE=vt see #359917
+ rm "${ED}"/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"
+}
diff --git a/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild
new file mode 100644
index 000000000000..3d208ca31f44
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.7.2
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-infiniband/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ 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
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR=config eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --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)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "$EPREFIX"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+
+ # Do not override malloc during build. Works around #462602
+ emake -j1 check
+}
diff --git a/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild b/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild
new file mode 100644
index 000000000000..e0cc08639eb1
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.3-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.7.2
+ sys-libs/zlib
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-infiniband/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ 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
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR=config eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-opal-multi-threads)
+ fi
+
+ if use fortran; then
+ myconf+=(--enable-mpi-fortran=all)
+ else
+ myconf+=(--enable-mpi-fortran=no)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ 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
+}
diff --git a/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild b/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild
new file mode 100644
index 000000000000..6e8979b3588f
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.8.4-r1.ebuild,v 1.1 2015/02/04 21:46:32 jsbronder Exp $
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.9.1
+ sys-libs/zlib
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-infiniband/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-infiniband/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-infiniband/librdmacm )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ 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
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR=config eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-opal-multi-threads)
+ fi
+
+ if use fortran; then
+ myconf+=(--enable-mpi-fortran=all)
+ else
+ myconf+=(--enable-mpi-fortran=no)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ 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
+}