diff options
Diffstat (limited to 'eclass')
| -rw-r--r-- | eclass/kde4-base.eclass | 814 | ||||
| -rw-r--r-- | eclass/kde4-functions.eclass | 570 | ||||
| -rw-r--r-- | eclass/kde4-meta.eclass | 746 |
3 files changed, 0 insertions, 2130 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass deleted file mode 100644 index fa6ad2746cf..00000000000 --- a/eclass/kde4-base.eclass +++ /dev/null @@ -1,814 +0,0 @@ -# Copyright 2007-2008 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 monolithic ebuilds -# and KDE4 applications. -# -# NOTE: This eclass uses the SLOT dependencies from EAPI="1" or compatible, -# and use deps from EAPI="2", hence you must define EAPI="2" in the ebuild, -# before inheriting any eclasses. - -inherit base cmake-utils eutils kde4-functions multilib - -case "${EAPI}" in - 2) - EXPORT_FUNCTIONS pkg_setup src_unpack src_configure src_compile src_test src_install pkg_postinst pkg_postrm - ;; - *) - EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm - ;; -esac - -# Set the qt dependencies -kde4-base_set_qt_dependencies() { - local qt qtcore qtgui qt3support qtdepend qtopengldepend - - # use dependencies - case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - - qt="[" - case "${OPENGL_REQUIRED}" in - always) - qt="${qt}opengl," - ;; - optional) - qt="${qt}opengl?," - ;; - esac - qt="${qt}accessibility,dbus,gif,jpeg,png,qt3support,ssl,zlib]" - qtcore="[qt3support,ssl]" - qtgui="[accessibility,dbus]" - qt3support="[accessibility]" - ;; - esac - - # split qt - qtdepend=" - x11-libs/qt-core:4${qtcore} - x11-libs/qt-gui:4${qtgui} - x11-libs/qt-qt3support:4${qt3support} - x11-libs/qt-script:4 - x11-libs/qt-svg:4 - x11-libs/qt-test:4" - qtopengldepend="x11-libs/qt-opengl:4" - - # allow monolithic qt for PV < 4.1 - case "${PV}" in - scm|9999*|4.2*|4.1.9*|4.1.8*|4.1.7*|4.1.6*|4.1*|4.0.9*|4.0.8*) : ;; - *) - qtdepend="|| ( ( ${qtdepend} ) >=x11-libs/qt-4.3.3:4${qt} )" - qtopengldepend="|| ( ${qtopengldepend} >=x11-libs/qt-4.3.3:4 )" - ;; - 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}" -} -kde4-base_set_qt_dependencies - -# Set the cmake dependencies -case "${PV}" in - 9999*|4.2*|4.1.9*|4.1.8*|4.1.7*|4.1.6*) - CMAKEDEPEND=">=dev-util/cmake-2.6" - ;; - *) - CMAKEDEPEND=">=dev-util/cmake-2.4.7-r1" - ;; -esac - -# Set the common dependencies -DEPEND="${DEPEND} ${COMMONDEPEND} ${CMAKEDEPEND} - dev-util/pkgconfig - x11-libs/libXt - x11-proto/xf86vidmodeproto" -RDEPEND="${RDEPEND} ${COMMONDEPEND}" - -# Add the kdeprefix use flag -case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - [[ "${NEED_KDE}" != "any" ]] && IUSE="${IUSE} kdeprefix" - ;; -esac - -# @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: 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. -# This variable must be set by the ebuild, for all categories except for "kde-base". -# For kde-base packages, if it is not set by the ebuild, -# it's assumed that the required KDE4 version is the latest, non-live, available. -# -# @CODE -# Acceptable values are: -# - latest - Use latest version in the portage tree -# Default for kde-base ebuilds. Banned for ebuilds not part of kde or koffice. -# - live - Use live release (live ebuilds) -# - :SLOT - Use any version in the SLOT specified in the NEED_KDE value. -# - VERSION_NUMBER - Use the minimum KDE4 version specified in the NEED_KDE value. -# - VERSION_NUMBER:SLOT - Use the minimum KDE4 version and the SLOT specified in the NEED_KDE value. -# - none - Let the ebuild handle SLOT, kde dependencies, KDEDIR, ... -# @CODE -# -# Note: There is no default NEED_KDE for ebuilds not in kde-base or part of -# koffice, so you must set it explicitly in the ebuild, in all other cases. -if [[ -z ${NEED_KDE} ]]; then - if [[ -n ${KDEBASE} ]]; then - NEED_KDE="latest" - else - die "kde4-base.eclass inherited but NEED_KDE not defined - broken ebuild" - fi -fi -export NEED_KDE - -case ${NEED_KDE} in - any) - _kdedir="" - _operator=">=" - _pv="-3.9" # we do not specify version only that it needs 4 - # kdedir is not set and it needs to be detected (maybe fallback for - # latest version availible) - ;; - latest) - # Should only be used by 'kde-base'-ebuilds - if [[ "${KDEBASE}" == "kde-base" ]]; then - case ${PV} in - 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) - _kdedir="4.2" - _pv="-${PV}:4.2" ;; - 4.1*| 4.0.9* | 4.0.8*) - _kdedir="4.1" - _pv="-${PV}:4.1" ;; - 4.0*) - _kdedir="4.0" - _pv="-${PV}:kde-4" ;; - 3.9*) - _kdedir="3.9" - _pv="-${PV}:kde-4" ;; - 9999*) - _kdedir="live" - _pv="-${PV}:live" ;; - *) - die "NEED_KDE=latest not supported for PV=${PV}" ;; - esac - _operator=">=" - else - case ${PV} in - 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* ) _kdedir="4.2" ;; - 4.1 | 4.0.9* | 4.0.8*) _kdedir="4.1" ;; - 4.0*) _kdedir="4.0" ;; - 3.9*) _kdedir="3.9" ;; - 9999*) _kdedir="live" ;; - *) die "NEED_KDE=latest not supported for PV=${PV}" ;; - esac - fi - ;; - - # NEED_KDE=":${SLOT}" - :live) - _kdedir="live" - _pv="-${NEED_KDE}" - export NEED_KDE="live" - ;; - :4.2) - _kdedir="4.2" - _pv="${NEED_KDE}" - ;; - :4.1) - _kdedir="4.1" - _pv="${NEED_KDE}" - ;; - :kde-4) - _kdedir="4.0" - _pv="${NEED_KDE}" - ;; - - # NEED_KDE="${PV}:${SLOT}" - *:live) - _kdedir="live" - _operator=">=" - _pv="-${NEED_KDE}" - export NEED_KDE="live" - ;; - *:4.2) - _kdedir="4.2" - _pv="-${NEED_KDE}" - ;; - *:4.1) - _kdedir="4.1" - _operator=">=" - _pv="-${NEED_KDE}" - ;; - *:kde-4) - _kdedir="4.0" - _operator=">=" - _pv="-${NEED_KDE}" - ;; - - # NEED_KDE="${PV}" - scm|svn|live|9999*) - _kdedir="live" - _operator=">=" - _pv="-${NEED_KDE}:live" - export NEED_KDE="live" - ;; - 4.2 | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) - _kdedir="4.2" - _operator=">=" - _pv="-${NEED_KDE}:4.2" - ;; - 4.1 | 4.0.9* | 4.0.8*) - _kdedir="4.1" - _operator=">=" - _pv="-${NEED_KDE}:4.1" - ;; - 4.0* | 4) - _kdedir="4.0" - _operator=">=" - _pv="-${NEED_KDE}:kde-4" - ;; - 3.9*) - _kdedir="3.9" - _operator=">=" - _pv="-${NEED_KDE}:kde-4" - ;; - - # 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 - *) SLOT="2" ;; - esac - ;; - *) - case ${PV} in - 4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;; - 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;; - 9999*) SLOT="live" ;; - *) SLOT="kde-4" ;; - esac - ;; - esac - fi - fi - - # Block install of other SLOTS unless kdeprefix - case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - 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 [[ ${NEED_KDE} != "any" ]]; then - if [[ ${SLOT} != ${KDE_SLOT} ]]; then - DEPEND="${DEPEND} - !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )" - RDEPEND="${RDEPEND} - !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )" - fi - fi - done - ;; - esac - - # We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs" - if [[ ${NEED_KDE} != "any" ]]; then - if [[ ${PN} != "kdelibs" ]]; then - case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]" - RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}[kdeprefix=]" - ;; - *) - DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}" - RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}" - ;; - esac - if [[ ${PN} != "kdepimlibs" ]]; then - case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix=]" - RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}[kdeprefix=]" - ;; - *) - DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}" - RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}" - esac - fi - fi - else - if [[ ${PN} != "kdelibs" ]]; then - # need_kde == any - DEPEND="${DEPEND} ${_operator}kde-base/kdelibs${_pv}" - RDEPEND="${RDEPEND} ${_operator}kde-base/kdelibs${_pv}" - if [[ ${PN} != "kdepimlibs" ]]; then - DEPEND="${DEPEND} ${_operator}kde-base/kdepimlibs${_pv}" - RDEPEND="${RDEPEND} ${_operator}kde-base/kdepimlibs${_pv}" - fi - fi - fi - - unset _operator _pv -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 ${SLOT} in - live) - ESVN_MIRROR="svn://anonsvn.kde.org/home/kde" - # Split ebuild, or extragear stuff - if [[ -n ${KMNAME} ]]; then - ESVN_PROJECT="KDE/${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" - ESVN_PROJECT="KDE/kdebase" - ;; - kdereview) - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" - ;; - kde*) - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}" - ;; - extragear*|playground*) - case ${PN} in - *-plasma) - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" - ESVN_PROJECT="KDE/${KMNAME}/${KMMODULE}" - ;; - *) - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}" - ;; - esac - ;; - koffice) - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}" - ;; - *) - # Extragear material - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}" - ;; - esac - else - # kdelibs, kdepimlibs - ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}" - ESVN_PROJECT="KDE/${PN}" - fi - inherit subversion - ;; - *) - if [[ -n ${KDEBASE} ]]; then - if [[ -n ${KMNAME} ]]; then - _kmname=${KMNAME} - else - _kmname=${PN} - fi - _kmname_pv="${_kmname}-${PV}" - if [[ ${NEED_KDE} != "live" ]]; then - case ${KDEBASE} in - kde-base) - case ${PV} in - 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 /usr/ 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 - - if [[ ${NEED_KDE} != none ]]; then - - # Set PREFIX - case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - if [[ ${NEED_KDE} != "any" ]]; then - if use kdeprefix; then - KDEDIR="/usr/kde/${_kdedir}" - KDEDIRS="/usr:/usr/local:${KDEDIR}" - else - KDEDIR="/usr" - KDEDIRS="/usr:/usr/local" - fi - else - KDEDIR="/usr" - KDEDIRS="/usr:/usr/local" - fi - ;; - *) - KDEDIR="/usr" - KDEDIRS="/usr:/usr/local" - ;; - esac - fi - # Set the prefix based on KDEDIR - # Make it a consequence of kdeprefix - PREFIX=${KDEDIR} - - unset _kdedir - - case "${EAPI}" in - 2 | 2_pre3 | 2_pre2 | 2_pre1) - [[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK[@]} ]] && \ - die "built_with_use illegal in this EAPI!" - ;; - *) - # Make KDE4_BUILT_WITH_USE_CHECK an array if it isn't already - local line kde4_built_with_use_check=() - if [[ -n ${KDE4_BUILT_WITH_USE_CHECK[@]} && $(declare -p KDE4_BUILT_WITH_USE_CHECK) != 'declare -a '* ]]; then - while read line; do - [[ -z ${line} ]] && continue - kde4_built_with_use_check+=("${line}") - done <<< "${KDE4_BUILT_WITH_USE_CHECK}" - KDE4_BUILT_WITH_USE_CHECK=("${kde4_built_with_use_check[@]}") - fi - - # KDE4 applications require qt4 compiled with USE="accessibility dbus gif jpeg png qt3support ssl zlib". - if has_version '<x11-libs/qt-4.4_alpha:4'; then - QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} accessibility dbus gif jpeg png qt3support ssl zlib" - else - KDE4_BUILT_WITH_USE_CHECK=("${KDE4_BUILT_WITH_USE_CHECK[@]}" - "x11-libs/qt-core qt3support ssl" - "x11-libs/qt-gui accessibility dbus" - "x11-libs/qt-qt3support accessibility") - fi - - if has opengl ${IUSE//+} && use opengl || [[ ${OPENGL_REQUIRED} == always ]]; then - if has_version '<x11-libs/qt-4.4.0_alpha:4'; then - QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} opengl" - fi - fi - kde4-functions_check_use - ;; - esac - case ${SLOT} in - live) - if [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then - elog - elog "WARNING! This is an experimental ebuild of the ${KMNAME:-${PN}} KDE4 SVN tree." - elog "Use at your own risk. Do _NOT_ file bugs at bugs.gentoo.org because" - elog "of this ebuild!" - fi - ;; - *) - ;; - esac -} - -# @FUNCTION: kde4-base_apply_patches -# @DESCRIPTION: -# This function applies patches. -# -# If the directory ${WORKDIR}/patches/ exists, we apply all patches in that -# directory, provided they follow this format: -# @CODE -# - Monolithic ebuilds, (from kde-base) -# - $CATEGORY=kde-base: -# Apply ${CHILD_EBUILD_NAME}-${SLOT}-*{diff,patch} -# - $CATEGORY=!kde-base: -# Apply ${CHILD_EBUILD_NAME}-${PV}-*{diff,patch} -# - Split ebuilds: -# - $CATEGORY=kde-base: -# Apply ${PN}-${SLOT}-*{diff,patch} -# - $CATEGORY!=kde-base: -# Apply ${PN}-${PV}-*{diff,patch} -# @CODE -# -# If ${PATCHES} is non-zero all patches in it get applied. If there is more -# than one patch please make ${PATCHES} an array for proper quoting. -kde4-base_apply_patches() { - local _patchdir _packages _p _f - _patchdir="${WORKDIR}/patches/" - if [[ -d "${_patchdir}" ]]; then - if is-parent-package ${CATEGORY}/${PN} ; then - _packages="$(get-child-packages ${CATEGORY}/${PN})" - _packages="${_packages//${CATEGORY}\//} ${PN}" - else - _packages="${PN}" - fi - if [[ $(declare -p PATCHES) != 'declare -a '* ]]; then - die "PATCHES needs to be an array!" - fi - for _p in ${_packages}; do - for _f in "${_patchdir}"/${_p}-${PV}-*{diff,patch}; do - [[ -e ${_f} ]] && PATCHES+=("${_f}") - done - if [[ -n "${KDEBASE}" ]]; then - for _f in "${_patchdir}"/${_p}-${SLOT}-*{diff,patch}; do - [[ -e ${_f} ]] && PATCHES+=("${_f}") - done - fi - done - fi - [[ -n ${PATCHES[@]} ]] && base_src_unpack autopatch -} - -# @FUNCTION: kde4-base_src_unpack -# @DESCRIPTION: -# This function unpacks the source tarballs for KDE4 applications. -# -# If no argument is passed to this function, then standard src_unpack is -# executed. Otherwise options are passed to base_src_unpack. -# -# In addition it calls kde4-base_apply_patches when no arguments are passed to -# this function. -# -# 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_unpack() { - debug-print-function $FUNCNAME "$@" - case ${SLOT} in - live) - local cleandir - cleandir="${ESVN_STORE_DIR}/KDE/KDE" - if [[ -d ${cleandir} ]]; then - eerror "'${cleandir}' should never have been created. Either move it to" - eerror "${ESVN_STORE_DIR}/${ESVN_PROJECT}/${ESVN_REPO_URI##*/} or remove" - eerror "completely." - die "'${cleandir}' is in the way." - fi - subversion_src_unpack - kde4-base_apply_patches - ;; - *) - [[ -z "${KDE_S}" ]] && KDE_S="${S}" - - if [[ -z $* ]]; then - # Unpack first and deal with KDE patches after examing possible patch sets. - # To be picked up, patches need to conform to the guidelines stated before. - # Monolithic ebuilds will use the split ebuild patches. - [[ -d "${KDE_S}" ]] || unpack ${A} - kde4-base_apply_patches - else - # Call base_src_unpack, which unpacks and patches - # step by step transparently as defined in the ebuild. - base_src_unpack $* - fi - - # Updated cmake dir - if [[ -d "${WORKDIR}/cmake" ]] && [[ -d "${KDE_S}/cmake" ]]; then - ebegin "Updating cmake/ directory..." - rm -rf "${KDE_S}/cmake" || die "Unable to remove old cmake/ directory" - ln -s "${WORKDIR}/cmake" "${KDE_S}/cmake" || die "Unable to symlink the new cmake/ directory" - eend 0 - fi - ;; - esac - # Only enable selected languages, used for KDE extragear apps. - if [[ -n ${KDE_LINGUAS} ]]; then - enable_selected_linguas - fi -} - -# @FUNCTION: kde4-base_src_compile -# @DESCRIPTION: -# General function for compiling KDE4 applications. -kde4-base_src_compile() { - debug-print-function ${FUNCNAME} "$@" - case "${EAPI}" in - 2) - ;; - *) - kde4-base_src_configure - ;; - esac - if [[ -d ${WORKDIR}/${PN}_build ]]; then - pushd "${WORKDIR}"/${PN}_build > /dev/null - fi - [ -e [Mm]akefile ] && kde4-base_src_make -} - -# @FUNCTION: kde4-base_src_configure -# @DESCRIPTION: -# Function for configuring the build of KDE4 applications. -kde4-base_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - # Final flag handling - if has kdeenablefinal ${IUSE//+} && use kdeenablefinal; then - echo "Activating enable-final flag" - mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_FINAL=ON" - fi - - # Enable generation of HTML handbook - if has htmlhandbook ${IUSE//+} && use htmlhandbook; then - echo "Enabling building of HTML handbook" - mycmakeargs="${mycmakeargs} -DKDE4_ENABLE_HTMLHANDBOOK=ON" - 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 - [[ "${PREFIX}" == "/usr" ]] && mycmakeargs="${mycmakeargs} -DSYSCONF_INSTALL_DIR=/etc" - - # Set environment - QTEST_COLORED=1 - QT_PLUGIN_PATH=${KDEDIR}/$(get_libdir)/kde4/plugins/ - - # hardcode path to *.cmake KDE files - PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig" - - # additonal arguments for KOFFICE - if [[ "${KMNAME}" == "koffice" ]]; then - case ${PN} in - koffice-data): - ;; - *): - mycmakeargs="${mycmakeargs} - -DWITH_OpenEXR=ON - $(cmake-utils_use_with crypt QCA2) - $(cmake-utils_use_with opengl OpenGL)" - if use crypt; then - mycmakeargs="${mycmakeargs} - -DQCA2_LIBRARIES=/usr/$(get_libdir)/qca2/libqca.so.2" - fi - ;; - esac - fi - - [ -e CMakeLists.txt ] && cmake-utils_src_configureout -} - -# @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} "$@" - - 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_compile - - cmake-utils_src_test -} - -# @FUNCTION: kde4-base_src_install -# @DESCRIPTION: -# Function for installing KDE4 applications. -kde4-base_src_install() { - debug-print-function ${FUNCNAME} "$@" - - 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() { - 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() { - buildsycoca -} diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass deleted file mode 100644 index 0963dd0486c..00000000000 --- a/eclass/kde4-functions.eclass +++ /dev/null @@ -1,570 +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.4 2008/03/13 17:57:51 ingmar Exp $ - -# @ECLASS: kde4-functions.eclass -# @MAINTAINER: -# kde@gentoo.org -# @BLURB: Common ebuild functions for monolithic and split KDE 4 packages -# @DESCRIPTION: -# This eclass contains all functions shared by the different eclasses, -# for KDE 4 monolithic and split ebuilds. -# -# NOTE: This eclass uses the SLOT dependencies from EAPI="1" or compatible, -# hence you must define EAPI="1" in the ebuild, before inheriting any eclasses. - -# @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 after 4.0 - this doesn't include kde-3.5 and the -# live-ebuilds that use the following var. -KDE_SLOTS=( "kde-4" "4.1" ) - -# @ECLASS-VARIABLE: KDE_LIVE_SLOTS -# @DESCRIPTION: -# The slots used by all KDE live versions. -KDE_LIVE_SLOTS=( "live" ) - -# @ECLASS-VARIABLE: KDE_DERIVATION_MAP -# @DESCRIPTION: -# Map of the monolithic->split ebuild derivation. -# Used to build dependencies describing the relationships between them: -# Monolithic ebuilds block their split counterparts in the same slot, and vice versa. -# -# Also see get-parent-package(), get-child-packages(), is-parent-package() -KDE_DERIVATION_MAP=' -app-office/koffice app-office/karbon -app-office/koffice app-office/kchart -app-office/koffice app-office/kexi -app-office/koffice app-office/kformula -app-office/koffice app-office/kivio -app-office/koffice app-office/koffice-data -app-office/koffice app-office/koffice-libs -app-office/koffice app-office/koshell -app-office/koffice app-office/kplato -app-office/koffice app-office/kpresenter -app-office/koffice app-office/krita -app-office/koffice app-office/kspread -app-office/koffice app-office/kugar -app-office/koffice app-office/kword -kde-base/kdeaccessibility kde-base/kdeaccessibility-colorschemes -kde-base/kdeaccessibility kde-base/kdeaccessibility-iconthemes -kde-base/kdeaccessibility kde-base/kmag -kde-base/kdeaccessibility kde-base/kmousetool -kde-base/kdeaccessibility kde-base/kmouth -kde-base/kdeaccessibility kde-base/kttsd -kde-base/kdeadmin kde-base/kcron -kde-base/kdeadmin kde-base/kdat -kde-base/kdeadmin kde-base/knetworkconf -kde-base/kdeadmin kde-base/kpackage -kde-base/kdeadmin kde-base/ksystemlog -kde-base/kdeadmin kde-base/ksysv -kde-base/kdeadmin kde-base/kuser -kde-base/kdeadmin kde-base/lilo-config -kde-base/kdeadmin kde-base/secpolicy -kde-base/kdeartwork kde-base/kdeartwork-colorschemes -kde-base/kdeartwork kde-base/kdeartwork-emoticons -kde-base/kdeartwork kde-base/kdeartwork-icewm-themes -kde-base/kdeartwork kde-base/kdeartwork-iconthemes -kde-base/kdeartwork kde-base/kdeartwork-kscreensaver -kde-base/kdeartwork kde-base/kdeartwork-kworldclock -kde-base/kdeartwork kde-base/kdeartwork-sounds -kde-base/kdeartwork kde-base/kdeartwork-styles -kde-base/kdeartwork kde-base/kdeartwork-wallpapers -kde-base/kdebase kde-base/dolphin -kde-base/kdebase kde-base/drkonqi -kde-base/kdebase kde-base/kappfinder -kde-base/kdebase kde-base/kcheckpass -kde-base/kdebase kde-base/kcminit -kde-base/kdebase kde-base/kcmshell -kde-base/kdebase kde-base/kcontrol -kde-base/kdebase kde-base/kde-menu -kde-base/kdebase kde-base/kde-menu-icons -kde-base/kdebase kde-base/kde-wallpapers -kde-base/kdebase kde-base/kdebase-cursors -kde-base/kdebase kde-base/kdebase-data -kde-base/kdebase kde-base/kdebase-kioslaves -kde-base/kdebase kde-base/kdebase-startkde -kde-base/kdebase kde-base/kdebugdialog -kde-base/kdebase kde-base/kdepasswd -kde-base/kdebase kde-base/kdesu -kde-base/kdebase kde-base/kdialog -kde-base/kdebase kde-base/kdm -kde-base/kdebase kde-base/keditbookmarks -kde-base/kdebase kde-base/kfile -kde-base/kdebase kde-base/kfind -kde-base/kdebase kde-base/khelpcenter -kde-base/kdebase kde-base/khotkeys -kde-base/kdebase kde-base/kiconfinder -kde-base/kdebase kde-base/kinfocenter -kde-base/kdebase kde-base/kioclient -kde-base/kdebase kde-base/klipper -kde-base/kdebase kde-base/kmenuedit -kde-base/kdebase kde-base/kmimetypefinder -kde-base/kdebase kde-base/knetattach -kde-base/kdebase kde-base/knewstuff -kde-base/kdebase kde-base/knotify -kde-base/kdebase kde-base/konqueror -kde-base/kdebase kde-base/konsole -kde-base/kdebase kde-base/kpasswdserver -kde-base/kdebase kde-base/kquitapp -kde-base/kdebase kde-base/kreadconfig -kde-base/kdebase kde-base/krunner -kde-base/kdebase kde-base/kscreensaver -kde-base/kdebase kde-base/ksmserver -kde-base/kdebase kde-base/ksplash -kde-base/kdebase kde-base/kstart -kde-base/kdebase kde-base/kstartupconfig -kde-base/kdebase kde-base/kstyles -kde-base/kdebase kde-base/ksysguard -kde-base/kdebase kde-base/ksystraycmd -kde-base/kdebase kde-base/ktimezoned -kde-base/kdebase kde-base/ktip -kde-base/kdebase kde-base/ktraderclient -kde-base/kdebase kde-base/kuiserver -kde-base/kdebase kde-base/kurifilter-plugins -kde-base/kdebase kde-base/kwin -kde-base/kdebase kde-base/kwrite -kde-base/kdebase kde-base/libkonq -kde-base/kdebase kde-base/libkworkspace -kde-base/kdebase kde-base/libplasma -kde-base/kdebase kde-base/libtaskmanager -kde-base/kdebase kde-base/nepomuk -kde-base/kdebase kde-base/nsplugins -kde-base/kdebase kde-base/phonon -kde-base/kdebase kde-base/phonon-xine -kde-base/kdebase kde-base/plasma -kde-base/kdebase kde-base/plasma-apps -kde-base/kdebase kde-base/plasma-workspace -kde-base/kdebase kde-base/renamedlg-plugins -kde-base/kdebase kde-base/solid -kde-base/kdebase kde-base/solid-hardware -kde-base/kdebase kde-base/soliduiserver -kde-base/kdebase kde-base/systemsettings -kde-base/kdebindings kde-base/kalyptus -kde-base/kdebindings kde-base/kdejava -kde-base/kdebindings kde-base/kimono -kde-base/kdebindings kde-base/kjsembed -kde-base/kdebindings kde-base/korundum -kde-base/kdebindings kde-base/krossjava -kde-base/kdebindings kde-base/krosspython -kde-base/kdebindings kde-base/krossruby -kde-base/kdebindings kde-base/pykde4 -kde-base/kdebindings kde-base/qtjava -kde-base/kdebindings kde-base/qtruby -kde-base/kdebindings kde-base/qtsharp -kde-base/kdebindings kde-base/qyoto -kde-base/kdebindings kde-base/smoke -kde-base/kdebindings kde-base/xparts -kde-base/kdeedu kde-base/blinken -kde-base/kdeedu kde-base/kalgebra -kde-base/kdeedu kde-base/kalzium -kde-base/kdeedu kde-base/kanagram -kde-base/kdeedu kde-base/kbruch -kde-base/kdeedu kde-base/kgeography -kde-base/kdeedu kde-base/khangman -kde-base/kdeedu kde-base/kig -kde-base/kdeedu kde-base/kiten -kde-base/kdeedu kde-base/klettres -kde-base/kdeedu kde-base/kmplot -kde-base/kdeedu kde-base/kpercentage -kde-base/kdeedu kde-base/kstars -kde-base/kdeedu kde-base/ktouch -kde-base/kdeedu kde-base/kturtle -kde-base/kdeedu kde-base/kwordquiz -kde-base/kdeedu kde-base/libkdeedu -kde-base/kdeedu kde-base/marble -kde-base/kdeedu kde-base/parley -kde-base/kdeedu kde-base/step -kde-base/kdegames kde-base/bovo -kde-base/kdegames kde-base/katomic -kde-base/kdegames kde-base/kbattleship -kde-base/kdegames kde-base/kblackbox -kde-base/kdegames kde-base/kblocks -kde-base/kdegames kde-base/kbounce -kde-base/kdegames kde-base/kbreakout -kde-base/kdegames kde-base/kdiamond -kde-base/kdegames kde-base/kfourinline -kde-base/kdegames kde-base/kgoldrunner -kde-base/kdegames kde-base/kiriki -kde-base/kdegames kde-base/kjumpingcube -kde-base/kdegames kde-base/klines -kde-base/kdegames kde-base/kmahjongg -kde-base/kdegames kde-base/kmines -kde-base/kdegames kde-base/knetwalk -kde-base/kdegames kde-base/kolf -kde-base/kdegames kde-base/kollision -kde-base/kdegames kde-base/konquest -kde-base/kdegames kde-base/kpat -kde-base/kdegames kde-base/kreversi -kde-base/kdegames kde-base/ksame -kde-base/kdegames kde-base/kshisen -kde-base/kdegames kde-base/ksirk -kde-base/kdegames kde-base/kspaceduel -kde-base/kdegames kde-base/ksquares -kde-base/kdegames kde-base/ksudoku -kde-base/kdegames kde-base/ktuberling -kde-base/kdegames kde-base/kubrick -kde-base/kdegames kde-base/libkdegames -kde-base/kdegames kde-base/libkmahjongg -kde-base/kdegames kde-base/lskat -kde-base/kdegraphics kde-base/gwenview -kde-base/kdegraphics kde-base/kamera -kde-base/kdegraphics kde-base/kcolorchooser -kde-base/kdegraphics kde-base/kdegraphics-strigi-analyzer -kde-base/kdegraphics kde-base/kgamma -kde-base/kdegraphics kde-base/kghostview -kde-base/kdegraphics kde-base/kolourpaint -kde-base/kdegraphics kde-base/kruler -kde-base/kdegraphics kde-base/ksaneplugin -kde-base/kdegraphics kde-base/ksnapshot -kde-base/kdegraphics kde-base/libkdcraw -kde-base/kdegraphics kde-base/libkexiv2 -kde-base/kdegraphics kde-base/libkipi -kde-base/kdegraphics kde-base/libksane -kde-base/kdegraphics kde-base/libkscan -kde-base/kdegraphics kde-base/okular -kde-base/kdegraphics kde-base/svgpart -kde-base/kdemultimedia kde-base/dragonplayer -kde-base/kdemultimedia kde-base/juk -kde-base/kdemultimedia kde-base/kdemultimedia-kioslaves -kde-base/kdemultimedia kde-base/kdemultimedia-strigi-analyzer -kde-base/kdemultimedia kde-base/kmix -kde-base/kdemultimedia kde-base/kscd -kde-base/kdemultimedia kde-base/libkcddb -kde-base/kdemultimedia kde-base/libkcompactdisc -kde-base/kdenetwork kde-base/kdenetwork-filesharing -kde-base/kdenetwork kde-base/kdnssd -kde-base/kdenetwork kde-base/kget -kde-base/kdenetwork kde-base/knewsticker -kde-base/kdenetwork kde-base/kopete -kde-base/kdenetwork kde-base/kppp -kde-base/kdenetwork kde-base/krdc -kde-base/kdenetwork kde-base/krfb -kde-base/kdepim kde-base/akonadi -kde-base/kdepim kde-base/akregator -kde-base/kdepim kde-base/certmanager -kde-base/kdepim kde-base/kabc2mutt -kde-base/kdepim kde-base/kabcclient -kde-base/kdepim kde-base/kaddressbook -kde-base/kdepim kde-base/kalarm -kde-base/kdepim kde-base/kdemaildir -kde-base/kdepim kde-base/kdepim-icons -kde-base/kdepim kde-base/kdepim-kioslaves -kde-base/kdepim kde-base/kdepim-kresources -kde-base/kdepim kde-base/kdepim-strigi-analyzer -kde-base/kdepim kde-base/kdepim-wizards -kde-base/kdepim kde-base/kfeed -kde-base/kdepim kde-base/kitchensync -kde-base/kdepim kde-base/kjots -kde-base/kdepim kde-base/kleopatra -kde-base/kdepim kde-base/kmail -kde-base/kdepim kde-base/kmailcvt -kde-base/kdepim kde-base/kmobiletools -kde-base/kdepim kde-base/knode -kde-base/kdepim kde-base/knotes -kde-base/kdepim kde-base/kode -kde-base/kdepim kde-base/konsolekalendar -kde-base/kdepim kde-base/kontact -kde-base/kdepim kde-base/kontact-specialdates -kde-base/kdepim kde-base/kontactinterfaces -kde-base/kdepim kde-base/korganizer -kde-base/kdepim kde-base/korn -kde-base/kdepim kde-base/kpilot -kde-base/kdepim kde-base/ktimetracker -kde-base/kdepim kde-base/ktnef -kde-base/kdepim kde-base/libkdepim -kde-base/kdepim kde-base/libkholidays -kde-base/kdepim kde-base/libkleo -kde-base/kdepim kde-base/libkpgp -kde-base/kdepim kde-base/libksieve -kde-base/kdepim kde-base/mailtransport -kde-base/kdepim kde-base/mimelib -kde-base/kdepim kde-base/networkstatus -kde-base/kdesdk kde-base/cervisia -kde-base/kdesdk kde-base/kapptemplate -kde-base/kdesdk kde-base/kate -kde-base/kdesdk kde-base/kbabel -kde-base/kdesdk kde-base/kbugbuster -kde-base/kdesdk kde-base/kcachegrind -kde-base/kdesdk kde-base/kdeaccounts-plugin -kde-base/kdesdk kde-base/kdesdk-kio |
