summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/kde4-functions.eclass14
1 files changed, 10 insertions, 4 deletions
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 34bc1aaf11f..2af4cbfb22b 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -449,8 +449,14 @@ _do_blocker() {
debug-print-function ${FUNCNAME} "$@"
[[ -z ${1} ]] && die "Missing parameter"
- local pkg=kde-base/$1
+ local pkg=kde-base/$1 use
shift
+ if [[ $pkg == *\[*\] ]]; then
+ use=${pkg#*\[}
+ use=${use%\]}
+ pkg=${pkg%\[*\]}
+ fi
+
local param slot def="unset" var atom
# The following variables will hold parameters that contain ":"
# - block_3_5
@@ -501,10 +507,10 @@ _do_blocker() {
fi
# we always block our own slot, ignoring kdeprefix
if [[ ${SLOT} == ${slot} ]]; then
- echo " !${atom}:${slot}"
+ echo " !${atom}:${slot}${use:+[${use}]}"
else
# we only block other slots on -kdeprefix
- echo " !kdeprefix? ( !${atom}:${slot}[-kdeprefix] )"
+ echo " !kdeprefix? ( !${atom}:${slot}[-kdeprefix${use:+,${use}}] )"
fi
done
@@ -520,7 +526,7 @@ _do_blocker() {
else
atom="<=${pkg}-${block_3_5}"
fi
- echo " !${atom}:3.5"
+ echo " !${atom}:3.5${use:+[${use}]}"
fi
}