aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Bronder <jsbronder@gentoo.org>2011-03-22 10:17:55 -0400
committerJustin Bronder <jsbronder@gentoo.org>2011-03-22 10:22:04 -0400
commit8de3d2e7b5bca71a3d0fd216520c45f76d7146d0 (patch)
treef049c133b85f83f46f3f853346e8f3e1508c2b64 /eclass/mpi.eclass
parentMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/sci (diff)
downloadsci-8de3d2e7b5bca71a3d0fd216520c45f76d7146d0.tar.gz
sci-8de3d2e7b5bca71a3d0fd216520c45f76d7146d0.tar.bz2
sci-8de3d2e7b5bca71a3d0fd216520c45f76d7146d0.zip
mpi.eclass: Improve handling of unclassed dep strings
Instead of requiring a list of packages to block when calculating the dep list for an unclassed ebuild, simply inject a dep string. This will allow the use of USE-conditional blockers.
Diffstat (limited to 'eclass/mpi.eclass')
-rw-r--r--eclass/mpi.eclass21
1 files changed, 9 insertions, 12 deletions
diff --git a/eclass/mpi.eclass b/eclass/mpi.eclass
index e992e9a07..361b0e750 100644
--- a/eclass/mpi.eclass
+++ b/eclass/mpi.eclass
@@ -31,8 +31,9 @@ __MPI_ALL_CLASSABLE_PNS="openmpi mpich2 lam-mpi"
# Generic Functions that are used by Implementations and Packages #
###################################################################
-# @ECLASS-VARIABLE: MPI_UNCLASSED_BLOCKERS
-# @DESCRIPTION: Packages that are blockers when not using a classed install.
+# @ECLASS-VARIABLE: MPI_UNCLASSED_DEP_STR
+# @DESCRIPTION: String inserted into the deplist when not using a classed
+# install.
# @FUNCTION: mpi_classed
# @USAGE:
@@ -196,20 +197,18 @@ mpi_dosym() { _mpi_do "dosym" $*; }
# @FUNCTION: mpi_imp_deplist
# @USAGE:
# @RETURNS: Returns a deplist that handles the blocking between mpi
-# implementations, and any blockers as specified in MPI_UNCLASSED_BLOCKERS
+# 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; then
- for pn in ${MPI_UNCLASSED_BLOCKERS}; do
- ver="${ver} !${MPI_UNCLASSED_BLOCKERS}"
- done
+ if ! mpi_classed && [ -n "${MPI_UNCLASSED_DEP_STR}" ]; then
+ ver="${ver} ${MPI_UNCLASSED_DEP_STR}"
else
ver="${ver} sys-cluster/empi"
fi
@@ -288,10 +287,8 @@ mpi_pkg_deplist() {
ver="${ver}[${usedeps:1}]"
fi
- if ! mpi_classed && [ -n "${MPI_UNCLASSED_BLOCKERS}" ]; then
- for pn in ${MPI_UNCLASSED_BLOCKERS}; do
- ver="${ver} !${pn}"
- done
+ if ! mpi_classed && [ -n "${MPI_UNCLASSED_DEP_STR}" ]; then
+ ver="${ver} ${MPI_UNCLASSED_DEP_STR}"
fi
for pn in ${__MPI_ALL_IMPLEMENTATION_PNS}; do