summaryrefslogtreecommitdiff
path: root/eclass/kde4-base.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/kde4-base.eclass')
-rw-r--r--eclass/kde4-base.eclass308
1 files changed, 161 insertions, 147 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index 71b4a29e36c..dcb376b0204 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -68,7 +68,7 @@ fi
# Note that it is fixed to ${SLOT} for kde-base packages.
KDE_MINIMAL="${KDE_MINIMAL:-4.4}"
-# Set slot for packages in kde-base, koffice and kdevelop
+# Set slot for KDEBASE known packages
case ${KDEBASE} in
kde-base)
# Determine SLOT from PVs
@@ -381,6 +381,14 @@ if [[ ${PN} != oxygen-icons ]]; then
kderdepend+=" $(add_kdebase_dep oxygen-icons)"
fi
+# add dependency over kde-l10n if EAPI4 is around
+if [[ KDEBASE != "kde-base" && -n ${KDE_LINGUAS} ]] && has "${EAPI:-0}" 4; then
+ for _lingua in ${KDE_LINGUAS}; do
+ # if our package has lignuas pull in kde-l10n with selected lingua
+ kderdepend+=" $(add_kdebase_dep kde-l10n "[linguas_${_lingua}(+)]")"
+ done
+fi
+
kdehandbookdepend="
app-text/docbook-xml-dtd:4.2
app-text/docbook-xsl-stylesheets
@@ -437,170 +445,176 @@ IUSE+=" kdeenablefinal"
_calculate_src_uri() {
debug-print-function ${FUNCNAME} "$@"
- if [[ -n ${KDEBASE} ]]; then
- if [[ -n ${KMNAME} ]]; then
- case ${KMNAME} in
- kdebase-apps)
- _kmname="kdebase" ;;
- *)
- _kmname="${KMNAME}" ;;
- esac
- else
- _kmname=${PN}
- fi
- _kmname_pv="${_kmname}-${PV}"
- case ${KDEBASE} in
- kde-base)
- case ${PV} in
- 4.5.94.1)
- # KDEPIM 4.6beta
- SRC_URI="mirror://kde/unstable/kdepim/${PV}/src/${_kmname_pv}.tar.bz2"
- ;;
- 4.[456].8[05] | 4.[456].9[023568])
- # Unstable KDE SC releases
- SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
- ;;
- 4.4.6 | 4.4.7 | 4.4.8 | 4.4.9)
- # Only kdepim here
- SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
- ;;
- *)
- # Stable KDE SC releases
- SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
- ;;
- esac
- ;;
- koffice)
- case ${PV} in
- 2.[1234].[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
- *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
- esac
- ;;
- kdevelop)
- SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
- ;;
+ local _kmname _kmname_pv
+
+ # we calculate URI only for known KDEBASE modules
+ [[ -n ${KDEBASE} ]] || return
+
+ # calculate tarball module name
+ if [[ -n ${KMNAME} ]]; then
+ # fixup kdebase-apps name
+ case ${KMNAME} in
+ kdebase-apps)
+ _kmname="kdebase" ;;
+ *)
+ _kmname="${KMNAME}" ;;
esac
- unset _kmname _kmname_pv
+ else
+ _kmname=${PN}
fi
+ _kmname_pv="${_kmname}-${PV}"
+ case ${KDEBASE} in
+ kde-base)
+ case ${PV} in
+ 4.[456].8[05] | 4.[456].9[023568])
+ # Unstable KDE SC releases
+ SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
+ # KDEPIM IS SPECIAL
+ [[ ${KMNAME} == "kdepim" ]] && SRC_URI="mirror://kde/unstable/kmname/${PV}/src/${_kmname_pv}.tar.bz2"
+ ;;
+ 4.4.[6789] | 4.4.1?)
+ # Stable kdepim releases
+ SRC_URI="mirror://kde/stable/kdepim-${PV}/src/${_kmname_pv}.tar.bz2"
+ ;;
+ *)
+ # Stable KDE SC releases
+ SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2"
+ ;;
+ esac
+ ;;
+ koffice)
+ case ${PV} in
+ 2.[1234].[6-9]*) SRC_URI="mirror://kde/unstable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
+ *) SRC_URI="mirror://kde/stable/${_kmname_pv}/${_kmname_pv}.tar.bz2" ;;
+ esac
+ ;;
+ kdevelop)
+ SRC_URI="mirror://kde/stable/kdevelop/${KDEVELOP_VERSION}/src/${P}.tar.bz2"
+ ;;
+ esac
}
_calculate_live_repo() {
debug-print-function ${FUNCNAME} "$@"
SRC_URI=""
- if [[ "${KDE_SCM}" == "svn" ]]; then
- # Determine branch URL based on live type
- local branch_prefix
- case ${PV} in
- 9999*)
- # trunk
- branch_prefix="trunk/KDE"
- ;;
- *)
- # branch
- branch_prefix="branches/KDE/${SLOT}"
- # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
- # @DESCRIPTION
- # Suffix appended to ESVN_PROJECT depending on fetched branch.
- # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
- ESVN_PROJECT_SUFFIX="-${PV}"
- ;;
- esac
- # @ECLASS-VARIABLE: ESVN_MIRROR
- # @DESCRIPTION:
- # This variable allows easy overriding of default kde mirror service
- # (anonsvn) with anything else you might want to use.
- ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
- # Split ebuild, or extragear stuff
- if [[ -n ${KMNAME} ]]; then
- ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
- if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
- KMMODULE="${PN}"
- fi
- # Split kde-base/ ebuilds: (they reside in trunk/KDE)
- case ${KMNAME} in
- kdebase-*)
- ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
- ;;
- kdelibs-*)
- ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
- ;;
- kdereview*)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
- ;;
- kdesupport)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
- ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+ case ${KDE_SCM} in
+ svn)
+ # Determine branch URL based on live type
+ local branch_prefix
+ case ${PV} in
+ 9999*)
+ # trunk
+ branch_prefix="trunk/KDE"
;;
- kde*)
- ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
+ *)
+ # branch
+ branch_prefix="branches/KDE/${SLOT}"
+ # @ECLASS-VARIABLE: ESVN_PROJECT_SUFFIX
+ # @DESCRIPTION
+ # Suffix appended to ESVN_PROJECT depending on fetched branch.
+ # Defaults is empty (for -9999 = trunk), and "-${PV}" otherwise.
+ ESVN_PROJECT_SUFFIX="-${PV}"
;;
- extragear*|playground*)
- # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
- # build packages from same svn location.
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
- ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+ esac
+ # @ECLASS-VARIABLE: ESVN_MIRROR
+ # @DESCRIPTION:
+ # This variable allows easy overriding of default kde mirror service
+ # (anonsvn) with anything else you might want to use.
+ ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
+ # Split ebuild, or extragear stuff
+ if [[ -n ${KMNAME} ]]; then
+ ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
+ if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
+ KMMODULE="${PN}"
+ fi
+ # Split kde-base/ ebuilds: (they reside in trunk/KDE)
+ case ${KMNAME} in
+ kdebase-*)
+ ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdebase/${KMNAME#kdebase-}"
+ ;;
+ kdelibs-*)
+ ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/kdelibs/${KMNAME#kdelibs-}"
+ ;;
+ kdereview*)
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+ ;;
+ kdesupport)
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+ ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+ ;;
+ kde*)
+ ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${KMNAME}"
+ ;;
+ extragear*|playground*)
+ # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
+ # build packages from same svn location.
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+ ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+ ;;
+ koffice)
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+ ;;
+ *)
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+ ;;
+ esac
+ else
+ # kdelibs, kdepimlibs
+ ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
+ ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
+ fi
+ # @ECLASS-VARIABLE: ESVN_UP_FREQ
+ # @DESCRIPTION:
+ # This variable is used for specifying the timeout between svn synces
+ # for kde-base and koffice modules. Does not affect misc apps.
+ # Default value is 1 hour.
+ [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
+ ;;
+ git)
+ case ${PV} in
+ 9999*)
+ # master
+ # @ECLASS-VARIABLE: EGIT_PROJECT_SUFFIX
+ # @DESCRIPTION
+ # Suffix appended to EGIT_PROJECT depending on fetched branch.
+ # Defaults is empty (for -9999 = master), and "-${PV}" otherwise.
+ EGIT_PROJECT_SUFFIX=""
;;
- koffice)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+ 4.6.9999)
+ # keep this as long as 4.6 does not have its own branch in
+ # kde git tree
+ EGIT_PROJECT_SUFFIX=""
+ EGIT_BRANCH="master"
;;
*)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
+ # branch: prefix empty because we use bare git repo
+ EGIT_PROJECT_SUFFIX=""
+
+ # set EGIT_BRANCH and EGIT_COMMIT to ${SLOT}
+ EGIT_BRANCH="${SLOT}"
+ EGIT_COMMIT="${SLOT}"
;;
esac
- else
- # kdelibs, kdepimlibs
- ESVN_REPO_URI="${ESVN_MIRROR}/${branch_prefix}/${PN}"
- ESVN_PROJECT="${PN}${ESVN_PROJECT_SUFFIX}"
- fi
- # @ECLASS-VARIABLE: ESVN_UP_FREQ
- # @DESCRIPTION:
- # This variable is used for specifying the timeout between svn synces
- # for kde-base and koffice modules. Does not affect misc apps.
- # Default value is 1 hour.
- [[ ${KDEBASE} = kde-base || ${KDEBASE} = koffice ]] && ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
- elif [[ "${KDE_SCM}" == "git" ]]; then
- case ${PV} in
- 9999*)
- # master
- # @ECLASS-VARIABLE: EGIT_PROJECT_SUFFIX
- # @DESCRIPTION
- # Suffix appended to EGIT_PROJECT depending on fetched branch.
- # Defaults is empty (for -9999 = master), and "-${PV}" otherwise.
- EGIT_PROJECT_SUFFIX=""
- ;;
- 4.6.9999)
- # keep this as long as 4.6 does not have its own branch in
- # kde git tree
- EGIT_PROJECT_SUFFIX=""
- EGIT_BRANCH="master"
- ;;
- *)
- # branch: prefix empty because we use bare git repo
- EGIT_PROJECT_SUFFIX=""
-
- # set EGIT_BRANCH and EGIT_COMMIT to ${SLOT}
- EGIT_BRANCH="${SLOT}"
- EGIT_COMMIT="${SLOT}"
- ;;
- esac
- if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
- KMMODULE="${PN}"
- fi
- if [[ -n ${KMNAME} ]]; then
- EGIT_PROJECT="${KMNAME}${EGIT_PROJECT_SUFFIX}"
if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
KMMODULE="${PN}"
fi
- fi
- case ${KDEBASE} in
- kdevelop)
- EGIT_REPO_URI="git://anongit.kde.org/${KMMODULE}"
- ;;
- *)
- EGIT_REPO_URI="git://anongit.kde.org/${PN}"
- esac
- fi
+ if [[ -n ${KMNAME} ]]; then
+ EGIT_PROJECT="${KMNAME}${EGIT_PROJECT_SUFFIX}"
+ if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
+ KMMODULE="${PN}"
+ fi
+ fi
+ case ${KDEBASE} in
+ kdevelop)
+ EGIT_REPO_URI="git://anongit.kde.org/${KMMODULE}"
+ ;;
+ *)
+ EGIT_REPO_URI="git://anongit.kde.org/${PN}"
+ ;;
+ esac
+ ;;
+ esac
}
case ${BUILD_TYPE} in