summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2009-09-11 22:50:37 -0400
committerJonathan Callen <abcd@gentoo.org>2009-09-12 00:02:14 -0400
commite5768da5311f892933411f95fc2669480723356a (patch)
tree755c377696378db5cf493b5455b49ca8c7fb8d31
parent6658447f57b455e0534415f667137c57691a48ea (diff)
downloadkde-e5768da5311f892933411f95fc2669480723356a.tar.gz
kde-e5768da5311f892933411f95fc2669480723356a.tar.bz2
kde-e5768da5311f892933411f95fc2669480723356a.zip
Add features to add_blocker, and use it for all blockers to kde-base/ apps in kde-base/
Please see the comments in kde4-functions.eclass for documentation.
-rw-r--r--eclass/kde4-functions.eclass112
-rw-r--r--kde-base/akonadi/Manifest6
-rw-r--r--kde-base/akonadi/akonadi-4.3.67.ebuild15
-rw-r--r--kde-base/akonadi/akonadi-4.3.9999.ebuild15
-rw-r--r--kde-base/akonadi/akonadi-9999-r1.ebuild15
-rw-r--r--kde-base/drkonqi/Manifest6
-rw-r--r--kde-base/drkonqi/drkonqi-4.3.67.ebuild4
-rw-r--r--kde-base/drkonqi/drkonqi-4.3.9999.ebuild4
-rw-r--r--kde-base/drkonqi/drkonqi-9999.ebuild4
-rw-r--r--kde-base/kcontrol/Manifest6
-rw-r--r--kde-base/kcontrol/kcontrol-4.3.67.ebuild8
-rw-r--r--kde-base/kcontrol/kcontrol-4.3.9999.ebuild8
-rw-r--r--kde-base/kcontrol/kcontrol-9999.ebuild8
-rw-r--r--kde-base/kde-env/Manifest6
-rw-r--r--kde-base/kde-env/kde-env-4.3.67.ebuild10
-rw-r--r--kde-base/kde-env/kde-env-4.3.9999.ebuild10
-rw-r--r--kde-base/kde-env/kde-env-9999.ebuild10
-rw-r--r--kde-base/kdebase-data/Manifest6
-rw-r--r--kde-base/kdebase-data/kdebase-data-4.3.67.ebuild8
-rw-r--r--kde-base/kdebase-data/kdebase-data-4.3.9999.ebuild8
-rw-r--r--kde-base/kdebase-data/kdebase-data-9999.ebuild8
-rw-r--r--kde-base/kdebase-menu-icons/Manifest6
-rw-r--r--kde-base/kdebase-menu-icons/kdebase-menu-icons-4.3.67.ebuild5
-rw-r--r--kde-base/kdebase-menu-icons/kdebase-menu-icons-4.3.9999.ebuild5
-rw-r--r--kde-base/kdebase-menu-icons/kdebase-menu-icons-9999.ebuild5
-rw-r--r--kde-base/kdebase-menu/Manifest6
-rw-r--r--kde-base/kdebase-menu/kdebase-menu-4.3.67.ebuild5
-rw-r--r--kde-base/kdebase-menu/kdebase-menu-4.3.9999.ebuild5
-rw-r--r--kde-base/kdebase-menu/kdebase-menu-9999.ebuild5
-rw-r--r--kde-base/kdebase-meta/Manifest8
-rw-r--r--kde-base/kdebase-meta/kdebase-meta-4.3.0-r1.ebuild5
-rw-r--r--kde-base/kdebase-meta/kdebase-meta-4.3.67.ebuild5
-rw-r--r--kde-base/kdebase-meta/kdebase-meta-4.3.9999.ebuild5
-rw-r--r--kde-base/kdebase-meta/kdebase-meta-9999.ebuild5
-rw-r--r--kde-base/kdebase-wallpapers/Manifest6
-rw-r--r--kde-base/kdebase-wallpapers/kdebase-wallpapers-4.3.67.ebuild5
-rw-r--r--kde-base/kdebase-wallpapers/kdebase-wallpapers-4.3.9999.ebuild5
-rw-r--r--kde-base/kdebase-wallpapers/kdebase-wallpapers-9999.ebuild5
-rw-r--r--kde-base/kdelibs/Manifest8
-rw-r--r--kde-base/kdelibs/kdelibs-4.3.1-r1.ebuild30
-rw-r--r--kde-base/kdelibs/kdelibs-4.3.67.ebuild41
-rw-r--r--kde-base/kdelibs/kdelibs-4.3.9999.ebuild30
-rw-r--r--kde-base/kdelibs/kdelibs-9999.ebuild35
-rw-r--r--kde-base/kdepimlibs/Manifest6
-rw-r--r--kde-base/kdepimlibs/kdepimlibs-4.3.67.ebuild19
-rw-r--r--kde-base/kdepimlibs/kdepimlibs-4.3.9999.ebuild11
-rw-r--r--kde-base/kdepimlibs/kdepimlibs-9999.ebuild19
-rw-r--r--kde-base/kdeplasma-addons/Manifest6
-rw-r--r--kde-base/kdeplasma-addons/kdeplasma-addons-4.3.67.ebuild10
-rw-r--r--kde-base/kdeplasma-addons/kdeplasma-addons-4.3.9999.ebuild7
-rw-r--r--kde-base/kdeplasma-addons/kdeplasma-addons-9999.ebuild9
-rw-r--r--kde-base/keditfiletype/Manifest6
-rw-r--r--kde-base/keditfiletype/keditfiletype-4.3.67.ebuild5
-rw-r--r--kde-base/keditfiletype/keditfiletype-4.3.9999.ebuild5
-rw-r--r--kde-base/keditfiletype/keditfiletype-9999.ebuild5
-rw-r--r--kde-base/kfmclient/Manifest8
-rw-r--r--kde-base/kfmclient/kfmclient-4.3.0.ebuild13
-rw-r--r--kde-base/kfmclient/kfmclient-4.3.67.ebuild16
-rw-r--r--kde-base/kfmclient/kfmclient-4.3.9999.ebuild12
-rw-r--r--kde-base/kfmclient/kfmclient-9999.ebuild15
-rw-r--r--kde-base/kglobalaccel/Manifest6
-rw-r--r--kde-base/kglobalaccel/kglobalaccel-4.3.67.ebuild5
-rw-r--r--kde-base/kglobalaccel/kglobalaccel-4.3.9999.ebuild5
-rw-r--r--kde-base/kglobalaccel/kglobalaccel-9999.ebuild5
-rw-r--r--kde-base/kwrited/Manifest6
-rw-r--r--kde-base/kwrited/kwrited-4.3.67.ebuild6
-rw-r--r--kde-base/kwrited/kwrited-4.3.9999.ebuild6
-rw-r--r--kde-base/kwrited/kwrited-9999.ebuild6
-rw-r--r--kde-base/libkdepim/Manifest6
-rw-r--r--kde-base/libkdepim/libkdepim-4.3.67.ebuild5
-rw-r--r--kde-base/libkdepim/libkdepim-4.3.9999.ebuild5
-rw-r--r--kde-base/libkdepim/libkdepim-9999.ebuild5
-rw-r--r--kde-base/libplasmaclock/Manifest6
-rw-r--r--kde-base/libplasmaclock/libplasmaclock-4.3.67.ebuild4
-rw-r--r--kde-base/libplasmaclock/libplasmaclock-4.3.9999.ebuild4
-rw-r--r--kde-base/libplasmaclock/libplasmaclock-9999.ebuild4
-rw-r--r--kde-base/nepomuk/Manifest6
-rw-r--r--kde-base/nepomuk/nepomuk-4.3.67.ebuild7
-rw-r--r--kde-base/nepomuk/nepomuk-4.3.9999.ebuild7
-rw-r--r--kde-base/nepomuk/nepomuk-9999.ebuild7
-rw-r--r--kde-base/oxygen-icons/Manifest6
-rw-r--r--kde-base/oxygen-icons/oxygen-icons-4.3.67.ebuild16
-rw-r--r--kde-base/oxygen-icons/oxygen-icons-4.3.9999.ebuild16
-rw-r--r--kde-base/oxygen-icons/oxygen-icons-9999.ebuild16
-rw-r--r--kde-base/phonon-kde/Manifest6
-rw-r--r--kde-base/phonon-kde/phonon-kde-4.3.67.ebuild6
-rw-r--r--kde-base/phonon-kde/phonon-kde-4.3.9999.ebuild6
-rw-r--r--kde-base/phonon-kde/phonon-kde-9999.ebuild6
-rw-r--r--kde-base/plasma-runtime/Manifest6
-rw-r--r--kde-base/plasma-runtime/plasma-runtime-4.3.67.ebuild5
-rw-r--r--kde-base/plasma-runtime/plasma-runtime-4.3.9999.ebuild5
-rw-r--r--kde-base/plasma-runtime/plasma-runtime-9999.ebuild5
-rw-r--r--kde-base/thumbnailers/Manifest6
-rw-r--r--kde-base/thumbnailers/thumbnailers-4.3.67.ebuild6
-rw-r--r--kde-base/thumbnailers/thumbnailers-4.3.9999.ebuild7
-rw-r--r--kde-base/thumbnailers/thumbnailers-9999.ebuild7
96 files changed, 385 insertions, 535 deletions
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 419272a6f58..d1e1d554057 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -2,6 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.18 2009/05/09 13:23:15 scarabeus Exp $
+inherit versionator
+
# Prefix compat:
: ${EROOT:=${ROOT}}
# Append missing trailing slash character
@@ -372,32 +374,114 @@ load_library_dependencies() {
block_other_slots() {
debug-print-function ${FUNCNAME} "$@"
- local slot
- 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
+ _do_blocker ${CATEGORY}/${PN} 0:${SLOT}
}
# @FUNCTION: add_blocker
# @DESCRIPTION:
# Create correct RDEPEND value for blocking correct package.
-# Usefull for file-collision blocks.
-# Parameters are package and version to block.
+# Useful for file-collision blocks.
+# Parameters are package and version(s) to block.
# add_blocker kdelibs 4.2.4
+# If no version is specified, then all versions will be blocked
+# If any arguments (from 2 on) contain a ":", then different versions
+# are blocked in different slots. (Unlisted slots get the version without
+# a ":", if none, then all versions are blocked). The parameter is then of
+# the form VERSION:SLOT. Any VERSION of 0 means that no blocker will be
+# added for that slot (or, if no slot, then for any unlisted slot).
+# A parameter of the form :SLOT means to block all versions from that slot.
+# If VERSION begins with "<", then "!<foo" will be used instead of "!<=foo".
+# As a special case, if a parameter with slot "3.5" is passed, then that slot
+# may also be blocked.
+#
+# Versions that match "4.x.50" are equivalent to all slots up to (and including)
+# "4.x", but nothing following slot "4.x"
+#
+# As an example, if SLOT=live, then
+# add_blocker kdelibs 0 :4.3 '<4.3.96:4.4' 9999:live
+# will add the following to RDEPEND:
+# !kdeprefix? ( !kde-base/kdelibs:4.3[-kdeprefix] )
+# !kdeprefix? ( !<kde-base/kdelibs-4.3.96:4.4[-kdeprefix] )
+# !kdeprefix? ( !<=kde-base/kdelibs-9999:live[-kdeprefix] )
+# kdeprefix? ( !<=kde-base/kdelibs-9999:live[kdeprefix] )
add_blocker() {
debug-print-function ${FUNCNAME} "$@"
- [[ ${1} = "" || ${2} = "" ]] && die "Missing parameter"
- local slot
+ RDEPEND+=" $(_do_blocker "$@")"
+}
+
+# _greater_max_in_slot ver slot
+_greater_max_in_slot() {
+ local ver=$1
+ local slot=$2
+ [[ $slot == live ]] && return 1
+ local test=${slot}.50
+ version_compare $1 ${test}
+ [[ $? -ne 1 ]]
+}
+
+# _less_min_in_slot ver slot
+# slot must be 4.x or live
+_less_min_in_slot() {
+ local ver=$1
+ local slot=$2
+ local test=9999
+ [[ $slot == live ]] || test=${slot%.*}.$((${slot#*.} - 1)).50
+ version_compare $1 ${test}
+ [[ $? -eq 1 ]]
+}
+
+# Internal function used for add_blocker and block_other_slots
+# This takes the same parameters as add_blocker, but echos to
+# stdout instead of updating a variable.
+_do_blocker() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ [[ -z ${1} ]] && die "Missing parameter"
+ local pkg=kde-base/$1
+ shift
+ local param slot def="unset"
+ for slot in 3.5 ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+ slot=${slot//[.-]/_}
+ local block_${slot}="unset"
+ done
+ for param; do
+ if [[ ${param/:} == ${param} ]]; then
+ def=${param}
+ else
+ slot=${param#*:}
+ local block_${slot//[.-]/_}=${param%:*}
+ fi
+ done
+ local var atom
for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
+ var=block_${slot//[.-]/_}
+ [[ ${!var} == "unset" ]] && var=def
+ if [[ ${!var} == "0" ]] || _less_min_in_slot ${!var#<} ${slot}; then
+ continue
+ elif [[ ${!var} == "unset" || -z ${!var} ]] || _greater_max_in_slot ${!var#<} ${slot}; then
+ atom=${pkg}
+ elif [[ ${!var:0:1} == "<" ]]; then
+ atom="<${pkg}-${!var:1}"
+ else
+ atom="<=${pkg}-${!var}"
+ fi
# on -kdeprefix we block every slot
- RDEPEND+=" !kdeprefix? ( !<=kde-base/${1}-${2}:${slot}[-kdeprefix] )"
+ echo " !kdeprefix? ( !${atom}:${slot}[-kdeprefix] )"
+ if [[ ${SLOT} == ${slot} ]]; then
+ echo " kdeprefix? ( !${atom}:${SLOT}[kdeprefix] )"
+ fi
done
- # on kdeprefix we block only our slot
- RDEPEND+=" kdeprefix? ( !<=kde-base/${1}-${2}:${SLOT}[kdeprefix] )"
+ if [[ ${block_3_5} != "unset" && ${block_3_5} != "0" ]]; then
+ if [[ -z ${block_3_5} ]]; then
+ atom=${pkg}
+ elif [[ ${block_3_5:0:1} == "<" ]]; then
+ atom="<${pkg}-${block_3_5:1}"
+ else
+ atom="<=${pkg}-${block_3_5}"
+ fi
+ echo " !${atom}:3.5"
+ fi
}
# @FUNCTION: add_kdebase_dep
diff --git a/kde-base/akonadi/Manifest b/kde-base/akonadi/Manifest
index 5bdbcf90772..6a417866577 100644
--- a/kde-base/akonadi/Manifest
+++ b/kde-base/akonadi/Manifest
@@ -1,5 +1,5 @@
DIST kdepim-runtime-4.3.67.tar.lzma 670465 RMD160 22a41398f5e850edf778e52b5e7126c0cff7791c SHA1 cee098e6b26bf4aa382175cf71ed29736dd3722c SHA256 09e5ca290e40ee4783672ed8efc6334f308561b556eb5a62bed604ee0d7ed774
-EBUILD akonadi-4.3.67.ebuild 2685 RMD160 e88af48063dda3e873a2d2d923c815b35928aa17 SHA1 67eb2a4c27d20bf805bd24f1733611eb902df4a5 SHA256 7943f02b128b64ac6366f6cfcab4147bba59e2a834eafbaeb0da21e44c95ce0a
-EBUILD akonadi-4.3.9999.ebuild 2643 RMD160 987fa0fa8a5a343f6354f50e46eef0730b67b942 SHA1 2e600e87ec40625b92e5e58b91e975d539ed7e6b SHA256 3b57b7b6e637e12a3ae0987d2cc20c0bec1fde81f001200d4661671d92bc185b
-EBUILD akonadi-9999-r1.ebuild 2643 RMD160 987fa0fa8a5a343f6354f50e46eef0730b67b942 SHA1 2e600e87ec40625b92e5e58b91e975d539ed7e6b SHA256 3b57b7b6e637e12a3ae0987d2cc20c0bec1fde81f001200d4661671d92bc185b
+EBUILD akonadi-4.3.67.ebuild 2439 RMD160 29a96dfd6bebbcf948f8ecc65af2c8573031033e SHA1 798bdd88e3d6d871d27f8af0a978fe2564753a74 SHA256 f930e71d8df3ceaf70fe06983d4689abf1ea1bf62bdb33ae177026671b4f3396
+EBUILD akonadi-4.3.9999.ebuild 2397 RMD160 8ada908dd31214da83639e889d6ff68445dac107 SHA1 1bec04568837e574541502d11180028369f664cb SHA256 2540abbba77a9995a75df67c298d6fc04bbc095ff31fb43e960e21cf3e2284e6
+EBUILD akonadi-9999-r1.ebuild 2397 RMD160 8ada908dd31214da83639e889d6ff68445dac107 SHA1 1bec04568837e574541502d11180028369f664cb SHA256 2540abbba77a9995a75df67c298d6fc04bbc095ff31fb43e960e21cf3e2284e6
MISC metadata.xml 264 RMD160 4d66ebe451b6634cb712a67519338b16a556b983 SHA1 272c64cf9e24ac997a3a9d4ce32249a09f4d62bd SHA256 7c3b87ecba257c3c302e5beccf9e21d858c9651ea7b6b723b79a3364f671b7e5
diff --git a/kde-base/akonadi/akonadi-4.3.67.ebuild b/kde-base/akonadi/akonadi-4.3.67.ebuild
index d2261201b0f..d860b5dfd23 100644
--- a/kde-base/akonadi/akonadi-4.3.67.ebuild
+++ b/kde-base/akonadi/akonadi-4.3.67.ebuild
@@ -29,21 +29,14 @@ DEPEND="
$(add_kdebase_dep kdepimlibs)
x11-misc/shared-mime-info
"
-# @since 4.3 - blocks kdemaildir - no longer provided (it's in akonadi now)
RDEPEND="${DEPEND}
- !kdeprefix? (
- !kde-base/kdemaildir[-kdeprefix]
- !~kde-base/kdepim-kresources-4.2.3[-kdeprefix]
- !~kde-base/kdepim-kresources-4.2.4[-kdeprefix]
- !<kde-base/kdepim-kresources-4.2.95:4.3[-kdeprefix]
- )
- kdeprefix? (
- !kde-base/kdemaildir:${SLOT}
- !<kde-base/kdepim-kresources-4.2.95:${SLOT}[kdeprefix]
- )
>=app-office/akonadi-server-1.2.1
"
+# @since 4.3 - blocks kdemaildir - no longer provided (it's in akonadi now)
+add_blocker kdemaildir
+add_blocker kdepim-kresources '<4.2.95'
+
[[ ${KMNAME} = "kdepim-runtime" ]] && S="${WORKDIR}/${KMNAME}-${PV}"
src_prepare() {
diff --git a/kde-base/akonadi/akonadi-4.3.9999.ebuild b/kde-base/akonadi/akonadi-4.3.9999.ebuild
index 24023712630..9e5dc7f181e 100644
--- a/kde-base/akonadi/akonadi-4.3.9999.ebuild
+++ b/kde-base/akonadi/akonadi-4.3.9999.ebuild
@@ -29,21 +29,14 @@ DEPEND="
$(add_kdebase_dep kdepimlibs)
x11-misc/shared-mime-info
"
-# @since 4.3 - blocks kdemaildir - no longer provided (it's in akonadi now)
RDEPEND="${DEPEND}
- !kdeprefix? (
- !kde-base/kdemaildir[-kdeprefix]
- !~kde-base/kdepim-kresources-4.2.3[-kdeprefix]
- !~kde-base/kdepim-kresources-4.2.4[-kdeprefix]
- !<kde-base/kdepim-kresources-4.2.95:4.3[-kdeprefix]
- )
- kdeprefix? (
- !kde-base/kdemaildir:${SLOT}
- !<kde-base/kdepim-kresources-4.2.95:${SLOT}[kdeprefix]
- )
>=app-office/akonadi-server-1.2.1
"
+# @since 4.3 - blocks kdemaildir - no longer provided (it's in akonadi now)
+add_blocker kdemaildir
+add_blocker kdepim-kresources '<4.2.95'
+
[[ ${KMNAME} = "kdepim-runtime" ]] && S="${WORKDIR}/${KMNAME}-${PV}"
src_prepare() {
diff --git a/kde-base/akonadi/akonadi-9999-r1.ebuild b/kde-base/akonadi/akonadi-9999-r1.ebuild
index 24023712630..9e5dc7f181e 100644
--- a/kde-base/akonadi/akonadi-9999-r1.ebuild
+++ b/kde-base/akonadi/akonadi-9999-r1.ebuild
@@ -29,21 +29,14 @@ DEPEND="
$(add_kdebase_dep kdepimlibs)
x11-misc/shared-mime-info
"
-# @since 4.3 - blocks kdemaildir - no longer provided (it's in akonadi now)
RDEPEND="${DEPEND}
- !kdeprefix? (
- !kde-base/kdemaildir[-kdeprefix]
- !~kde-base/kdepim-kresources-4.2.3[-kdeprefix]
- !~kde-base/kdepim-kresources-4.2.4[-kdeprefix]
- !<kde-base/kdepim-kresources-4.2.95:4.3[-kdeprefix]
- )
- kdeprefix? (
- !kde-base/kdemaildir:${SLOT}
- !<kde-base/kdepim-kresources-4.2.95:${SLOT}[kdeprefix]
- )
>=app-office/akonadi-server-1.2.1
"
+# @since 4.3 - blocks kdemaildir - no longer provided (it's in akonadi now)
+add_blocker kdemaildir
+add_blocker kdepim-kresources '<4.2.95'
+
[[ ${KMNAME} = "kdepim-runtime" ]] && S="${WORKDIR}/${KMNAME}-${PV}"
src_prepare() {
diff --git a/kde-base/drkonqi/Manifest b/kde-base/drkonqi/Manifest
index 568119e3b52..a785494cf5c 100644
--- a/kde-base/drkonqi/Manifest
+++ b/