summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>2010-12-09 01:01:36 -0100
committerJorge Manuel B. S. Vicetto (jmbsvicetto) <jmbsvicetto@gentoo.org>2010-12-09 01:01:36 -0100
commit1d6f48ca55d197bcc9f5bc8ab7ed713c842af64d (patch)
tree02e4a41179372363062a270140c6175156d628ce /eclass
parent44fe70930ffc2a63a981643e851bc998404f2fb7 (diff)
downloadkde-1d6f48ca55d197bcc9f5bc8ab7ed713c842af64d.tar.gz
kde-1d6f48ca55d197bcc9f5bc8ab7ed713c842af64d.tar.bz2
kde-1d6f48ca55d197bcc9f5bc8ab7ed713c842af64d.zip
[eclass/*] Initial work to add git support for kde4 eclasses.
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kde4-base.eclass75
-rw-r--r--eclass/kde4-functions.eclass29
-rw-r--r--eclass/kde4-meta.eclass31
3 files changed, 56 insertions, 79 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index 9063d6e7f0b..1f2c78135ff 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -10,8 +10,8 @@
# The kde4-base.eclass provides support for building KDE4 based ebuilds
# and KDE4 applications.
#
-# NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
-# eclass will fail with version older than 2.
+# NOTE: KDE 4 ebuilds currently support EAPI "3". This will be reviewed
+# over time as new EAPI versions are approved.
# @ECLASS-VARIABLE: VIRTUALX_REQUIRED
# @DESCRIPTION:
@@ -30,11 +30,17 @@ inherit kde4-functions base virtualx eutils
get_build_type
if [[ ${BUILD_TYPE} = live ]]; then
- if [[ ${KDEBASE} = kdevelop ]]; then
- inherit git
- else
- inherit subversion
- fi
+ case ${KDE_SCM} in
+ svn)
+ inherit subversion
+ ;;
+ git)
+ inherit git
+ ;;
+ *)
+ die "unsupported scm: ${KDE_SCM}"
+ ;;
+ esac
fi
# @ECLASS-VARIABLE: CMAKE_REQUIRED
@@ -369,6 +375,7 @@ if [[ ${PN} != kdelibs ]]; then
fi
fi
fi
+
kdedepend="
dev-util/automoc
dev-util/pkgconfig
@@ -377,6 +384,7 @@ kdedepend="
x11-proto/xf86vidmodeproto
)
"
+
kderdepend=""
kdehandbookdepend="
@@ -435,7 +443,7 @@ IUSE+=" kdeenablefinal"
case ${BUILD_TYPE} in
live)
SRC_URI=""
- if has subversion ${INHERITED}; then
+ if [[ "${KDE_SCM}" == "svn" ]]; then
# Determine branch URL based on live type
local branch_prefix
case ${PV} in
@@ -506,14 +514,16 @@ case ${BUILD_TYPE} in
# 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 has git ${INHERITED}; then
+ elif [[ "${KDE_SCM}" == "git" ]]; then
if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
KMMODULE="${PN}"
fi
case ${KDEBASE} in
kdevelop)
- EGIT_REPO_URI="git://git.kde.org/${KMMODULE}"
+ EGIT_REPO_URI="git://anongit.kde.org/${KMMODULE}"
;;
+ *)
+ EGIT_REPO_URI="git://anongit.kde.org/${PN}"
esac
fi
;;
@@ -577,15 +587,6 @@ debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
kde4-base_pkg_setup() {
debug-print-function ${FUNCNAME} "$@"
- # Prefix compat:
- if [[ ${EAPI} == 2 ]] && ! use prefix; then
- EPREFIX=
- EROOT=${ROOT}
- fi
-
- # Append missing trailing slash character
- [[ ${EROOT} = */ ]] || EROOT+="/"
-
# QA ebuilds
[[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})."
@@ -643,28 +644,15 @@ kde4-base_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${BUILD_TYPE} = live ]]; then
- if has subversion ${INHERITED}; then
- migrate_store_dir
- subversion_src_unpack
- elif has git ${INHERITED}; then
- git_src_unpack
- fi
- elif [[ ${EAPI} == 2 ]]; then
- local file
- for file in ${A}; do
- # This setup is because EAPI <= 2 cannot unpack *.tar.xz files
- # directly, so we do it ourselves (using the exact same code as portage)
- case ${file} in
- *.tar.xz)
- echo ">>> Unpacking ${file} to ${PWD}"
- xz -dc "${DISTDIR}"/${file} | tar xof -
- assert "failed unpacking ${file}"
- ;;
- *)
- unpack ${file}
- ;;
- esac
- done
+ case ${KDE_SCM} in
+ svn)
+ migrate_store_dir
+ subversion_src_unpack
+ ;;
+ git)
+ git_src_unpack
+ ;;
+ esac
else
# For EAPI >= 3, we can just use unpack() directly
unpack ${A}
@@ -855,11 +843,6 @@ kde4-base_src_test() {
kde4-base_src_install() {
debug-print-function ${FUNCNAME} "$@"
- # Prefix support, for usage in ebuilds
- if [[ ${EAPI} == 2 ]] && ! use prefix; then
- ED=${D}
- fi
-
if [[ -n ${KMSAVELIBS} ]] ; then
install_library_dependencies
fi
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 0083bef8e30..511e1518b9e 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -14,10 +14,10 @@ inherit versionator
# @ECLASS-VARIABLE: EAPI
# @DESCRIPTION:
-# By default kde4 eclasses want EAPI 2 which might be redefinable to newer
-# versions.
+# Currently kde4 eclasses support EAPI 3. Over time newer versions
+# will be supported.
case ${EAPI:-0} in
- 2|3) : ;;
+ 3) : ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
@@ -36,6 +36,11 @@ elif [[ ${KMNAME} = kdevelop ]]; then
KDEBASE="kdevelop"
fi
+# @ECLASS-VARIABLE: KDE_SCM
+# @DESCRIPTION:
+# If this is a live package which scm does it use - default to svn
+KDE_SCM="${KDE_SCM:-svn}"
+
# @ECLASS-VARIABLE: KDE_SLOTS
# @DESCRIPTION:
# The slots used by all KDE versions later than 4.0. The live KDE releases use
@@ -64,24 +69,6 @@ slot_is_at_least() {
buildsycoca() {
debug-print-function ${FUNCNAME} "$@"
- if [[ ${EAPI} == 2 ]] && ! use prefix; then
- EROOT=${ROOT}
- fi
-
- local KDE3DIR="${EROOT}usr/kde/3.5"
- if [[ -z ${EROOT%%/} && -x "${KDE3DIR}"/bin/kbuildsycoca ]]; then
- # Since KDE3 is aware of shortcuts in /usr, rebuild database
- # for KDE3 as well.
- touch "${KDE3DIR}"/share/services/ksycoca
- chmod 644 "${KDE3DIR}"/share/services/ksycoca
-
- ebegin "Running kbuildsycoca to build global database"
- XDG_DATA_DIRS="${EROOT}usr/local/share:${KDE3DIR}/share:${EROOT}usr/share" \
- DISPLAY="" \
- "${KDE3DIR}"/bin/kbuildsycoca --global --noincremental &> /dev/null
- eend $?
- fi
-
# We no longer need to run kbuildsycoca4, as kded does that automatically, as needed
# fix permission for some directories
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
index 81b200af4f2..f6e2c82201d 100644
--- a/eclass/kde4-meta.eclass
+++ b/eclass/kde4-meta.eclass
@@ -70,12 +70,14 @@ debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after metapackage-sp
# Useful to build kde4-meta style stuff from extragear/playground (plasmoids etc)
case ${BUILD_TYPE} in
live)
- case ${KMNAME} in
- extragear*|playground*)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
- ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
- ;;
- esac
+ if [[ "${KDE_SCM}" == "svn" ]]; then
+ case ${KMNAME} in
+ extragear*|playground*)
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
+ ESVN_PROJECT="${KMNAME}${ESVN_PROJECT_SUFFIX}"
+ ;;
+ esac
+ fi
;;
esac
@@ -145,12 +147,17 @@ kde4-meta_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
if [[ ${BUILD_TYPE} = live ]]; then
- migrate_store_dir
- S="${WORKDIR}/${P}"
- mkdir -p "${S}"
- ESVN_RESTRICT="export" subversion_src_unpack
- subversion_wc_info
- subversion_bootstrap
+ if [[ "$KDE_SCM" == "svn" ]]; then
+ migrate_store_dir
+ S="${WORKDIR}/${P}"
+ mkdir -p "${S}"
+ ESVN_RESTRICT="export" subversion_src_unpack
+ subversion_wc_info
+ subversion_bootstrap
+ elif [[ "${KDE_SCM}" == "git" ]]; then
+ ??
+ fi
+
kde4-meta_src_extract
else
kde4-meta_src_extract