commit: 34b4ff221aa7b9b7761ba81cc310b0ce11ed890a Author: David Seifert <soap <AT> gentoo <DOT> org> AuthorDate: Thu Aug 11 19:06:23 2016 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Thu Aug 11 19:06:43 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=34b4ff22
sys-cluster/openmpi: Reintroduce non-multilib version, unkeyword multilib Package-Manager: portage-2.3.0 sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild | 2 +- ...nmpi-1.10.3-r1.ebuild => openmpi-1.10.3.ebuild} | 124 +++++++++------------ 2 files changed, 56 insertions(+), 70 deletions(-) diff --git a/sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild b/sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild index c4fe80b..30db1e1 100644 --- a/sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild +++ b/sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild @@ -33,7 +33,7 @@ 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="~amd64 ~ppc ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +KEYWORDS="" IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" diff --git a/sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild b/sys-cluster/openmpi/openmpi-1.10.3.ebuild similarity index 58% copy from sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild copy to sys-cluster/openmpi/openmpi-1.10.3.ebuild index c4fe80b..b7778f8 100644 --- a/sys-cluster/openmpi/openmpi-1.10.3-r1.ebuild +++ b/sys-cluster/openmpi/openmpi-1.10.3.ebuild @@ -2,11 +2,11 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=6 +EAPI=5 FORTRAN_NEEDED=fortran -inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal +inherit cuda eutils flag-o-matic fortran-2 java-pkg-opt-2 multilib toolchain-funcs versionator MY_P=${P/-mpi} S=${WORKDIR}/${MY_P} @@ -53,16 +53,15 @@ MPI_UNCLASSED_DEP_STR=" !app-text/lcdf-typetools )" -# dev-util/nvidia-cuda-toolkit is always multilib CDEPEND=" !sys-cluster/mpich !sys-cluster/mpich2 !sys-cluster/mpiexec - >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] - dev-libs/libltdl:0[${MULTILIB_USEDEP}] - >=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP},numa?] - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 ) + dev-libs/libevent + dev-libs/libltdl:0 + >=sys-apps/hwloc-1.9.1[numa?] + sys-libs/zlib + cuda? ( dev-util/nvidia-cuda-toolkit ) elibc_FreeBSD? ( dev-libs/libexecinfo ) openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) openmpi_fabrics_knem? ( sys-cluster/knem ) @@ -77,41 +76,49 @@ RDEPEND="${CDEPEND} DEPEND="${CDEPEND} java? ( >=virtual/jdk-1.6 )" -MULTILIB_WRAPPED_HEADERS=( - /usr/include/mpi.h -) - pkg_setup() { fortran-2_pkg_setup java-pkg-opt-2_pkg_setup if use mpi-threads; then - ewarn + 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" - ewarn + echo fi - elog + 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." - elog + echo } src_prepare() { - default - # 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 || die + >> opal/etc/openmpi-mca-params.conf fi } -multilib_src_configure() { +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl="${EPREFIX}/usr" + ) + + if use fortran; then + myconf+=(--enable-mpi-fortran=all) + else + myconf+=(--enable-mpi-fortran=no) + fi + if use java; then # We must always build with the right -source and -target # flags. Passing flags to javac isn't explicitly supported here @@ -119,76 +126,55 @@ multilib_src_configure() { export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" fi - ECONF_SOURCE=${S} econf \ - --sysconfdir="${EPREFIX}/etc/${PN}" \ - --enable-pretty-print-stacktrace \ - --enable-orterun-prefix-by-default \ - --with-hwloc="${EPREFIX}/usr" \ - --with-libltdl="${EPREFIX}/usr" \ - --enable-mpi-fortran=$(usex fortran all no) \ - $(usex !vt --enable-contrib-no-build=vt "") \ + ! 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) \ - $(multilib_native_use_enable java) \ - $(multilib_native_use_enable java mpi-java) \ - $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ - $(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_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ - $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ - $(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_enable openmpi_ofed_features_failover btl-openib-failover) \ - $(multilib_native_use_with openmpi_rm_pbs tm) \ - $(multilib_native_use_with openmpi_rm_slurm slurm) -} - -multilib_src_test() { - # Doesn't work with the default src_test as the dry run (-n) fails. - emake -j1 check + $(use_enable java) \ + $(use_enable java mpi-java) \ + $(use_enable mpi-threads mpi-thread-multiple) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${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) } -multilib_src_install() { +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() { # From USE=vt see #359917 - rm -rf "${ED}"usr/share/libtool &> /dev/null || die - - # fortran header cannot be wrapped (bug #540508), workaround part 2 - if use fortran; then - mv "${T}"/fortran/mpif* "${ED}"usr/include || die - fi + rm "${ED}"/usr/share/libtool &> /dev/null # Avoid collisions with libevent - rm -rf "${ED}"usr/include/event2 &> /dev/null || die + rm -rf "${ED}"/usr/include/event2 &> /dev/null # Remove la files, no static libs are installed and we have pkg-config - find "${ED}" -name '*.la' -delete || die + find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete if use java; then - local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar + 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 + 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 }
