summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2009-03-09 20:40:46 +0100
committerTomas Chvatal <scarabeus@gentoo.org>2009-03-09 20:42:24 +0100
commitebf3a2b35050dea9c765e594cf05ad114b28b8b3 (patch)
tree8a261f1690e0fd633c9a868e442f42d7cf9ec588 /eclass
parent437deba8561a7c637d9c2b7ef5e541be0ea67e06 (diff)
downloadkde-ebf3a2b35050dea9c765e594cf05ad114b28b8b3.tar.gz
kde-ebf3a2b35050dea9c765e594cf05ad114b28b8b3.tar.bz2
kde-ebf3a2b35050dea9c765e594cf05ad114b28b8b3.zip
Synced with the tree.
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kde4-base.eclass705
-rw-r--r--eclass/kde4-functions.eclass282
-rw-r--r--eclass/kde4-meta.eclass696
3 files changed, 0 insertions, 1683 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
deleted file mode 100644
index 4dc4c673a68..00000000000
--- a/eclass/kde4-base.eclass
+++ /dev/null
@@ -1,705 +0,0 @@
-# Copyright 2007-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-# @ECLASS: kde4-base.eclass
-# @MAINTAINER:
-# kde@gentoo.org
-# @BLURB: This eclass provides functions for kde 4.X ebuilds
-# @DESCRIPTION:
-# 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.
-
-inherit base cmake-utils eutils kde4-functions
-
-get_build_type
-if [[ ${BUILD_TYPE} = live ]]; then
- inherit subversion
-fi
-
-EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
-
-# @FUNCTION: kde4-base_set_qt_dependencies
-# @DESCRIPTION:
-# Set qt dependencies. And use opengl based on OPENGL_REQUIRED variable.
-kde4-base_set_qt_dependencies() {
- local qtdepend qtopengldepend
-
- qtdepend="
- x11-libs/qt-core:4[qt3support,ssl]
- x11-libs/qt-gui:4[accessibility,dbus]
- x11-libs/qt-qt3support:4[accessibility]
- x11-libs/qt-script:4
- x11-libs/qt-sql:4[qt3support]
- x11-libs/qt-svg:4
- x11-libs/qt-test:4
- "
- qtwebkitdepend="
- x11-libs/qt-webkit:4
- "
- qtopengldepend="
- x11-libs/qt-opengl:4
- "
-
- case ${WEBKIT_REQUIRED} in
- always)
- qtdepend="${qtdepend}
- ${qtwebkitdepend}"
- ;;
- optional)
- IUSE="${IUSE} webkit"
- qtdepend="${qtdepend}
- webkit? ( ${qtwebkitdepend} )
- "
- ;;
- *) WEBKIT_REQUIRED="never" ;;
- esac
- # opengl dependencies
- case ${OPENGL_REQUIRED} in
- always)
- qtdepend="${qtdepend}
- ${qtopengldepend}
- "
- ;;
- optional)
- IUSE="${IUSE} opengl"
- qtdepend="${qtdepend}
- opengl? ( ${qtopengldepend} )
- "
- ;;
- *) OPENGL_REQUIRED="never" ;;
- esac
-
- COMMONDEPEND="${COMMONDEPEND} ${qtdepend}"
-}
-
-if [[ ${NEED_KDE} != "none" ]] ; then
- # Qt
- kde4-base_set_qt_dependencies
-
- # Xorg
- COMMONDEPEND="${COMMONDEPEND}
- >=x11-base/xorg-server-1.5.2
- "
-
- # X11 libs
- COMMONDEPEND="${COMMONDEPEND}
- x11-libs/libXext
- x11-libs/libXt
- x11-libs/libXxf86vm
- "
-
- # localization deps
- # DISABLED UNTIL PMS decide correct approach :(
- if [[ -n ${KDE_LINGUAS} ]]; then
- LNG_DEP=""
- for _lng in ${KDE_LINGUAS}; do
- # there must be or due to issue if lingua is not present in kde-l10n so
- # it wont die but pick kde-l10n as-is.
- LNG_DEP="${LNG_DEP}
- || ( kde-base/kde-l10n[linguas_${_lng},kdeprefix=] kde-base/kde-l10n[kdeprefix=] )"
- done
- fi
-
- # Set common dependencies for all ebuilds that inherit this eclass
- DEPEND="${DEPEND} ${COMMONDEPEND}
- >=dev-util/cmake-2.6.2
- dev-util/pkgconfig
- >=sys-apps/sandbox-1.3.2
- "
- RDEPEND="${RDEPEND} ${COMMONDEPEND}"
-fi # NEED_KDE != NONE block
-
-if [[ $BUILD_TYPE = live ]]; then
- # Disable tests for live ebuilds
- RESTRICT="${RESTRICT} test"
- # Live ebuilds in kde-base default to kdeprefix by default
- IUSE="${IUSE} +kdeprefix"
-else
- # All other ebuild types default to -kdeprefix as before
- IUSE="${IUSE} kdeprefix"
-fi
-
-# @ECLASS-VARIABLE: OPENGL_REQUIRED
-# @DESCRIPTION:
-# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
-# This variable must be set before inheriting any eclasses. Defaults to 'never'.
-OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
-
-# @ECLASS-VARIABLE: WEBKIT_REQUIRED
-# @DESCRIPTION:
-# Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
-# This variable must be set before inheriting any eclasses. Defaults to 'never'.
-WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
-
-# @ECLASS-VARIABLE: CPPUNIT_REQUIRED
-# @DESCRIPTION:
-# Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
-# This variable must be set before inheriting any eclasses. Defaults to 'never'.
-CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
-
-case ${CPPUNIT_REQUIRED} in
- always)
- DEPEND="${DEPEND}
- dev-util/cppunit
- "
- ;;
- optional)
- IUSE="${IUSE} test"
- DEPEND="${DEPEND}
- test? ( dev-util/cppunit )
- "
- ;;
- *)
- CPPUNIT_REQUIRED="never"
- ;;
-esac
-
-# @ECLASS-VARIABLE: NEED_KDE
-# @DESCRIPTION:
-# This variable sets the version of KDE4 which will be used by the eclass.
-# For kde-base packages, if it is not set by the ebuild,
-# it's assumed that the required KDE4 version is the latest available.
-# For non kde-base packages, it is also set to the latest by default.
-#
-# For more precise adjustments or for specifying particular kde version,
-# KDE_MINIMAL variable can be used.
-#
-# @CODE
-# Acceptable values are:
-# - latest - Use latest version in the portage tree
-# Default for kde-base ebuilds.
-# - live - Use live release (live ebuilds)
-# - none - Let the ebuild handle SLOT, kde dependencies, KDEDIR, ...
-# - 4.2, 4.1, kde-4 - respective slots for kde versions
-# @CODE
-# Note: default NEED_KDE is latest
-NEED_KDE="${NEED_KDE:=latest}"
-export NEED_KDE
-
-# @ECLASS-VARIABLE: KDE_MINIMAL
-# @DESCRIPTION:
-# This wariable is used when NEED_KDE="latest" is set, to specify the
-# required KDE minimal version for which apps will work.
-# @CODE
-# KDE_MINIMAL="-4.1"
-# @CODE
-# Note: default minimal version is kde-4.1, which means that the apps will work
-# with any KDE version >=${KDE_MINIMAL}
-KDE_MINIMAL="${KDE_MINIMAL:=4.2}"
-export KDE_MINIMAL
-
-# FIXME: the code section, explanation of live. The last sentence needs other
-# formulation too.
-#
-# @ECLASS-VARIABLE: KDE_WANTED
-# @DESCRIPTION:
-# When NEED_KDE=latest is inherited, KDE_WANTED serves to indicate the prefered kde
-# version. It's value is looked for before any other. Useful when having more
-# +kdeprefix installs: you can choose which kde version, if present, to link
-# against.
-#
-# @CODE
-# Acceptable values are:
-# stable = whatever is main tree (now 4.1)
-# testing = whatever is in testing on main tree
-# snapshot = whatever is released under snapshots (4.2 at present)
-# live = live svn ebuilds, also default value, do not be scared it goes in this
-#
-# order: live->snapshot->testing->stable, when searching for kde. This way we
-# allow users to use just kde4snapshots and use software from the tree.
-KDE_WANTED="${KDE_WANTED:=live}"
-export KDE_WANTED
-
-case ${NEED_KDE} in
- latest)
- if [[ $KDEBASE = kde-base ]]; then
- case ${PV} in
- 4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
- _kdedir="4.3"
- _pv="-${PV}:4.3"
- _pvn="-${PV}"
- ;;
- 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
- _kdedir="4.2"
- _pv="-${PV}:4.2"
- _pvn="-${PV}"
- ;;
- 4.1*| 4.0.9* | 4.0.8*)
- _kdedir="4.1"
- _pv="-${PV}:4.1"
- _pvn="-${PV}"
- ;;
- 4.0*)
- _kdedir="4.0"
- _pv="-${PV}:kde-4"
- _pvn="-${PV}"
- ;;
- 3.9*)
- _kdedir="3.9"
- _pv="-${PV}:kde-4"
- _pvn="-${PV}"
- ;;
- 9999*)
- _kdedir="live"
- _pv="-${PV}:live"
- _pvn="-${PV}"
- ;;
- *)
- die "NEED_KDE=latest not supported for PV=${PV}" ;;
- esac
- _operator=">="
- else
- # this creates dependency on any version of kde4
- _operator=">="
- _pv="-${KDE_MINIMAL}"
- _pvn=${_pv}
- fi
- ;;
-
- # NEED_KDE="${PV}"
- scm|svn|live|9999*)
- _kdedir="live"
- _operator=">="
- _pv="-${NEED_KDE}:live"
- _pvn="-${NEED_KDE}"
- export NEED_KDE="live"
- ;;
- 4.3 | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
- _kdedir="4.3"
- _pv="-${NEED_KDE}:4.3"
- _pvn="-${NEED_KDE}"
- _operator=">="
- ;;
- 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*)
- _kdedir="4.2"
- _pv="-${NEED_KDE}:4.2"
- _pvn="-${NEED_KDE}"
- _operator=">="
- ;;
- 4.1 | 4.0.9* | 4.0.8*)
- _kdedir="4.1"
- _pv="-${NEED_KDE}:4.1"
- _pvn="-${NEED_KDE}"
- _operator=">="
- ;;
- 4.0* | 4)
- _kdedir="4.0"
- _operator=">="
- _pv="-${NEED_KDE}:kde-4"
- _pvn="-${NEED_KDE}"
- ;;
- 3.9*)
- _kdedir="3.9"
- _operator=">="
- _pv="-${NEED_KDE}:kde-4"
- _pvn="-${NEED_KDE}"
- ;;
-
- # The ebuild handles dependencies, KDEDIR, SLOT.
- none)
- :
- ;;
-
- *)
- die "NEED_KDE=${NEED_KDE} currently not supported."
- ;;
-esac
-
-if [[ ${NEED_KDE} != none ]]; then
- #Set the SLOT
- if [[ -n ${KDEBASE} ]]; then
- if [[ ${NEED_KDE} = live ]]; then
- SLOT="live"
- else
- case ${KMNAME} in
- koffice)
- case ${PV} in
- 9999*) SLOT="live" ;;
- *) SLOT="2" ;;
- esac
- ;;
- kdevelop)
- case ${PV} in
- 9999*) SLOT="live" ;;
- 4.0*|3.9*) SLOT="4" ;;
- esac
- ;;
- kdevplatform)
- case ${PV} in
- 9999*) SLOT="live" ;;
- 1.0*|0.9*) SLOT="1" ;;
- esac
- ;;
- *)
- case ${PV} in
- 9999*) SLOT="live" ;;
- 4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
- 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
- 4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
- *) SLOT="4.1" ;;
- esac
- ;;
- esac
- fi
- fi
-
- # Block installation of other SLOTS unless kdeprefix
- for KDE_SLOT in ${KDE_SLOTS[@]}; do
- # block non kdeprefix ${PN} on other slots
- # we do this only if we do not depend on any version of kde
- if [[ ${SLOT} != ${KDE_SLOT} ]]; then
- RDEPEND="${RDEPEND}
- !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )
- "
- fi
- done
-
- # Adding kdelibs and kdebase-data deps to all other packages.
- if [[ ${PN} != kdelibs ]]; then
- DEPEND="${DEPEND}
- kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
- !kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
- "
- RDEPEND="${RDEPEND}
- kdeprefix? ( ${_operator}kde-base/kdelibs${_pv}[kdeprefix] )
- !kdeprefix? ( ${_operator}kde-base/kdelibs${_pvn}[-kdeprefix] )
- "
- if [[ ${PN} != kdepimlibs && ${PN} != kdebase-data ]]; then
- RDEPEND="${RDEPEND}
- kdeprefix? ( ${_operator}kde-base/kdebase-data${_pv}[kdeprefix] )
- !kdeprefix? ( ${_operator}kde-base/kdebase-data${_pvn}[-kdeprefix] )
- "
- fi
- fi
- unset _operator _pv _pvn
-fi
-
-# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
-# koffice ebuild, the URI should be set in the ebuild itself
-case ${BUILD_TYPE} in
- live)
- SRC_URI=""
- ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
- # Split ebuild, or extragear stuff
- if [[ -n ${KMNAME} ]]; then
- ESVN_PROJECT="${KMNAME}"
- 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}/trunk/KDE/kdebase/${KMNAME#kdebase-}"
- ;;
- kdereview)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
- ;;
- kde*)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}"
- ;;
- extragear*|playground*)
- ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
- ;;
- 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}/trunk/KDE/${PN}"
- ESVN_PROJECT="${PN}"
- fi
- # limit syncing to 1 hour.
- ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
- ;;
- *)
- 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}"
- if [[ $NEED_KDE != live ]]; then
- case ${KDEBASE} in
- kde-base)
- case ${PV} in
- 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
- SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
- 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
- SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
- *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
- esac
- ;;
- koffice)
- SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
- ;;
- esac
- fi
- unset _kmname _kmname_pv
- fi
- ;;
-esac
-
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
-
-# @ECLASS-VARIABLE: PREFIX
-# @DESCRIPTION:
-# Set the installation PREFIX. All kde-base ebuilds go into the KDE4 installation directory.
-# Applications installed by the other ebuilds go into ${KDEDIR} by default, this value
-# can be superseded by defining PREFIX before inheriting kde4-base.
-# This value is set on pkg_setup
-PREFIX=""
-
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - NEED_KDE ${NEED_KDE}"
-
-# @FUNCTION: kde4-base_pkg_setup
-# @DESCRIPTION:
-# Adds flags needed by all of KDE 4 to $QT4_BUILT_WITH_USE_CHECK. Uses
-# kde4-functions_check_use from kde4-functions.eclass to print appropriate
-# errors and die if any required flags listed in $QT4_BUILT_WITH_USE_CHECK or
-# $KDE4_BUILT_WITH_USE_CHECK are missing.
-kde4-base_pkg_setup() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Don't set KDEHOME during compile, it will cause access violations
- unset KDEHOME
-
- # Search for best suitable kde installation for misc kde package.
- # Computation based on NEED_KDE and KDE_MINIMAL
- [[ ${KDEBASE} != kde-base ]] && [[ ${NEED_KDE} = latest || ${NEED_KDE} = none ]] && get_latest_kdedir
-
- # Set PREFIX
- if use kdeprefix; then
- KDEDIR="/usr/kde/${_kdedir}"
- KDEDIRS="/usr/local/:/usr:${KDEDIR}"
- else
- KDEDIR="/usr"
- KDEDIRS="/usr/local/:/usr"
- fi
- # Set the prefix based on KDEDIR
- # Make it a consequence of kdeprefix
- PREFIX=${KDEDIR}
-
- unset _kdedir
-
- # check if qt has correct deps
- [[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \
- die "built_with_use illegal in this EAPI!"
-
- if [[ ${BUILD_TYPE} = live && -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
- echo
- elog "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
- elog "Use it at your own risk."
- elog "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
- echo
- fi
-}
-
-# @FUNCTION: kde4-base_src_unpack
-# @DESCRIPTION:
-# This function unpacks the source tarballs for KDE4 applications.
-kde4-base_src_unpack() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ ${BUILD_TYPE} = live ]]; then
- migrate_store_dir
- subversion_src_unpack
- else
- base_src_unpack
- fi
-}
-
-# @FUNCTION: kde4-base_src_compile
-# @DESCRIPTION:
-# General pre-configure and pre-compile function for KDE4 applications.
-# It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
-# enable_selected_linguas() in kde4-functions.eclass(5) for further details.
-kde4-base_src_prepare() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Only enable selected languages, used for KDE extragear apps.
- if [[ -n ${KDE_LINGUAS} ]]; then
- enable_selected_linguas
- fi
-
- base_src_prepare
-
- # Save library dependencies
- if [[ -n ${KMSAVELIBS} ]] ; then
- save_library_dependencies
- fi
-
- # Inject library dependencies
- if [[ -n ${KMLOADLIBS} ]] ; then
- load_library_dependencies
- fi
-}
-
-# @FUNCTION: kde4-base_src_configure
-# @DESCRIPTION:
-# Function for configuring the build of KDE4 applications.
-kde4-base_src_configure() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Handle common release builds
- if ! has debug ${IUSE//+} || ! use debug; then
- append-cppflags -DQT_NO_DEBUG
- fi
-
- # Enable generation of HTML handbook
- if has htmlhandbook ${IUSE//+} && use htmlhandbook; then
- ebegin "Enabling building of HTML handbook"
- mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_HTMLHANDBOOK=ON"
- eend $?
- fi
-
- # Build tests in src_test only, where we override this value
- mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=OFF"
-
- # Set distribution name
- [[ ${PN} = kdelibs ]] && mycmakeargs="${mycmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
-
- # runpath linking
- mycmakeargs="${mycmakeargs} -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
-
- # Here we set the install prefix
- mycmakeargs="${mycmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
-
- # If prefix is /usr, sysconf needs to be /etc, not /usr/etc
- use kdeprefix || mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
-
- # Set environment
- QTEST_COLORED=1
- QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
-
- # Hardcode path to *.pc KDE files
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
-
- # Override some environment variables
- PATH="${KDEDIR}/bin:${PATH}"
- LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
-
- # Set cmake prefixes to allow buildsystem to localize valid KDE installation when more are present
- if use kdeprefix; then
- mycmakeargs="${mycmakeargs}
- -DCMAKE_SYSTEM_INCLUDE_PATH=${KDEDIR}/include
- -DCMAKE_SYSTEM_LIBRARY_PATH=${KDEDIR}/$(get_libdir)
- -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}
- -DCMAKE_SYSTEM_PROGRAM_PATH=${KDEDIR}/bin"
- fi
-
- [ -e CMakeLists.txt ] && cmake-utils_src_configure
-}
-
-# @FUNCTION: kde4-base_src_compile
-# @DESCRIPTION:
-# General function for compiling KDE4 applications.
-kde4-base_src_compile() {
- debug-print-function ${FUNCNAME} "$@"
-
- kde4-base_src_make
-}
-
-# @FUNCTION: kde4-base_src_make
-# @DESCRIPTION:
-# Function for building KDE4 applications.
-# Options are passed to cmake-utils_src_make.
-kde4-base_src_make() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ -d "$WORKDIR/${PN}_build" ]]; then
- pushd "${WORKDIR}/${PN}_build" > /dev/null
- fi
- [ -e [Mm]akefile ] && cmake-utils_src_make "$@"
-}
-
-# @FUNCTION: kde4-base_src_test
-# @DESCRIPTION:
-# Function for testing KDE4 applications.
-kde4-base_src_test() {
- debug-print-function ${FUNCNAME} "$@"
-
- # Override this value, set in kde4-base_src_configure()
- mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=ON"
- cmake-utils_src_configure
- kde4-base_src_compile
-
- cmake-utils_src_test
-}
-
-# @FUNCTION: kde4-base_src_install
-# @DESCRIPTION:
-# Function for installing KDE4 applications.
-kde4-base_src_install() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ -n ${KMSAVELIBS} ]] ; then
- install_library_dependencies
- fi
-
- kde4-base_src_make_doc
- if [[ -d "$WORKDIR/${PN}_build" ]]; then
- pushd "${WORKDIR}/${PN}_build" > /dev/null
- fi
- [ -e [Mm]akefile ] && cmake-utils_src_install
-}
-
-# @FUNCTION: kde4-base_src_make_doc
-# @DESCRIPTION:
-# Function for installing the documentation of KDE4 applications.
-kde4-base_src_make_doc() {
- debug-print-function ${FUNCNAME} "$@"
-
- local doc
- for doc in AUTHORS ChangeLog* README* NEWS TODO; do
- [[ -s ${doc} ]] && dodoc ${doc}
- done
-
- if [[ -z ${KMNAME} ]]; then
- for doc in {apps,runtime,workspace,.}/*/{AUTHORS,README*}; do
- if [[ -s ${doc} ]]; then
- local doc_complete=${doc}
- doc="${doc#*/}"
- newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
- fi
- done
- fi
-
- if [[ -n ${KDEBASE} && -d "${D}/usr/share/doc/${PF}" ]]; then
- # work around bug #97196
- dodir /usr/share/doc/kde && \
- mv "${D}/usr/share/doc/${PF}" "${D}"/usr/share/doc/kde/ || \
- die "Failed to move docs to kde/ failed."
- fi
-}
-
-# @FUNCTION: kde4-base_pkg_postinst
-# @DESCRIPTION:
-# Function to rebuild the KDE System Configuration Cache after an application has been installed.
-kde4-base_pkg_postinst() {
- debug-print-function ${FUNCNAME} "$@"
-
- buildsycoca
-}
-
-# @FUNCTION: kde4-base_pkg_postrm
-# @DESCRIPTION:
-# Function to rebuild the KDE System Configuration Cache after an application has been removed.
-kde4-base_pkg_postrm() {
- debug-print-function ${FUNCNAME} "$@"
-
- buildsycoca
-}
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
deleted file mode 100644
index 89559e9c727..00000000000
--- a/eclass/kde4-functions.eclass
+++ /dev/null
@@ -1,282 +0,0 @@
-# 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.12 2009/02/10 20:07:24 scarabeus Exp $
-
-# @ECLASS: kde4-functions.eclass
-# @MAINTAINER:
-# kde@gentoo.org
-# @BLURB: Common ebuild functions for KDE 4 packages
-# @DESCRIPTION:
-# This eclass contains all functions shared by the different eclasses,
-# for KDE 4 ebuilds.
-
-# @ECLASS-VARIABLE: EAPI
-# @DESCRIPTION:
-# By default kde4 eclasses wants eapi 2 which might be redefinable to newer
-# versions.
-case ${EAPI:-0} in
- 2) : ;;
- *) die "No way! EAPI other than 2 is not supported for now." ;;
-esac
-
-# @ECLASS-VARIABLE: KDEBASE
-# @DESCRIPTION:
-# This gets set to a non-zero value when a package is considered a kde or
-# koffice ebuild.
-
-if [[ $CATEGORY = kde-base ]]; then
- debug-print "${ECLASS}: KDEBASE ebuild recognized"
- KDEBASE=kde-base
-fi
-
-# is this a koffice ebuild?
-if [[ $KMNAME = koffice || $PN = koffice ]]; then
- debug-print "${ECLASS}: KOFFICE ebuild recognized"
- KDEBASE=koffice
-fi
-
-# @ECLASS-VARIABLE: KDE_SLOTS
-# @DESCRIPTION:
-# The slots used by all KDE versions later than 4.0. The live-ebuilds use
-# KDE_LIVE_SLOTS instead.
-KDE_SLOTS=( kde-4 4.1 4.2 4.3 )
-
-# @ECLASS-VARIABLE: KDE_LIVE_SLOTS
-# @DESCRIPTION:
-# The slots used by all KDE live versions.
-KDE_LIVE_SLOTS=( live )
-
-# @FUNCTION: buildsycoca
-# @DESCRIPTION:
-# Function to rebuild the KDE System Configuration Cache.
-# All KDE ebuilds should run this in pkg_postinst and pkg_postrm.
-#
-# Note that kde4-base.eclass already does this.
-buildsycoca() {
- debug-print-function ${FUNCNAME} "$@"
-
- if [[ -z ${ROOT%%/} && -x ${KDEDIR}/bin/kbuildsycoca4 ]]; then
- # Make sure tha cache file exists, or kbuildsycoca4 will fail
- touch "${KDEDIR}/share/kde4/services/ksycoca4"
-
- # We have to unset DISPLAY and DBUS_SESSION_BUS_ADDRESS, the ones
- # in the user's environment (through su [without '-']) may cause
- # kbuildsycoca4 to hang.
-
- ebegin "Running kbuildsycoca4 to build global database"
- # This is needed because we support multiple kde versions installed together.
- XDG_DATA_DIRS="/usr/share:${KDEDIR}/share:/usr/local/share" \
- DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
- ${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
- eend $?
- fi
-}
-
-# @FUNCTION: comment_all_add_subdirectory
-# @USAGE: [list of directory names]
-# @DESCRIPTION:
-# Recursively comment all add_subdirectory instructions in listed directories,
-# except those in cmake/.
-comment_all_add_subdirectory() {
- find "$@" -name CMakeLists.txt -print0 | grep -vFzZ "./cmake" | \
- xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' -e '/ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' || \
- die "${LINENO}: Initial sed died"
-}
-
-# @ECLASS-VARIABLE: KDE_LINGUAS
-# @DESCRIPTION:
-# This is a whitespace-separated list of translations this ebuild supports.
-# These translations are automatically added to IUSE. Therefore ebuilds must set
-# this variable before inheriting any eclasses. To enable only selected
-# translations, ebuilds must call enable_selected_linguas(). kde4-base.eclass does
-# this for you.
-#
-# Example: KDE_LINGUAS="en_GB de nl"
-for _lingua in ${KDE_LINGUAS}; do
- IUSE="${IUSE} linguas_${_lingua}"
-done
-
-# @FUNCTION: enable_selected_linguas
-# @DESCRIPTION:
-# Enable translations based on LINGUAS settings and translations supported by
-# the package (see KDE_LINGUAS). By default, translations are found in "${S}"/po
-# but this default can be overridden by defining KDE_LINGUAS_DIR.
-enable_selected_linguas() {
- local lingua sr_mess wp
-
- # ebuild overridable linguas directory definition
- KDE_LINGUAS_DIR=${KDE_LINGUAS_DIR:=${S}/po}
- cd "$KDE_LINGUAS_DIR" || die "wrong linguas dir specified"
-
- # fix all various crazy sr@Latn variations
- # this part is only ease for ebuilds, so there wont be any die when this
- # fail at any point
- sr_mess="sr@latn sr@latin sr@Latin"
- for wp in ${sr_mess}; do
- [[ -e "$wp.po" ]] && mv "$wp.po" "sr@Latn.po"
- if [[ -d "$wp" ]]; then
- # move dir and fix cmakelists
- mv "$wp" "sr@Latn"
- sed -i \
- -e "s:$wp:sr@Latin:g" \
- CMakeLists.txt
- fi
- done
-
- for lingua in ${KDE_LINGUAS}; do
- if [[ -e "$lingua.po" ]]; then
- mv "$lingua.po" "$lingua.po.old"
- fi
- done
- comment_all_add_subdirectory "${KDE_LINGUAS_DIR}"
- for lingua in ${LINGUAS}; do
- ebegin "Enabling LANGUAGE: ${lingua}"
- if [[ -d "$lingua" ]]; then
- sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
- -e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
- -i CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
- fi
- if [[ -e "$lingua.po.old" ]]; then
- mv "$lingua.po.old" "$lingua.po"
- fi
- eend $?
- done
-}
-
-# @FUNCTION: get_build_type
-# @DESCRIPTION:
-# Determine whether we are using live ebuild or tbzs.
-get_build_type() {
- if [[ $SLOT = live || $PV = 9999* ]]; then
- BUILD_TYPE="live"
- else
- BUILD_TYPE="release"
- fi
- export BUILD_TYPE
-}
-
-# @FUNCTION: get_latest_kdedir
-# @DESCRIPTION:
-# We set up KDEDIR according to the latest KDE version installed; installing our
-# package for all available installs is just insane.
-# We can check for kdelibs because it is the most basic package; no KDE package
-# working without it. This might be changed in future.
-get_latest_kdedir() {
- case ${KDE_WANTED} in
- # note this will need to be updated as stable moves and so on
- live)
- _versions="9999 4.2.61 4.2.0 4.1.0"
- ;;
- snapshot)
- _versions="4.2.61 4.2.0 4.1.0 9999"
- ;;
- testing)
- _versions="4.2.0 4.1.0 4.2.61 9999"
- ;;
- stable)
- _versions="4.2.0 4.1.0 4.1.61 9999"
- ;;
- *) die "KDE_WANTED=${KDE_WANTED} not supported here." ;;
- esac
- # check if exists and fallback as we go
- for X in ${_versions}; do
- if has_version ">=kde-base/kdelibs-${X}"; then
- # figure out which X we are in and set it into _kdedir
- case ${X} in
- # also keep track here same for kde_wanted
- 9999)
- _kdedir="live"
- break
- ;;
- 4.3.0 | 4.2.61)
- _kdedir="4.3"
- break
- ;;
- 4.2.0 | 4.1.61)
- _kdedir="4.2"
- break
- ;;
- 4.1.0)
- _kdedir="4.1"
- break
- ;;
- esac
- fi
- done
-
- debug-print-function ${FUNCNAME} "$@" "KDE_WANTED=${KDE_WANTED} -> _kdedir=${_kdedir}"
-}
-
-# @FUNCTION: migrate_store_dir
-# @DESCRIPTION:
-# Migrate the remnants of ${ESVN_STORE_DIR}/KDE/ to ${ESVN_STORE_DIR}/.
-# Perform experimental split of kdebase to kdebase-apps.
-migrate_store_dir() {
- local cleandir
- cleandir="${ESVN_STORE_DIR}/KDE"
- if [[ -d "${cleandir}" ]]; then
- ewarn "'${cleandir}' has been found. Moving contents to new location."
- addwrite "${ESVN_STORE_DIR}"
- # Split kdebase
- local module
- if pushd "${cleandir}"/kdebase/kdebase > /dev/null; then
- for module in `find . -maxdepth 1 -type d -name [a-z0-9]\*`; do
- module="${module#./}"
- mkdir -p "${ESVN_STORE_DIR}/kdebase-${module}" && mv -f "${module}" "${ESVN_STORE_DIR}/kdebase-${module}" || \
- die "Failed to move to '${ESVN_STORE_DIR}/kdebase-${module}'."
- done
- popd > /dev/null
- rm -fr "${cleandir}/kdebase" || \
- die "Failed to remove ${cleandir}/kdebase. You need to remove it manually."
- fi
- # Move the rest
- local pkg
- for pkg in "${cleandir}"/*; do
- mv -f "${pkg}" "${ESVN_STORE_DIR}"/ || eerror "failed to move ${pkg}"
- done
- rmdir "${cleandir}" || die "Could not move obsolete KDE store dir. Please move '${cleandir}' contents to appropriate location (possibly ${ESVN_STORE_DIR}) and manually remove '${cleandir}' in order to continue."
- fi
-}
-
-# Functions handling KMLOADLIBS and KMSAVELIBS
-
-# @FUNCTION: save_library_dependencies
-# @DESCRIPTION:
-# Add exporting CMake dependencies for current package
-save_library_dependencies() {
- local depsfile="${T}/${PN}:${SLOT}"
-
- ebegin "Saving library dependendencies in ${depsfile##*/}"
- echo "EXPORT_LIBRARY_DEPENDENCIES(\"${depsfile}\")" >> "${S}/CMakeLists.txt" || \
- die "Failed to save the library dependencies."
- eend $?
-}
-
-# @FUNCTION: install_library_dependencies
-# @DESCRIPTION:
-# Install generated CMake library dependencies to /var/lib/kde
-install_library_dependencies() {
- local depsfile="$T/$PN:$SLOT"
- ebegin "Installing library dependendencies as ${depsfile##*/}"
- insinto /var/lib/kde
- doins "${depsfile}" || die "Failed to install library dependencies."
- eend $?
-}
-
-# @FUNCTION: load_library_dependencies
-# @DESCRIPTION:
-# Inject specified library dependencies in current package
-load_library_dependencies() {
- local pn i depsfile
- ebegin "Injecting library dependendencies from '${KMLOADLIBS}'"
-
- i=0
- for pn in ${KMLOADLIBS} ; do
- ((i++))
- depsfile="/var/lib/kde/${pn}:${SLOT}"
- [[ -r "${depsfile}" ]] || die "Depsfile '${depsfile}' not accessible. You probably need to reinstall ${pn}."
- sed -i -e "${i}iINCLUDE(\"${depsfile}\")" "${S}/CMakeLists.txt" || \
- die "Failed to include library dependencies for ${pn}"
- done
- eend $?
-}
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
deleted file mode 100644
index 18f47d8e5e0..00000000000
--- a/eclass/kde4-meta.eclass
+++ /dev/null
@@ -1,696 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-#
-# @ECLASS: kde4-meta.eclass
-# @MAINTAINER:
-# kde@gentoo.org
-# @BLURB: Eclass for writing "split" KDE packages.
-# @DESCRIPTION:
-# This eclass provides all necessary functions for writing split KDE ebuilds.
-#
-# You must define KMNAME to use this eclass, and do so before inheriting it. All other variables are optional.
-# Do not include the same item in more than one of KMMODULE, KMMEXTRA, KMCOMPILEONLY, KMEXTRACTONLY.
-
-inherit kde4-base versionator
-
-EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
-
-if [[ -z ${KMNAME} ]]; then
- die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild"
-fi
-
-case ${KDEBASE} in
- kde-base)
- HOMEPAGE="http://www.kde.org/"
- LICENSE="GPL-2"
- ;;
- koffice)
- HOMEPAGE="http://www.koffice.org/"
- LICENSE="GPL-2"
- ;;
-esac
-
-# Add dependencies that all packages in a certain module share.
-case ${KMNAME} in
- kdebase|kdebase-{apps,workspace,runtime})
- DEPEND="${DEPEND}
- >=kde-base/qimageblitz-0.0.4
- "
- RDEPEND="${RDEPEND}
- >=kde-base/qimageblitz-0.0.4
- "
- ;;
- kdenetwork)
- DEPEND="${DEPEND}
- >=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
- "
- RDEPEND="${RDEPEND}
- >=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
- "
- ;;
- kdepim)
- DEPEND="${DEPEND}
- dev-libs/boost
- >=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
- "
- RDEPEND="${RDEPEND}
- dev-libs/boost
- >=kde-base/kdepimlibs-${PV}:${SLOT}[kdeprefix=]
- "
- case ${PN} in
- akregator|kaddressbook|kjots|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
- IUSE="+kontact"
- RDEPEND="${RDEPEND}
- kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT}[kdeprefix=] )
- "
- ;;
- esac
- ;;
- kdegames)
- if [[ ${PN} != libkdegames ]]; then
- DEPEND="${DEPEND}
- >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]
- "
- RDEPEND="${RDEPEND}
- >=kde-base/libkdegames-${PV}:${SLOT}[kdeprefix=]
- "
- fi
- ;;
- koffice)
- [[ ${PN} != koffice-data ]] && IUSE="debug"
- case ${PV} in
- 9999*)
- DEPEND="${DEPEND}
- !app-office/${PN}:2
- "
- ;;
- 1.9*|2*)
- DEPEND="${DEPEND}
- !app-office/${PN}:live
- "
- ;;
- esac
- DEPEND="${DEPEND}
- !app-office/${PN}:0
- !app-office/koffice:0
- !app-office/koffice-meta:0
- "
- case ${PN} in
- koffice-data)
- DEPEND="${DEPEND}
- media-libs/lcms
- "
- RDEPEND="${RDEPEND}
- media-libs/lcms
- "
- ;;
- *)
- COMMON_DEPEND="
- dev-cpp/eigen:2
- media-gfx/imagemagick[openexr?]
- media-libs/fontconfig
- media-libs/freetype:2
- "
- DEPEND="${DEPEND} ${COMMON_DEPEND}"
- RDEPEND="${RDEPEND} ${COMMON_DEPEND}"
- unset COMMON_DEPEND
- if [[ ${PN} != koffice-libs && ${PN} != koffice-data ]]; then
- DEPEND="${DEPEND}
- >=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]
- "
- RDEPEND="${RDEPEND}
- >=app-office/koffice-libs-${PV}:${SLOT}[kdeprefix=]
- "
- fi
- ;;
- esac
- ;;
-esac
-
-debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after metapackage-specific dependencies"
-debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after metapackage-specific dependencies"
-
-# Useful to build kde4-meta style stuff from extragear/playground (plasmoids etc)
-case ${SLOT} in
- live)
- case ${KMNAME} in
- extragear*|playground*)<