summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2014-11-24 22:11:11 +1100
committerMichael Palimaka <kensington@gentoo.org>2014-11-24 22:19:58 +1100
commit65409addcae2f031c676b89cfca712553762b1be (patch)
treedff062922d78472494423476f4e67ef430f43b3d /eclass
parent61baad821d795c47908c19e3c0a0c0225b175a2d (diff)
downloadkde-65409addcae2f031c676b89cfca712553762b1be.tar.gz
kde-65409addcae2f031c676b89cfca712553762b1be.tar.bz2
kde-65409addcae2f031c676b89cfca712553762b1be.zip
[eclass] Add KDE Applications support.
For all applications: - Add SRC_URI support - Add mirror restriction for prereleases For KDE 4 based applications: - Support kde-apps/oxygen-icons - Automatically block kde-base/${PN} - Modify add_kdebase_dep to use kde-apps, with a blacklist for packages with no applications release For KDE 5 based applications: - Introduce add_kdeapps_dep in a similar vein to the other add_kde*_dep functions
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kde4-base.eclass21
-rw-r--r--eclass/kde4-functions.eclass17
-rw-r--r--eclass/kde5-functions.eclass24
-rw-r--r--eclass/kde5.eclass10
4 files changed, 64 insertions, 8 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index a75f995e3b1..96f356f18d1 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -186,7 +186,7 @@ case ${KDEBASE} in
# packages that will never be mirrored. (As they only will ever be in
# the overlay).
case ${PV} in
- *9999* | 4.?.[6-9]? | 4.??.[6-9]?)
+ *9999* | 4.?.[6-9]? | 4.??.[6-9]? | ??.?.[6-9]? | ??.??.[6-9]?)
RESTRICT+=" mirror"
;;
esac
@@ -329,9 +329,13 @@ kdedepend="
kderdepend=""
+if [[ ${CATEGORY} == kde-apps ]]; then
+ kderdepend+=" !kde-base/${PN}"
+fi
+
# all packages needs oxygen icons for basic iconset
if [[ ${PN} != oxygen-icons ]]; then
- kderdepend+=" $(add_kdebase_dep oxygen-icons)"
+ kderdepend+=" || ( kde-apps/oxygen-icons $(add_kdebase_dep oxygen-icons) )"
fi
# add a dependency over kde-l10n
@@ -454,9 +458,18 @@ _calculate_src_uri() {
4.11.14)
# Part of 4.14 actually, sigh. Not stable for next release!
SRC_URI="mirror://kde/stable/4.14.3/src/${_kmname_pv}.tar.xz" ;;
+ ??.?.[6-9]? | ??.??.[4-9]?)
+ # Unstable KDE Applications releases
+ SRC_URI="mirror://kde/unstable/applications/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
*)
- # Stable KDE SC releases
- SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.xz" ;;
+ if [[ ${CATEGORY} == kde-apps ]]; then
+ # Stable KDE Applications releases
+ SRC_URI="mirror://kde/stable/applications/${PV}/src/${_kmname}-${PV}.tar.xz"
+ else
+ # Stable KDE SC releases
+ SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.xz"
+ fi
+ ;;
esac
;;
kdevelop|kdevelop-php*|kdevplatform)
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index a5af8bd8fc3..69660ea32dc 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -36,7 +36,7 @@ esac
# @DESCRIPTION:
# This gets set to a non-zero value when a package is considered a kde or
# kdevelop ebuild.
-if [[ ${CATEGORY} = kde-base ]]; then
+if [[ ${CATEGORY} = kde-base || ${CATEGORY} = kde-apps ]]; then
debug-print "${ECLASS}: KDEBASE ebuild recognized"
KDEBASE=kde-base
elif [[ ${KMNAME-${PN}} = kdevelop ]]; then
@@ -298,7 +298,12 @@ load_library_dependencies() {
add_kdebase_dep() {
debug-print-function ${FUNCNAME} "$@"
- local ver
+ local ver category=kde-base
+
+ if [[ ${CATEGORY} == kde-apps && ${1} != kdelibs && ${1} != kdepimlibs && ${1} != baloo-widgets &&
+ ${1} != kactivities && ${1} != baloo && ${1} != kfilemetadata ]] ; then
+ category=kde-apps
+ fi
if [[ -n ${3} ]]; then
ver=${3}
@@ -311,12 +316,16 @@ add_kdebase_dep() {
elif [[ ${PV} == *.9999 ]]; then
ver=$(get_kde_version)
else
- ver=${PV}
+ if [[ ${CATEGORY} == kde-apps && ${category} == kde-base ]]; then
+ ver=4.14.3
+ else
+ ver=${PV}
+ fi
fi
[[ -z ${1} ]] && die "Missing parameter"
- echo " >=kde-base/${1}-${ver}:4[aqua=${2:+,${2}}]"
+ echo " >=${category}/${1}-${ver}:4[aqua=${2:+,${2}}]"
}
# local function to enable specified translations for specified directory
diff --git a/eclass/kde5-functions.eclass b/eclass/kde5-functions.eclass
index 44662762fc8..830cacc497d 100644
--- a/eclass/kde5-functions.eclass
+++ b/eclass/kde5-functions.eclass
@@ -131,6 +131,30 @@ add_frameworks_dep() {
_add_kdecategory_dep kde-frameworks "${1}" "${2}" "${version}"
}
+# @FUNCTION: add_kdeapps_dep
+# @USAGE: <package> [USE flags] [minimum version]
+# @DESCRIPTION:
+# Create proper dependency for kde-apps/ dependencies.
+# This takes 1 to 3 arguments. The first being the package name, the optional
+# second is additional USE flags to append, and the optional third is the
+# version to use instead of the automatic version (use sparingly).
+# The output of this should be added directly to DEPEND/RDEPEND, and may be
+# wrapped in a USE conditional (but not an || conditional without an extra set
+# of parentheses).
+add_kdeapps_dep() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local version
+
+ if [[ -n ${3} ]]; then
+ version=${3}
+ elif [[ ${CATEGORY} = kde-apps ]]; then
+ version=${PV}
+ fi
+
+ _add_kdecategory_dep kde-apps "${1}" "${2}" "${version}"
+}
+
# @FUNCTION: add_kdebase_dep
# @USAGE: <package> [USE flags] [minimum version]
# @DESCRIPTION:
diff --git a/eclass/kde5.eclass b/eclass/kde5.eclass
index 0f301560db1..37f98dc8bb1 100644
--- a/eclass/kde5.eclass
+++ b/eclass/kde5.eclass
@@ -200,6 +200,16 @@ _calculate_src_uri() {
DEPEND+=" app-arch/xz-utils"
case ${CATEGORY} in
+ kde-apps)
+ case ${PV} in
+ ??.?.[6-9]? | ??.??.[6-9]? )
+ SRC_URI="mirror://kde/unstable/applications/${PV}/src/${_kmname}-${PV}.tar.xz"
+ RESTRICT+=" mirror"
+ ;;
+ *)
+ SRC_URI="mirror://kde/stable/applications/${PV}/src/${_kmname}-${PV}.tar.xz" ;;
+ esac
+ ;;
kde-frameworks)
case ${PV} in
5.0.0|5.1.0|5.2.0|5.3.0)