From: "Joonas Niilola" <juippis@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/openmpi/
Date: Tue, 15 Jun 2021 13:03:20 +0000 (UTC) [thread overview]
Message-ID: <1623762185.b348e7c16cffa197e2592cfbf89666d603e5a346.juippis@gentoo> (raw)
commit: b348e7c16cffa197e2592cfbf89666d603e5a346
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed Apr 21 01:25:08 2021 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Jun 15 13:03:05 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b348e7c1
sys-cluster/openmpi: add peruse and libompitrace useflags
Closes: https://bugs.gentoo.org/784278
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/20480
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
sys-cluster/openmpi/metadata.xml | 6 +-
sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild | 176 ++++++++++++++++++++++++++++
2 files changed, 180 insertions(+), 2 deletions(-)
diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml
index e319ff476a1..32314bce38b 100644
--- a/sys-cluster/openmpi/metadata.xml
+++ b/sys-cluster/openmpi/metadata.xml
@@ -10,10 +10,12 @@
<flag name="cuda">Add GPU direct support</flag>
<flag name="heterogeneous">Enable features required for heterogeneous
platform support</flag>
- <flag name="romio">Build the ROMIO MPI-IO component</flag>
+ <flag name="libompitrace">Enable support for contributed package libompitrace</flag>
<flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag>
<flag name="numa">Enable numactl to allow binding processes to CPUs</flag>
- <flag name="vt">Enable bundled VampirTrace support</flag>
<flag name="pbs">Add support for the Portable Batch System (PBS)</flag>
+ <flag name="peruse">Enable PERUSE interface</flag>
+ <flag name="romio">Build the ROMIO MPI-IO component</flag>
+ <flag name="vt">Enable bundled VampirTrace support</flag>
</use>
</pkgmetadata>
diff --git a/sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild b/sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild
new file mode 100644
index 00000000000..e044b27efaa
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-4.0.5-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs multilib multilib-minimal
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ 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_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="https://www.open-mpi.org"
+SRC_URI="https://www.open-mpi.org/software/ompi/v$(ver_cut 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="cma cuda cxx fortran heterogeneous ipv6 java +libompitrace peruse romio
+ ${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_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )"
+
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/nullmpi
+ >=dev-libs/libevent-2.0.22:=[${MULTILIB_USEDEP},threads]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1:= )
+ openmpi_fabrics_ofed? ( || ( sys-cluster/rdma-core sys-fabric/ofed:* ) )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( || ( sys-cluster/rdma-core sys-fabric/librdmacm:* ) )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpi.h
+ /usr/include/openmpi/ompi/mpi/java/mpiJava.h
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ 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
+}
+
+src_prepare() {
+ default
+
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf || die
+}
+
+multilib_src_configure() {
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ local myconf=(
+ --enable-mpi-fortran=$(usex fortran all no)
+ --enable-orterun-prefix-by-default
+ --enable-pretty-print-stacktrace
+
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+
+ --with-hwloc="${EPREFIX}/usr"
+ --with-hwloc-libdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-libltdl="${EPREFIX}/usr"
+ --with-libevent="${EPREFIX}/usr"
+ --with-libevent-libdir="${EPREFIX}/usr/$(get_libdir)"
+
+ $(use_enable cxx mpi-cxx)
+ $(use_enable heterogeneous)
+ $(use_enable ipv6)
+ $(use_enable libompitrace)
+ $(use_enable peruse)
+ $(use_enable romio io-romio)
+
+ $(use_with cma)
+
+ $(multilib_native_use_enable java mpi-java)
+ $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding)
+ $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm)
+ $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm)
+ $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl)
+
+ $(multilib_native_use_with cuda cuda "${EPREFIX}"/opt/cuda)
+ $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr)
+ $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr)
+ $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr)
+ $(multilib_native_use_with openmpi_rm_pbs tm)
+ $(multilib_native_use_with openmpi_rm_slurm slurm)
+ )
+ ECONF_SOURCE=${S} econf "${myconf[@]}"
+}
+
+multilib_src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if multilib_is_native_abi && use fortran; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"/usr/include/mpif* "${T}"/fortran || die
+ else
+ # some fortran files get installed unconditionally
+ rm \
+ "${ED}"/usr/include/mpif* \
+ "${ED}"/usr/bin/mpif* \
+ || die
+ fi
+}
+
+multilib_src_install_all() {
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/mpif* "${ED}"/usr/include || die
+ fi
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}" -name '*.la' -delete || die
+
+ if use java; then
+ local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+ einstalldocs
+}
next reply other threads:[~2021-06-15 13:03 UTC|newest]
Thread overview: 141+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-15 13:03 Joonas Niilola [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-08-24 6:41 [gentoo-commits] repo/gentoo:master commit in: sys-cluster/openmpi/ Michał Górny
2024-08-23 23:37 Jakov Smolić
2024-08-23 17:32 Eli Schwartz
2024-08-23 17:32 Eli Schwartz
2024-08-10 18:21 Arthur Zamarin
2024-07-17 5:43 Eli Schwartz
2024-07-17 5:43 Eli Schwartz
2024-07-15 11:14 Miroslav Šulc
2024-07-15 11:14 Miroslav Šulc
2024-07-12 5:55 Eli Schwartz
2024-07-12 5:55 Eli Schwartz
2024-07-12 5:55 Eli Schwartz
2024-06-14 6:45 Sam James
2024-06-14 6:45 Sam James
2024-02-22 20:33 Arthur Zamarin
2024-02-22 20:33 Arthur Zamarin
2024-02-22 20:33 Arthur Zamarin
2024-02-21 2:29 Sam James
2024-02-02 1:02 Sam James
2024-01-24 20:34 Arthur Zamarin
2024-01-24 19:21 Michał Górny
2023-12-19 11:27 Sam James
2023-09-10 20:33 David Seifert
2023-06-03 9:50 WANG Xuerui
2023-05-16 3:39 Sam James
2023-02-14 0:29 Mike Gilbert
2022-12-26 20:30 David Seifert
2022-12-06 15:16 Arthur Zamarin
2022-12-06 15:16 Arthur Zamarin
2022-12-06 15:16 Arthur Zamarin
2022-12-06 15:16 Arthur Zamarin
2022-12-06 14:33 Arthur Zamarin
2022-12-06 14:33 Arthur Zamarin
2022-10-17 3:17 Sam James
2022-06-04 1:17 Sam James
2022-03-07 4:29 Sam James
2022-02-02 6:21 Sam James
2022-01-29 0:44 Sam James
2022-01-29 0:02 Sam James
2022-01-29 0:02 Sam James
2022-01-28 19:20 Arthur Zamarin
2022-01-28 19:20 Arthur Zamarin
2022-01-28 19:16 Arthur Zamarin
2022-01-16 18:26 David Seifert
2022-01-16 0:00 David Seifert
2021-12-01 5:48 Arthur Zamarin
2021-12-01 5:48 Arthur Zamarin
2021-11-25 6:47 Sam James
2021-11-25 6:47 Sam James
2021-10-29 22:44 Sam James
2021-10-26 17:08 Jakov Smolić
2021-10-20 0:11 Sam James
2021-10-16 6:29 Sam James
2021-10-16 2:12 Sam James
2021-10-15 6:00 Agostino Sarubbo
2021-10-14 13:39 Agostino Sarubbo
2021-10-13 20:35 Sam James
2021-08-25 12:43 Pacho Ramos
2021-08-25 10:16 Pacho Ramos
2021-07-14 22:45 Marek Szuba
2021-07-05 13:25 Marek Szuba
2021-06-15 13:03 Joonas Niilola
2021-05-09 22:28 Pacho Ramos
2021-04-03 15:44 Sam James
2021-02-28 11:27 罗百科
2021-01-05 15:17 Mikle Kolyada
2020-07-30 8:29 Mikle Kolyada
2020-05-08 8:25 Alexys Jacob
2020-03-24 9:51 Mikle Kolyada
2020-03-22 14:55 Mikle Kolyada
2020-03-22 14:52 Mikle Kolyada
2020-03-22 14:43 Mikle Kolyada
2020-03-22 14:34 Mikle Kolyada
2020-03-21 9:38 Mikle Kolyada
2020-03-21 9:38 Mikle Kolyada
2020-02-24 9:22 Mikle Kolyada
2020-02-23 9:35 Mikle Kolyada
2020-02-23 9:34 Mikle Kolyada
2020-02-23 9:25 Mikle Kolyada
2020-01-01 16:26 Mikle Kolyada
2019-11-10 13:26 Mikle Kolyada
2019-10-26 21:04 Mikle Kolyada
2019-10-10 21:19 Mikle Kolyada
2019-09-04 14:21 Justin Bronder
2019-08-29 21:05 Justin Bronder
2019-06-10 22:15 Justin Bronder
2019-06-10 22:15 Justin Bronder
2019-04-25 16:48 Justin Bronder
2019-04-22 15:06 Justin Bronder
2019-04-21 11:33 Alexey Shvetsov
2019-02-26 3:20 Justin Bronder
2018-11-16 17:01 Justin Bronder
2018-10-29 22:25 Justin Bronder
2018-09-11 14:29 Justin Bronder
2018-08-27 15:13 Justin Bronder
2018-08-21 21:22 Justin Bronder
2018-08-13 15:36 Justin Bronder
2018-07-02 17:05 Justin Bronder
2018-06-05 17:32 Justin Bronder
2018-05-24 14:53 Justin Bronder
2018-05-24 14:53 Justin Bronder
2018-05-22 22:40 Matthias Maier
2018-05-22 2:17 Christoph Junghans
2018-04-02 15:00 Justin Bronder
2018-03-19 14:20 Justin Bronder
2018-03-01 15:09 Michał Górny
2018-01-27 8:23 Michał Górny
2017-11-26 21:25 Justin Bronder
2017-11-26 20:05 Justin Bronder
2017-09-22 17:07 Justin Bronder
2017-06-01 22:09 Justin Bronder
2017-06-01 22:09 Justin Bronder
2017-05-10 20:47 Justin Bronder
2017-04-02 23:41 Matt Turner
2017-03-23 0:48 Justin Bronder
2017-03-22 20:15 Justin Bronder
2017-03-22 19:58 Justin Bronder
2017-03-17 6:36 Matt Turner
2017-03-17 6:36 Matt Turner
2017-03-10 10:59 Agostino Sarubbo
2017-03-10 9:09 Agostino Sarubbo
2017-02-22 22:54 Michael Weber
2017-02-17 22:09 Justin Bronder
2017-02-01 14:29 Justin Bronder
2016-11-09 15:59 Justin Bronder
2016-09-27 11:04 Tobias Klausmann
2016-09-12 1:32 Christoph Junghans
2016-09-08 20:20 Christoph Junghans
2016-09-06 0:18 Christoph Junghans
2016-08-29 20:58 Christoph Junghans
2016-08-29 20:58 Christoph Junghans
2016-08-11 19:06 David Seifert
2016-08-11 17:18 David Seifert
2016-08-11 14:27 Christoph Junghans
2016-08-11 13:31 Justin Bronder
2016-08-11 7:55 David Seifert
2016-06-29 22:33 Alexey Shvetsov
2016-02-11 2:04 Justin Bronder
2015-09-23 21:51 Justin Bronder
2015-08-24 5:21 Jeroen Roovers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1623762185.b348e7c16cffa197e2592cfbf89666d603e5a346.juippis@gentoo \
--to=juippis@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox