aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gilroy <michael.gilroy24@gmail.com>2017-07-17 10:19:20 +0000
committerMichael Gilroy <michael.gilroy24@gmail.com>2017-07-17 10:19:20 +0000
commitf7460d9adbc2f31d350b525a0a5516ffbb715683 (patch)
tree67cf8c4d8e9be985669c9348c17f0dcc5787e2ab
parentremoved unnecessary swp file (diff)
downloadgentoo-mpi-f7460d9adbc2f31d350b525a0a5516ffbb715683.tar.gz
gentoo-mpi-f7460d9adbc2f31d350b525a0a5516ffbb715683.tar.bz2
gentoo-mpi-f7460d9adbc2f31d350b525a0a5516ffbb715683.zip
added mpi.eclass to test hpl
-rw-r--r--eclass/mpi.eclass478
-rw-r--r--sys-cluster/hpl/Manifest5
-rw-r--r--sys-cluster/hpl/hpl-2.0-r3.ebuild65
-rw-r--r--sys-cluster/mpich/Manifest2
4 files changed, 482 insertions, 68 deletions
diff --git a/eclass/mpi.eclass b/eclass/mpi.eclass
new file mode 100644
index 0000000..3c65371
--- /dev/null
+++ b/eclass/mpi.eclass
@@ -0,0 +1,478 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: mpi.eclass
+# @MAINTAINER:
+# Justin Bronder <jsbronder@gentoo.org>
+# @BLURB: Common functions for mpi-pkg.eclass and mpi-imp.eclass
+
+# History:
+# 2009-06-26 (jsbronder): Add ability to require common use flags.
+# Remove dep on eselect-mpi (it's in sys-cluster/empi)
+# Use virtual/$class to get imp dep in mpi_pkg_deplist.
+# 2008-11-20 (jsbronder): Initial rewrite from old mpi.eclass
+
+if [[ ! ${_MPI_ECLASS} ]]; then
+
+case ${EAPI:-0} in
+ 2|3|4|5)
+ inherit multilib ;;
+ 6) ;;
+ *) die "EAPI=${EAPI} is not supported" ;;
+esac
+
+#####################
+# Private Variables #
+#####################
+
+# @ECLASS-VARIABLE: __MPI_ALL_IMPLEMENTATION_PNS
+# @INTERNAL
+# @DESCRIPTION:
+# All known mpi implementations
+__MPI_ALL_IMPLEMENTATION_PNS="mpich mpich2 openmpi lam-mpi openib-mvapich2"
+
+# @ECLASS-VARIABLE: __MPI_ALL_CLASSABLE_PNS
+# @INTERNAL
+# @DESCRIPTION:
+# All mpi implentations that can be classed.
+__MPI_ALL_CLASSABLE_PNS="mpich openmpi mpich2 lam-mpi"
+
+
+
+###################################################################
+# Generic Functions that are used by Implementations and Packages #
+###################################################################
+
+# @ECLASS-VARIABLE: MPI_UNCLASSED_DEP_STR
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# String inserted into the deplist when not using a classed
+# install.
+
+# @FUNCTION: mpi_classed
+# @RETURN: True if this build is classed.
+mpi_classed() {
+ [[ ${CATEGORY} == mpi-* ]]
+}
+
+#empi has no support for multilib yet
+mpi_classed && [[ ${_MULTILIB_BUILD} ]] && REQUIRED_USE="abi_x86_64? ( !abi_x86_32 )"
+
+# @FUNCTION: mpi_class
+# @RETURN: The name of the current class, or nothing if unclassed.
+mpi_class() {
+ mpi_classed && echo "${CATEGORY}"
+}
+
+# @FUNCTION: mpi_root
+# @RETURN: The root path that packages should start installing to. In the end,
+# the majority of a package will will install to ${ROOT}$(mpi_root).
+mpi_root() {
+ if mpi_classed; then
+ echo "/usr/$(get_libdir)/mpi/$(mpi_class)/"
+ else
+ echo "/"
+ fi
+}
+
+# @FUNCTION: mpi_econf_args
+# @DESCRIPTION:
+# If classed, returns a list of arguments for econf that sets the
+# default install locations correctly. Should be first in the list of arguments
+# to econf so that any unsuitable options can be overwritten.
+mpi_econf_args() {
+ if mpi_classed; then
+ local d=$(mpi_root)
+ local c=$(mpi_class)
+ local a="
+ --prefix=${d}usr
+ --mandir=${d}usr/share/man
+ --infodir=${d}usr/share/info
+ --datadir=${d}usr/share
+ --sysconfdir=/etc/${c}
+ --localstatedir=/var/lib/${c}"
+ echo "${a}"
+ fi
+}
+
+# @FUNCTION: _mpi_do
+# @USAGE: <Standard ebuild command to replicate>
+# @DESCRIPTION:
+# Large wrapping class for all of the {do,new}* commands that need
+# to respect the new root to install to. Works with unclassed builds as well.
+# Currently supports:
+#
+# @CODE
+# dobin newbin dodoc newdoc
+# doexe newexe dohtml dolib
+# dolib.a newlib.a dolib.so newlib.so
+# dosbin newsbin doman newman
+# doinfo dodir dohard doins
+# dosym
+# @CODE
+_mpi_do() {
+ local rc prefix d
+ local cmd=${1}
+ local ran=1
+ local slash=/
+ local mdir="$(mpi_root)"
+
+ if ! mpi_classed; then
+ $*
+ return ${?}
+ fi
+
+ shift
+ if [ "${cmd#do}" != "${cmd}" ]; then
+ prefix="do"; cmd=${cmd#do}
+ elif [ "${cmd#new}" != "${cmd}" ]; then
+ prefix="new"; cmd=${cmd#new}
+ else
+ die "Unknown command passed to _mpi_do: ${cmd}"
+ fi
+ case ${cmd} in
+ bin|lib|lib.a|lib.so|sbin)
+ DESTTREE="${mdir}usr" ${prefix}${cmd} $*
+ rc=$?;;
+ doc)
+ _E_DOCDESTTREE_="../../../../${mdir}usr/share/doc/${PF}/${_E_DOCDESTTREE_}" \
+ ${prefix}${cmd} $*
+ rc=$?
+ for d in "/share/doc/${P}" "/share/doc" "/share"; do
+ rmdir ${D}/usr${d} &>/dev/null
+ done
+ ;;
+ html)
+ _E_DOCDESTTREE_="../../../../${mdir}usr/share/doc/${PF}/www/${_E_DOCDESTTREE_}" \
+ ${prefix}${cmd} $*
+ rc=$?
+ for d in "/share/doc/${P}/html" "/share/doc/${P}" "/share/doc" "/share"; do
+ rmdir ${D}/usr${d} &>/dev/null
+ done
+ ;;
+ exe)
+ _E_EXEDESTTREE_="${mdir}${_E_EXEDESTTREE_}" ${prefix}${cmd} $*
+ rc=$?;;
+ man|info)
+ [ -d "${D}"usr/share/${cmd} ] && mv "${D}"usr/share/${cmd}{,-orig}
+ [ ! -d "${D}"${mdir}usr/share/${cmd} ] \
+ && install -d "${D}"${mdir}usr/share/${cmd}
+ [ ! -d "${D}"usr/share ] \
+ && install -d "${D}"usr/share
+
+ ln -snf ../../${mdir}usr/share/${cmd} ${D}usr/share/${cmd}
+ ${prefix}${cmd} $*
+ rc=$?
+ rm "${D}"usr/share/${cmd}
+ [ -d "${D}"usr/share/${cmd}-orig ] \
+ && mv "${D}"usr/share/${cmd}{-orig,}
+ [ "$(find "${D}"usr/share/)" == "${D}usr/share/" ] \
+ && rmdir "${D}usr/share"
+ ;;
+ dir)
+ dodir "${@/#${slash}/${mdir}${slash}}"; rc=$?;;
+ hard|sym)
+ ${prefix}${cmd} "${mdir}$1" "${mdir}/$2"; rc=$?;;
+ ins)
+ INSDESTTREE="${mdir}${INSTREE}" ${prefix}${cmd} $*; rc=$?;;
+ *)
+ rc=0;;
+ esac
+
+ [[ ${ran} -eq 0 ]] && die "mpi_do passed unknown command: ${cmd}"
+ return ${rc}
+}
+mpi_dobin() { _mpi_do "dobin" $*; }
+mpi_newbin() { _mpi_do "newbin" $*; }
+mpi_dodoc() { _mpi_do "dodoc" $*; }
+mpi_newdoc() { _mpi_do "newdoc" $*; }
+mpi_doexe() { _mpi_do "doexe" $*; }
+mpi_newexe() { _mpi_do "newexe" $*; }
+mpi_dohtml() { _mpi_do "dohtml" $*; }
+mpi_dolib() { _mpi_do "dolib" $*; }
+mpi_dolib.a() { _mpi_do "dolib.a" $*; }
+mpi_newlib.a() { _mpi_do "newlib.a" $*; }
+mpi_dolib.so() { _mpi_do "dolib.so" $*; }
+mpi_newlib.so() { _mpi_do "newlib.so" $*; }
+mpi_dosbin() { _mpi_do "dosbin" $*; }
+mpi_newsbin() { _mpi_do "newsbin" $*; }
+mpi_doman() { _mpi_do "doman" $*; }
+mpi_newman() { _mpi_do "newman" $*; }
+mpi_doinfo() { _mpi_do "doinfo" $*; }
+mpi_dodir() { _mpi_do "dodir" $*; }
+mpi_dohard() { _mpi_do "dohard" $*; }
+mpi_doins() { _mpi_do "doins" $*; }
+mpi_dosym() { _mpi_do "dosym" $*; }
+
+
+###########################################
+# Functions for MPI Implementation Builds #
+###########################################
+
+# @FUNCTION: mpi_imp_deplist
+# @DESCRIPTION:
+# To be written
+# @RETURNS: Returns a deplist that handles the blocking between mpi
+# implementations, and any blockers as specified in MPI_UNCLASSED_DEP_STR
+mpi_imp_deplist() {
+ local c="sys-cluster"
+ local pn ver
+
+ mpi_classed && c="${CATEGORY}"
+ ver=""
+ for pn in ${__MPI_ALL_IMPLEMENTATION_PNS}; do
+ ver="${ver} !${c}/${pn}"
+ done
+ if ! mpi_classed && [ -n "${MPI_UNCLASSED_DEP_STR}" ]; then
+ ver="${ver} ${MPI_UNCLASSED_DEP_STR}"
+ else
+ ver="${ver} sys-cluster/empi"
+ fi
+ echo "${ver}"
+}
+
+# @FUNCTION: mpi_imp_add_eselect
+# @DESCRIPTION:
+# To be written
+mpi_imp_add_eselect() {
+ mpi_classed || return 0
+ local c=$(mpi_class)
+ cp "${FILESDIR}"/${MPI_ESELECT_FILE} ${T}/${c}.eselect || die
+ sed -i \
+ -e "s|@ROOT@|$(mpi_root)|g" \
+ -e "s|@LIBDIR@|$(get_libdir)|g" \
+ -e "s|@BASE_IMP@|${PN}|g" \
+ ${T}/${c}.eselect || die
+
+ eselect mpi add "${T}"/${c}.eselect || die
+}
+
+
+
+########################################
+# Functions for packages requiring MPI #
+########################################
+
+# @ECLASS-VARIABLE: MPI_PKG_NEED_IMPS
+# @DESCRIPTION:
+# List of package names (${PN}) that this package is compatible
+# with. Default is the list of all mpi implementations
+MPI_PKG_NEED_IMPS="${MPI_PKG_NEED_IMPS:-${__MPI_ALL_CLASSABLE_PNS}}"
+
+
+# @ECLASS-VARIABLE: MPI_PKG_USE_CXX
+# @DESCRIPTION:
+# Require a mpi implementation with c++ enabled.
+# This feature requires EAPI 2 style use dependencies
+MPI_PKG_USE_CXX="${MPI_PKG_USE_CXX:-0}"
+
+# @ECLASS-VARIABLE: MPI_PKG_USE_FC
+# @DESCRIPTION:
+# Require a mpi implementation with fortran enabled.
+# This feature requires EAPI 2 style use dependencies
+MPI_PKG_USE_FC="${MPI_PKG_USE_FC:-0}"
+
+# @ECLASS-VARIABLE: MPI_PKG_USE_ROMIO
+# @DESCRIPTION:
+# Require a mpi implementation with romio enabled.
+# This feature requires EAPI 2 style use dependencies
+MPI_PKG_USE_ROMIO="${MPI_PKG_USE_ROMIO:-0}"
+
+# @ECLASS-VARIABLE: MPI_PKG_USE_THREADS
+# @DESCRIPTION:
+# Require a mpi implementation with threads enabled.
+# This feature requires EAPI 2 style use dependencies
+MPI_PKG_USE_THREADS="${MPI_PKG_USE_THREADS:-0}"
+
+# @ECLASS-VARIABLE: MPI_PKG_USE_DEPS
+# @DESCRIPTION:
+# Set the use deps for the virtual mpi package
+# directly. For instance, if set to 'fortran=,threads?' then a dep on
+# virtual/mpi[fortran=,threads?] will be added.
+# This feature requires EAPI 2 style use dependencies
+MPI_PKG_USE_DEPS="${MPI_PKG_USE_DEPS}"
+
+
+# @FUNCTION: mpi_pkg_deplist
+# @DESCRIPTION:
+# To be written
+# @RETURN: Returns a deplist comprised of valid implementations and any blockers
+# depending on if this package is building with mpi class support.
+mpi_pkg_deplist() {
+ local pn pn2 ver usedeps invalid_imps inval
+
+ case "${EAPI}" in
+ 2|3|4|5)
+ [[ ${MPI_PKG_USE_CXX} -ne 0 ]] \
+ && usedeps=",cxx"
+ [[ ${MPI_PKG_USE_FC} -ne 0 ]] \
+ && usedeps="${usedeps},fortran"
+ [[ ${MPI_PKG_USE_ROMIO} -ne 0 ]] \
+ && usedeps="${usedeps},romio"
+ [[ "${MPI_PKG_USE_THREADS}" -ne 0 ]] \
+ && usedeps="${usedeps},threads"
+ [ -n "${MPI_PKG_USE_DEPS}" ] \
+ && usedeps="${usedeps},${MPI_PKG_USE_DEPS}"
+ ;;
+ *)
+ ;;
+ esac
+
+ if mpi_classed; then
+ ver="sys-cluster/empi virtual/$(mpi_class)"
+ else
+ ver="virtual/mpi"
+ fi
+
+ if [ -n "${usedeps}" ]; then
+ ver="${ver}[${usedeps:1}]"
+ fi
+
+ if ! mpi_classed && [ -n "${MPI_UNCLASSED_DEP_STR}" ]; then
+ ver="${ver} ${MPI_UNCLASSED_DEP_STR}"
+ fi
+
+ for pn in ${__MPI_ALL_IMPLEMENTATION_PNS}; do
+ inval=1
+ for pn2 in ${MPI_PKG_NEED_IMPS}; do
+ if [ "${pn}" == "${pn2}" ]; then
+ inval=0
+ break;
+ fi
+ done
+ [[ ${inval} -eq 1 ]] \
+ && invalid_imps="${invalid_imps} ${pn}"
+ done
+
+ for pn in ${inval_imps}; do
+ ver="${ver} !${c}/${pn}"
+ done
+ echo "${ver}"
+}
+
+# @FUNCTION: mpi_pkg_base_imp
+# @DESCRIPTION:
+# To be written
+# @RETURNS:
+# Returns the ${PN} of the package providing mpi support. Works
+# even when using an unclassed mpi build.
+mpi_pkg_base_imp() {
+ if mpi_classed; then
+ echo "$(_get_eselect_var CLASS_BASE_MPI_IMP)"
+ else
+ local pn
+ for pn in ${MPI_PKG_NEED_IMPS}; do
+ if has_version "sys-cluster/${pn}"; then
+ echo "${PN}"
+ fi
+ done
+ fi
+}
+
+# @FUNCTION: mpi_pkg_cc
+# @DESCRIPTION:
+# Returns the full path to the mpi C compiler. Trys to find one
+# even if this build is unclassed. If return is empty, user should assume the
+# implementation does not support this compiler
+mpi_pkg_cc() { _mpi_pkg_compiler "MPI_CC" "cc"; }
+
+# @FUNCTION: mpi_pkg_cxx
+# @DESCRIPTION:
+# Returns the full path to the mpi C++ compiler. Trys to find one
+# even if this build is unclassed. If return is empty, user should assume the
+# implementation does not support this compiler
+mpi_pkg_cxx() { _mpi_pkg_compiler "MPI_CXX" "cxx c++"; }
+
+# @FUNCTION: mpi_pkg_fc
+# @DESCRIPTION:
+# Returns the full path to the mpi f90 compiler. Trys to find one
+# even if this build is unclassed. If return is empty, user should assume the
+# implementation does not support this compiler
+mpi_pkg_fc() { _mpi_pkg_compiler "MPI_FC" "f90 fc"; }
+
+# @FUNCTION: mpi_pkg_f77
+# @DESCRIPTION:
+# Returns the full path to the mpi f77 compiler. Trys to find one
+# even if this build is unclassed. If return is empty, user should assume the
+# implementation does not support this compiler
+mpi_pkg_f77() { _mpi_pkg_compiler "MPI_F77" "f77"; }
+
+
+# @FUNCTION: mpi_pkg_set_ld_library_path
+# @DESCRIPTION:
+# Adds the correct path(s) to the end of LD_LIBRARY_PATH. Does
+# nothing if the build is unclassed.
+mpi_pkg_set_ld_library_path() {
+ if mpi_classed; then
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:$(_get_eselect_var LD_LIBRARY_PATH)"
+ fi
+}
+
+# @FUNCTION: _mpi_pkg_compiler
+# @DESCRIPTION:
+# If classed, we can ask eselect-mpi. Otherwise we'll look for some common
+# executable names in ${ROOT}usr/bin.
+_mpi_pkg_compiler() {
+ if mpi_classed; then
+ echo "$(eselect mpi printvar $(mpi_class) ${1})"
+ else
+ local suffixes=${2}
+ local p
+
+ for p in ${suffixes}; do
+ if [ -x ${ROOT}usr/bin/mpi${p} ]; then
+ echo "${ROOT}usr/bin/mpi${p}"
+ break
+ fi
+ done
+ fi
+}
+
+# @FUNCTION: mpi_pkg_set_env
+# @DESCRIPTION:
+# Exports 'some influential environment variables'. CC, CXX, F77, FC
+mpi_pkg_set_env() {
+ if mpi_classed; then
+ _mpi_oCC=$CC
+ _mpi_oCXX=$CXX
+ _mpi_oF77=$F77
+ _mpi_oFC=$FC
+ _mpi_oPCP=${PKG_CONFIG_PATH}
+ _mpi_oLLP=${LD_LIBRARY_PATH}
+ export CC=$(mpi_pkg_cc)
+ export CXX=$(mpi_pkg_cxx)
+ export F77=$(mpi_pkg_f77)
+ export FC=$(mpi_pkg_fc)
+ export PKG_CONFIG_PATH="$(mpi_root)$(get_libdir)/pkgconfig:${PKG_CONFIG_PATH}"
+ mpi_pkg_set_ld_library_path
+ fi
+}
+
+# @FUNCTION: mpi_pkg_restore_env
+# @DESCRIPTION:
+# Attempts to undo the damage done by mpi_pkg_set_env
+mpi_pkg_restore_env() {
+ if mpi_classed; then
+ export CC=$_mpi_oCC
+ export CXX=$_mpi_oCXX
+ export F77=$_mpi_oF77
+ export FC=$_mpi_oFC
+ export PKG_CONFIG_PATH=$_mpi_oPCP
+ export LD_LIBRARY_PATH=$_mpi_oLLP
+ fi
+}
+
+
+
+# @FUNCTION: _get_eselect_var
+# @USAGE: <Variable to get from the class definition>
+# @RETURN: If classed, and given a valid variable, the contents; empty
+# otherwise.
+_get_eselect_var() {
+ if mpi_classed && [ -n "${1}" ]; then
+ echo "$(eselect mpi printvar $(mpi_class) ${1} 2>/dev/null)"
+ fi
+}
+
+_MPI_ECLASS=1
+fi
diff --git a/sys-cluster/hpl/Manifest b/sys-cluster/hpl/Manifest
index 1e852de..8447fee 100644
--- a/sys-cluster/hpl/Manifest
+++ b/sys-cluster/hpl/Manifest
@@ -1,2 +1,3 @@
-DIST hpl-2.0.tar.gz 591087 SHA256 d8d118c310d34a5a2acf5a689270a9f7bea60245552d24af8641599651909bec SHA512 3aa76144526b01ec40d940cae50d47e480e2760a36d1e95bc6e431b216407db190946fc3d99a6a7caf7b61bcc76d805d28da3ef0b141ff467854e1cdf10bb274 WHIRLPOOL 79da0950089d8e7d6128a2af7a44de704c2666aeb74de08e9e0a06fc23f8c4d17da2ab5107b5f6a82ca073800ec2af4f003c7792ae84e1ec032d9572e78bc0b2
-EBUILD hpl-2.0-r3.ebuild 1870 SHA256 5210141cae10bd50184673a8c0734f49556e24f48a214ea15d0d4da65b73980f SHA512 397e2ebd6fd10089cc070dbd385fdb60364280e1c1447fab0022c300bb1d46ce9ab661582b7f4d2e16c2c3553006c8309112fed693c3cbf5f78c98afdd9dd6f3 WHIRLPOOL 0d19fb794ccce38cabf88a42921c7074ac6d550a4f5c1204992533059a5c470bb0aa13316f19b3f5ad1f3a6d3b263fb7de453732b39f844aae84986281815459
+DIST hpl-2.1.tar.gz 527433 SHA256 dd437dd34a098c51092319983addff1d8076fc8dd692d19c488252477363af15 SHA512 ed39e407341d1cfe2d4d7e50f029e3ca62c7e87e82c3b09a89fd231c5cb4f1c95857f050a940bfd60b724eaa9fdab8631a0693a14b6e9dac82c05897bff557a4 WHIRLPOOL 7e0ff3132590869cff9366c3e34d1abcbfc2be6fceccd336785ce680412981bde658fb67a3663235e15b432c7e0b7e95b79296029d051dbccec239c0c960ae20
+EBUILD hpl-2.1.ebuild 1961 SHA256 5b5392f362e4396997083cfc2700a0d0293e0ca5431f2f489070c3335261ccdf SHA512 bcece2b67ad4a66aab4f2500140dbba893997a99a24db2e9cc00a5fb912babe102681e805aad3683611ba1e63fdb68752e05c711d32a65a257223ab932b81dba WHIRLPOOL 7ef2463db9755dfb4d6c273b75eb43e069d9198ed594300b7c7d4e00ba20b48151e49a8600b59449cb74016c5abd0ff456de0b9127593fa66e8d3bba6a078d7a
+MISC metadata.xml 263 SHA256 0c67f68407c1153b709d094f4f7de7710f178662bb5912f1f025dbe2a842ed10 SHA512 6ec307d6a3827ce21f67f8565a79a13d2833215571c459f42f06b8dd9184e1a41fa06b1cce8b3cf3555f4f875d9e366dd34ee786b6881dc18fb7d0b2d5c2acd5 WHIRLPOOL 5951a5587420612364b1c9f51ae31a3aed0ca3ea83a26f8d6fd2a2860a6a5a46b2ad8ca0260b591ec88f7fde17ab78213acac7aeced15398992cbd2de579c82f
diff --git a/sys-cluster/hpl/hpl-2.0-r3.ebuild b/sys-cluster/hpl/hpl-2.0-r3.ebuild
deleted file mode 100644
index de20b77..0000000
--- a/sys-cluster/hpl/hpl-2.0-r3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils multilib mpi-select
-
-DESCRIPTION="A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers"
-HOMEPAGE="http://www.netlib.org/benchmark/hpl/"
-SRC_URI="http://www.netlib.org/benchmark/hpl/hpl-${PV}.tar.gz"
-
-SLOT="0"
-LICENSE="HPL"
-KEYWORDS="~x86 ~amd64"
-IUSE="doc"
-
-RDEPEND="
- virtual/blas
- virtual/lapack
- virtual/mpi"
-DEPEND="${DEPEND}
- virtual/pkgconfig"
-
-src_prepare() {
- local a=""
- local locallib="${EPREFIX}/usr/$(get_libdir)/lib"
- local localblas="$(for i in $($(tc-getPKG_CONFIG) --libs-only-l blas lapack);do a="${a} ${i/-l/${locallib}}.so "; done; echo ${a})"
-
- cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86 || die
- sed -i \
- -e "/^TOPdir/s,= .*,= ${S}," \
- -e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \
- -e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \
- -e '/^MPdir\>/s,= .*,=,' \
- -e '/^MPlib\>/s,= .*,=,' \
- -e "/^LAlib\>/s,= .*,= ${localblas}," \
- -e '/^LINKER\>/s,= .*,= mpicc,' \
- -e '/^CC\>/s,= .*,= mpicc,' \
- -e '/^CCFLAGS\>/s|= .*|= $(HPL_DEFS) ${CFLAGS}|' \
- -e "/^LINKFLAGS\>/s|= .*|= ${LDFLAGS}|" \
- Make.gentoo_hpl_fblas_x86 || die
-}
-
-src_compile() {
- # parallel make failure bug #321539
- HOME=${WORKDIR} emake -j1 arch=gentoo_hpl_fblas_x86
-}
-
-src_install() {
- dobin bin/gentoo_hpl_fblas_x86/xhpl
- dolib lib/gentoo_hpl_fblas_x86/libhpl.a
- dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING \
- bin/gentoo_hpl_fblas_x86/HPL.dat
- doman man/man3/*.3
- if use doc; then
- dohtml -r www/*
- fi
-}
-
-pkg_postinst() {
- einfo "Remember to copy /usr/share/hpl/HPL.dat to your working directory"
- einfo "before running xhpl. Typically one may run hpl by executing:"
- einfo "\"mpiexec -np 4 /usr/bin/xhpl\""
- einfo "where -np specifies the number of processes."
-}
diff --git a/sys-cluster/mpich/Manifest b/sys-cluster/mpich/Manifest
index 868ad2b..723cd30 100644
--- a/sys-cluster/mpich/Manifest
+++ b/sys-cluster/mpich/Manifest
@@ -1,6 +1,6 @@
DIST mpich-3.1.4.tar.gz 11325036 SHA256 f68b5330e94306c00ca5a1c0e8e275c7f53517d01d6c524d51ce9359d240466b SHA512 55bd4d12a42b9ebc116016bd777eb2b8ed8c51e69f5ea5faf823eba0aeb7eadfe2848c4cca3032aa38841a25a4902c07cec2409811149a057c4aa99a25c6b6da WHIRLPOOL 243ea40dd67b7f8e6fecde58740c21703833ca2857922ad59c5744888145bbf0ee934a69128818cd5bb91f39a3e842c26b2eced20ba23e08c8968b903f1f9992
DIST mpich-3.2.tar.gz 11862150 SHA256 0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc SHA512 083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717 WHIRLPOOL 4196be94f5f5766f06e3f5893153e6d44fe93a5ef17dfcf3fce075b1506d5b762ba175dceeac0668284adc9f4a846917801f2138ed2d81f464d3a191b3f88f1c
EBUILD mpich-3.1.4.ebuild 2632 SHA256 aec38f6a3e07ee4f214110633d286eaa3f791a3deaff3cd74eb62cb6b70ddf5a SHA512 22f00049f205a813ec09eb6383b51bea16ce0685383a8e8fc128d03042bd95e0d1c945e2c76da66e9c591638ca1eee723a8d682ddd9ebf0440f15440a8a2abc7 WHIRLPOOL bc5540fcbe5510a3612426357d58cc9e5112f6f4162196566c852a97e2fcc38cf19b2a50e56d79c4c70488dd70c0dc997240e7d2a71417021e0f3f1133d814f2
-EBUILD mpich-3.2-r1.ebuild 3119 SHA256 8d21dc7403f293f93383c1f4b57fcb7aed3ba73edddb257098e4ec189941a77a SHA512 be2eb6795cb27c05aab47091f44cb785bd673cca7c877012dde5554040320fe1dc4bf2f2ab012d771f1e0be981446ebaf97d212a21fd1c14e630d59af4e4925a WHIRLPOOL 8a7119b63168c6178435ba3839fc370b671e97829716189d8411c144a8a64fb689eb34c01d46a16eaf45b627ea78382172f2c72a18e8c0355317ee10aaae2a0f
+EBUILD mpich-3.2-r1.ebuild 3110 SHA256 6258ce7799ac9449857c936b633f2e954b552ac9706d984a8d1a85e8f9a76801 SHA512 f8614a3229dc169ac974fbbb9ea57e85fbe76f5562d8af150e16cb037a1feee12e0e8953d4437d61253733a71b0e5caaf4fa638cef34305c62d0e81b7d2970d1 WHIRLPOOL 1e997e490835a8cb2a7137c18131ef592fb0f370d6cb74c0d2e4aaa7518f7a6d5d9b511164bbfbc930c912abb3b43437b535258d4beeefa05dd1fef9eaf7901b
EBUILD mpich-3.2.ebuild 2633 SHA256 c2efe9344d0c4d4bb283be689134ed2814fa0da3181e4a54eb1c6141dfb1ccf0 SHA512 e6f8ffffe0cae9d1cb69efd2957cba637ac5aa4ca976c397ed95de0fd3e9da81aa578db1dee0de09d696b81dbca280a4eb666606f5ff69075a474303c12aab07 WHIRLPOOL e4b6620662ade5d760c92814c1bf3483204cc324d69b3eccea82c808eb18cea0006a044b056cd5d28ac1dbba84b31b8de60e39ab3ab07b7b43c1776479a7dc9f
MISC metadata.xml 366 SHA256 7e30eda183210d5af43e7c4ba122d98c5d0c81a81e31a0ece717f112e39207fb SHA512 88a6ae57cbdb14090979b3995f2575c16dd66e0ecff400cb0c33616189d35fba73caf6aac1951a7d1079783aa269c1e194f67d24561cf7b28a0cdcfb086f4d51 WHIRLPOOL 15e31a6c4abcbb6f40ee9ade9dbb1d54ed16be2b1bdaff6a5ac8007c125169c16edc4dc76b1da65283daa1b573aeacf64267c60cdf0febbe5a7d20a7412a7f03