diff options
Diffstat (limited to 'sys-cluster/mpich')
-rw-r--r-- | sys-cluster/mpich/Manifest | 5 | ||||
-rw-r--r-- | sys-cluster/mpich/files/mpich-3.3-add-external-libdir-parameter.patch | 198 | ||||
-rw-r--r-- | sys-cluster/mpich/mpich-3.3.ebuild (renamed from sys-cluster/mpich/mpich-3.2-r1.ebuild) | 33 |
3 files changed, 229 insertions, 7 deletions
diff --git a/sys-cluster/mpich/Manifest b/sys-cluster/mpich/Manifest index 723b4945b3d4..c4261ad19f8e 100644 --- a/sys-cluster/mpich/Manifest +++ b/sys-cluster/mpich/Manifest @@ -1,5 +1,6 @@ +AUX mpich-3.3-add-external-libdir-parameter.patch 8605 BLAKE2B 56a6c60362da3004c8762f6fe62f0a9a010904a38ed7998f5617598362669e7d083b2893781e24d96100b9cefffe5f51ed1d3a921ff14b511dea12622e8a5e0e SHA512 2533f0a92f517118bf3c145d3d3a6e446b0596cc6c5c79d5eebb13e55ee1ab35ce2356fa75db4029f45a3337888ff151a78e0ec1e02ef6c7cde56f85c189eb00 DIST mpich-3.0.4.tar.gz 10921075 BLAKE2B 341aaac23277aed05a4448ea03d9caf1ee14cfe327a770c95d620fc1ee1ea7bfa6df36860aa44aad162eb6d630d35fdfb30ae9a866d67680ab71c7b4326c109c SHA512 f9d8b2cf561fe5f85c12512ef4dd7b0cf5ec8b53ddb07bfa0d1db2e3c8ae0382c77e0661f46b82ec96b05d18ea2d25328bb84e9528ac06e5925f30ec8ef030d0 -DIST mpich-3.2.tar.gz 11862150 BLAKE2B 2e0414b2e11b08a59497fa255d464a2130c754ba8798b99a8b84f7232179906bb27906abbe58b9546833541c238f42ae06df90bfe1133d3ff2d85921d9736452 SHA512 083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717 +DIST mpich-3.3.tar.gz 27209008 BLAKE2B 3010f847456ed71a27e728b91887e04303a83b4abea883bf73d9794ff697052efe3bccd238933dc6e5fbc75e0be36004f1ae9fc7695a4e8887984552ae005917 SHA512 1ed6d8d30db4923fd1bd39b6e9622f0db939a45edf8d9f8bdbccfa619fde7fb920c5a0d3f2442f0dd63cf8fda823dbd2983ac5f7c16308bc79e04f61d8e119be EBUILD mpich-3.0.4.ebuild 2529 BLAKE2B d60c5eb9d4a9b7838de58dbc93c695ccf379136004a9ea670f9002c8b1173c5d8d7fb5107d29940025bf417dd5f2b3289ed44d062ba0de1f2ccfe77b14ee217b SHA512 c4588f2b52025fe4fca70b6b0b0c83b5595c4f2d281b744cede8f9ccfc73c0c880dea5f2271fb54a52f64a759488e194a14e5c55e017be63690a7aea9e9d2707 -EBUILD mpich-3.2-r1.ebuild 3113 BLAKE2B 9848838a9099f4b8a9dede5e396390cf32698aa0c219447445e5783cfd4c438acc22394530b7076095404c79d4abb6fd9bc0156a9e66e57e4e2a92927b476c72 SHA512 5e92a55e6303b9c352f3517affddf53e82427ce0f2ec1eb9edef84d97ef12dec69fea28b3aef280c63b7bbba8fc8a29c67cbbf9237f55dc2a8c1cecc8edd1e66 +EBUILD mpich-3.3.ebuild 3795 BLAKE2B f712a7c70d2e444c3aa8fa3d32a0751eae7cee897e845537d05e7c8f7cc400a30a2bef493f9a7d29e1499856d930798d535ac19ec3be9ce919abbe31cfa7a971 SHA512 8da57e216efb628c9a523b433b67de59b77e627bf5c6dfd37ea2a16a4acb6c812ec147eedfc45edaaeb17fdef1e002965b1f9ff7cb140cc2af3111798ac00769 MISC metadata.xml 658 BLAKE2B 2fc81d1e02086392471d734b5837e8a7ddf9bc8f06ac24766f7bb2e2c7f735a92fd80ed5de47f693224058dcad1c8e89d764c81a2568c363f28a59c50f275112 SHA512 fb8427b6757ba0571f5f78ee71bfd80ebf9e0835a1016b3ef1f66d27a2022033118c7a1fbfe4011e591d321bae9df48c4e4554e3daaa1a3033bee74b5f4c08fe diff --git a/sys-cluster/mpich/files/mpich-3.3-add-external-libdir-parameter.patch b/sys-cluster/mpich/files/mpich-3.3-add-external-libdir-parameter.patch new file mode 100644 index 000000000000..64be728f5748 --- /dev/null +++ b/sys-cluster/mpich/files/mpich-3.3-add-external-libdir-parameter.patch @@ -0,0 +1,198 @@ +diff --git a/confdb/aclocal_libs.m4 b/confdb/aclocal_libs.m4 +index c417204..5d98053 100644 +--- a/confdb/aclocal_libs.m4 ++++ b/confdb/aclocal_libs.m4 +@@ -27,6 +27,14 @@ AC_DEFUN([PAC_SET_HEADER_LIB_PATH],[ + [AC_MSG_WARN([--with[out]-$1-lib=PATH expects a valid PATH]) + with_$1_lib=""])], + []) ++ AC_ARG_WITH([common-libdir], ++ [AS_HELP_STRING([[--with-common-libdir[=DIR]]], [use the $1 ++ library installed in DIR, rather than the ++ one included in the distribution. Pass ++ "embedded" to force usage of the included ++ $1 source.])], ++ [], ++ [with_common_libdir=lib64]) + + # The args have been sanitized into empty/non-empty values above. + # Now append -I/-L args to CPPFLAGS/LDFLAGS, with more specific options +@@ -42,9 +50,7 @@ AC_DEFUN([PAC_SET_HEADER_LIB_PATH],[ + [AS_IF([test -n "${with_$1}"], + dnl is adding lib64 by default really the right thing to do? What if + dnl we are on a 32-bit host that happens to have both lib dirs available? +- [PAC_APPEND_FLAG([-L${with_$1}/lib],[LDFLAGS]) +- AS_IF([test -d "${with_$1}/lib64"], +- [PAC_APPEND_FLAG([-L${with_$1}/lib64],[LDFLAGS])]) ++ [PAC_APPEND_FLAG([-L${with_$1}/${with_common_libdir}],[LDFLAGS]) + ]) + ]) + ]) +@@ -79,6 +85,14 @@ AC_DEFUN([PAC_CHECK_HEADER_LIB_FATAL],[ + + dnl PAC_CHECK_PREFIX(with_option,prefixvar) + AC_DEFUN([PAC_CHECK_PREFIX],[ ++ AC_ARG_WITH([prefix-libdir], ++ [AS_HELP_STRING([[--with-$1-prefix[=DIR]]], [use the $1 ++ library installed in DIR, rather than the ++ one included in the distribution. Pass ++ "embedded" to force usage of the included ++ $1 source.])], ++ [], ++ [with_prefix_libdir=lib64]) + AC_ARG_WITH([$1-prefix], + [AS_HELP_STRING([[--with-$1-prefix[=DIR]]], [use the $1 + library installed in DIR, rather than the +@@ -93,10 +107,7 @@ AC_DEFUN([PAC_CHECK_PREFIX],[ + : + else + PAC_APPEND_FLAG([-I${with_$1_prefix}/include],[CPPFLAGS]) +- if test -d "${with_$1_prefix}/lib64" ; then +- PAC_APPEND_FLAG([-L${with_$1_prefix}/lib64],[LDFLAGS]) +- fi +- PAC_APPEND_FLAG([-L${with_$1_prefix}/lib],[LDFLAGS]) ++ PAC_APPEND_FLAG([-L${with_$1_prefix}/${with_prefix_libdir}],[LDFLAGS]) + fi + ], + [with_$1_prefix="embedded"]) +diff --git a/configure.ac b/configure.ac +index 765aa9e..ef9c2e5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1240,6 +1240,11 @@ OPA_fetch_and_incr_int(&i,5); + + opasrcdir="" + AC_SUBST([opasrcdir]) ++AC_ARG_WITH([opal-libdir], ++ [AS_HELP_STRING([[--with-opal-libdir[=DIR]]], ++ [use the specified OPAL library path with DIR.])], ++ [],dnl action-if-given ++ [with_opal_libdir=lib64]) dnl action-if-not-given + opalibdir="" + AC_SUBST([opalibdir]) + opalib="" +@@ -1282,13 +1287,8 @@ else + [:],[AC_MSG_ERROR([the OpenPA installation in "${with_openpa_prefix}" appears broken])]) + PAC_APPEND_FLAG([-I${with_openpa_prefix}/include],[CPPFLAGS]) + PAC_PREPEND_FLAG([-l${OPALIBNAME}],[WRAPPER_LIBS]) +- if test -d ${with_openpa_prefix}/lib64 ; then +- PAC_APPEND_FLAG([-L${with_openpa_prefix}/lib64],[WRAPPER_LDFLAGS]) +- opalibdir="-L${with_openpa_prefix}/lib64" +- else +- opalibdir="-L${with_openpa_prefix}/lib" +- fi +- PAC_APPEND_FLAG([-L${with_openpa_prefix}/lib],[WRAPPER_LDFLAGS]) ++ PAC_APPEND_FLAG([-L${with_openpa_prefix}/${with_opal_libdir}],[WRAPPER_LDFLAGS]) ++ opallibdir="-L${with_openpa_prefix}/${with_opal_libdir}" + fi + + # Izem +@@ -1463,6 +1463,11 @@ AC_ARG_WITH([hwloc-prefix], + [with_hwloc_prefix=embedded]) dnl action-if-not-given + hwlocsrcdir="" + AC_SUBST([hwlocsrcdir]) ++AC_ARG_WITH([hwloc-libdir], ++ [AS_HELP_STRING([[--with-hwloc-libdir[=DIR]]], ++ [use the specified HWLOC library path with DIR.])], ++ [],dnl action-if-given ++ [with_hwloc_libdir=lib64]) dnl action-if-not-given + hwloclibdir="" + AC_SUBST([hwloclibdir]) + hwloclib="" +@@ -1502,12 +1507,8 @@ else + + if test "$have_hwloc" = "yes" ; then + hwloclib="-lhwloc" +- if test -d ${with_hwloc_prefix}/lib64 ; then +- PAC_APPEND_FLAG([-L${with_hwloc_prefix}/lib64],[WRAPPER_LDFLAGS]) +- hwloclibdir="-L${with_hwloc_prefix}/lib64" +- else +- hwloclibdir="-L${with_hwloc_prefix}/lib" +- fi ++ PAC_APPEND_FLAG([-L${with_hwloc_prefix}/${with_hwloc_libdir}],[WRAPPER_LDFLAGS]) ++ hwloclibdir="-L${with_hwloc_prefix}/${with_hwloc_libdir}" + fi + fi + +@@ -1526,7 +1527,11 @@ AC_ARG_WITH([netloc-prefix], + [AS_HELP_STRING([[--with-netloc-prefix[=DIR]]], + [use the NETLOC library installed in DIR]) or system to use the system library], [], + [with_netloc_prefix=no]) +- ++AC_ARG_WITH([netloc-libdir], ++ [AS_HELP_STRING([[--with-netloc-libdir[=DIR]]], ++ [use the specified NETLOC library path with DIR.])], ++ [],dnl action-if-given ++ [with_netloc_libdir=lib64]) dnl action-if-not-given + netloclibdir="" + AC_SUBST([netloclibdir]) + +@@ -1540,13 +1545,8 @@ if test "$have_hwloc" = "yes" ; then + PAC_APPEND_FLAG([-I${with_netloc_prefix}/include],[CPPFLAGS]) + PAC_APPEND_FLAG([-I${with_netloc_prefix}/include],[CFLAGS]) + PAC_PREPEND_FLAG([-lnetloc],[WRAPPER_LIBS]) +- if test -d ${with_netloc_prefix}/lib64 ; then +- PAC_APPEND_FLAG([-L${with_netloc_prefix}/lib64],[WRAPPER_LDFLAGS]) +- netloclibdir="-L${with_netloc_prefix}/lib64" +- else +- PAC_APPEND_FLAG([-L${with_netloc_prefix}/lib],[WRAPPER_LDFLAGS]) +- netloclibdir="-L${with_netloc_prefix}/lib" +- fi ++ PAC_APPEND_FLAG([-L${with_netloc_prefix}/${with_netloc_libdir}],[WRAPPER_LDFLAGS]) ++ netloclibdir="-L${with_netloc_prefix}/${with_netloc_libdir}" + else + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include "netloc.h" + ], +diff --git a/src/izem/configure.ac b/src/izem/configure.ac +index b5417fd..fe6cf4a 100644 +--- a/src/izem/configure.ac ++++ b/src/izem/configure.ac +@@ -344,9 +344,14 @@ esac + + AC_SUBST(ZM_QUEUE_CONF) + ++AC_ARG_WITH([izem-libdir], ++ [AS_HELP_STRING([--with-hwloc-libdir], [Set specific path to hwloc.])], ++ [], ++ [with_izem_libdir=lib64]) ++ + AC_ARG_WITH([hwloc], + [AS_HELP_STRING([--with-hwloc], [Set path to hwloc. Default: auto detect.])], +- [LIBS="$LIBS -L$with_hwloc/lib" ++ [LIBS="$LIBS -L$with_hwloc/$with_izem_libdir" + CFLAGS="$CFLAGS -I$with_hwloc/include"], + []) + +diff --git a/src/mpid/ch4/netmod/ofi/libfabric/config/fi_provider.m4 b/src/mpid/ch4/netmod/ofi/libfabric/config/fi_provider.m4 +index 901de77..6778da7 100644 +--- a/src/mpid/ch4/netmod/ofi/libfabric/config/fi_provider.m4 ++++ b/src/mpid/ch4/netmod/ofi/libfabric/config/fi_provider.m4 +@@ -189,16 +189,19 @@ AC_DEFUN([FI_CHECK_PREFIX_DIR],[ + AC_MSG_ERROR([Cannot continue]) + ]) + ++ AC_ARG_WITH([fiprovider-libdir], ++ [AS_HELP_STRING([[--with-fiprovider-libdir[=DIR]]], ++ [use the specified FI PROVIDER library path with DIR.])], ++ [],dnl action-if-given ++ [with_fiprovider_libdir=lib64]) dnl action-if-not-given ++ + # Check that base/lib or base/lib64 exists +- AS_IF([test -d "$1/lib64"], +- [$2_LIBDIR="$1/lib64"], +- [AS_IF([test -d "$1/lib"], +- [$2_LIBDIR="$1/lib"], +- [AC_MSG_WARN([could not find "lib" or "lib64" subdirectories in supplied "$1" directory"]) +- AC_MSG_ERROR([Cannot continue]) +- ]) +- ]) +- ]) ++ [AS_IF([test -d "$1/${with_fiprovider_libdir}"], ++ [$2_LIBDIR="$1/${with_fiprovider_libdir}"], ++ [AC_MSG_WARN([could not find "lib" or "lib64" subdirectories in supplied "$1" directory"]) ++ AC_MSG_ERROR([Cannot continue]) ++ ]) ++ ]]) + + dnl ------------------------------------------------------------------------ + diff --git a/sys-cluster/mpich/mpich-3.2-r1.ebuild b/sys-cluster/mpich/mpich-3.3.ebuild index ed837625e33b..8eeb7b552f05 100644 --- a/sys-cluster/mpich/mpich-3.2-r1.ebuild +++ b/sys-cluster/mpich/mpich-3.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -6,7 +6,7 @@ EAPI=6 FORTRAN_NEEDED=fortran FORTRAN_STANDARD="77 90" -inherit fortran-2 multilib-minimal +inherit fortran-2 multilib-minimal multilib autotools MY_PV=${PV/_/} DESCRIPTION="A high performance and portable MPI implementation" @@ -15,12 +15,12 @@ SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz" SLOT="0" LICENSE="mpich2" -KEYWORDS="amd64 ~arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" IUSE="+cxx doc fortran mpi-threads romio threads" COMMON_DEPEND=" >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}] - <sys-apps/hwloc-2[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-2.0.2[${MULTILIB_USEDEP}] romio? ( net-fs/nfs-utils )" DEPEND="${COMMON_DEPEND} @@ -40,6 +40,10 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/opa_config.h ) +PATCHES=( + "${FILESDIR}"/${PN}-3.3-add-external-libdir-parameter.patch +) + src_prepare() { default @@ -48,6 +52,20 @@ src_prepare() { src/packaging/pkgconfig/mpich.pc.in \ src/env/*.in \ || die + + # Fix m4 files to satisfy lib dir with multilib. + touch -r src/pm/hydra/confdb/aclocal_libs.m4 \ + confdb/aclocal_libs.m4 \ + || die + cp -fp confdb/aclocal_libs.m4 \ + src/pm/hydra/confdb/aclocal_libs.m4 \ + || die + cp -fp confdb/aclocal_libs.m4 \ + src/pm/hydra/mpl/confdb/aclocal_libs.m4 \ + || die + cd src/pm/hydra/mpl; eautoreconf; cd - + cd src/pm/hydra; eautoreconf; cd - + eautoreconf } multilib_src_configure() { @@ -84,13 +102,18 @@ multilib_src_configure() { ECONF_SOURCE=${S} econf \ --enable-shared \ --with-hwloc-prefix="${EPREFIX}/usr" \ + --with-hwloc-libdir="$(get_libdir)" \ + --with-common-libdir="$(get_libdir)" \ + --with-prefix-libdir="$(get_libdir)" \ + --with-izem-libdir="$(get_libdir)" \ + --with-fiprovider-libdir="$(get_libdir)" \ ${c} \ --with-pm=hydra \ --disable-fast \ --enable-versioning \ $(use_enable romio) \ $(use_enable cxx) \ - $(multilib_native_use_enable fortran fortran all) + $(use_enable fortran fortran all) } multilib_src_test() { |