summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/kde4-functions.eclass')
-rw-r--r--eclass/kde4-functions.eclass41
1 files changed, 40 insertions, 1 deletions
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 33ace54973d2..bbbc8ebe9c51 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -1,9 +1,11 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.22 2009/08/03 21:59:53 wired Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.23 2009/08/20 09:18:01 scarabeus Exp $
# Prefix compat:
: ${EROOT:=${ROOT}}
+# Append missing trailing slash character
+[[ ${EROOT} = */ ]] || EROOT+="/"
# @ECLASS: kde4-functions.eclass
# @MAINTAINER:
@@ -352,3 +354,40 @@ load_library_dependencies() {
done
eend $?
}
+
+# @FUNCTION: block_other_slots
+# @DESCRIPTION:
+# Create blocks for the current package in other slots when
+# installed with USE=-kdeprefix
+block_other_slots() {
+ local slot
+
+ debug-print-function ${FUNCNAME} "$@"
+
+ for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+ # Block non kdeprefix ${PN} on other slots
+ if [[ ${SLOT} != ${slot} ]]; then
+ echo "!kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )"
+ fi
+ done
+}
+
+# @FUNCTION: add_blocker
+# @DESCRIPTION:
+# Create correct RDEPEND value for blocking correct package.
+# Usefull for file-collision blocks.
+# Parameters are package and version to block.
+# add_blocker kde-base/kdelibs 4.2.4
+add_blocker() {
+ local slot
+
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ ${1} = "" || ${2} = "" ]] && die "Missing parameter"
+ for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+ # on -kdeprefix we block every slot
+ RDEPEND+=" !kdeprefix? ( !<=${1}-${2}:${slot}[-kdeprefix] )"
+ done
+ # on kdeprefix we block only our slot
+ RDEPEND+=" kdeprefix? ( !<=${1}-${2}:${SLOT}[kdeprefix] )"
+}