summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2014-10-15 12:48:57 +0000
committerMichael Palimaka <kensington@gentoo.org>2014-10-15 12:48:57 +0000
commitac5ddd1b75318ea0dcd442965b2d064b363f7936 (patch)
tree5b2e7d0f16f63faebb57ad75d6e05942f6d6ae45 /eclass
parentSupport multilib providers for deps. Bump to EAPI=5. (diff)
downloadgentoo-2-ac5ddd1b75318ea0dcd442965b2d064b363f7936.tar.gz
gentoo-2-ac5ddd1b75318ea0dcd442965b2d064b363f7936.tar.bz2
gentoo-2-ac5ddd1b75318ea0dcd442965b2d064b363f7936.zip
Import from KDE overlay.
Diffstat (limited to 'eclass')
-rw-r--r--eclass/ChangeLog6
-rw-r--r--eclass/kde5-functions.eclass181
-rw-r--r--eclass/kde5.eclass472
3 files changed, 658 insertions, 1 deletions
diff --git a/eclass/ChangeLog b/eclass/ChangeLog
index 7926b9befd9e..0a6c56bf5d86 100644
--- a/eclass/ChangeLog
+++ b/eclass/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1383 2014/10/14 16:10:36 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1384 2014/10/15 12:48:57 kensington Exp $
+
+ 15 Oct 2014; Michael Palimaka <kensington@gentoo.org> +kde5-functions.eclass,
+ +kde5.eclass:
+ Import from KDE overlay.
14 Oct 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org>
-mozconfig-v4.1.eclass, +mozconfig-v5.31.eclass, +mozconfig-v5.33.eclass,
diff --git a/eclass/kde5-functions.eclass b/eclass/kde5-functions.eclass
new file mode 100644
index 000000000000..b7491a9084dd
--- /dev/null
+++ b/eclass/kde5-functions.eclass
@@ -0,0 +1,181 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde5-functions.eclass,v 1.1 2014/10/15 12:48:57 kensington Exp $
+
+# @ECLASS: kde5-functions.eclass
+# @MAINTAINER:
+# kde@gentoo.org
+# @BLURB: Common ebuild functions for KDE 5 packages
+# @DESCRIPTION:
+# This eclass contains all functions shared by the different eclasses,
+# for KDE 5 ebuilds.
+
+if [[ -z ${_KDE5_FUNCTIONS_ECLASS} ]]; then
+_KDE5_FUNCTIONS_ECLASS=1
+
+inherit toolchain-funcs versionator
+
+# @ECLASS-VARIABLE: EAPI
+# @DESCRIPTION:
+# Currently EAPI 5 is supported.
+case ${EAPI} in
+ 5) ;;
+ *) die "EAPI=${EAPI:-0} is not supported" ;;
+esac
+
+# @ECLASS-VARIABLE: FRAMEWORKS_MINIMAL
+# @DESCRIPTION:
+# Minimal Frameworks version to require for the package.
+: ${FRAMEWORKS_MINIMAL:=5.3.0}
+
+# @ECLASS-VARIABLE: KDEBASE
+# @DESCRIPTION:
+# This gets set to a non-zero value when a package is considered a kde or
+# kdevelop ebuild.
+if [[ ${CATEGORY} = kde-base ]]; then
+ KDEBASE=kde-base
+elif [[ ${CATEGORY} = kde-frameworks ]]; then
+ KDEBASE=kde-frameworks
+elif [[ ${KMNAME-${PN}} = kdevelop ]]; then
+ KDEBASE=kdevelop
+fi
+
+debug-print "${ECLASS}: ${KDEBASE} ebuild recognized"
+
+# @ECLASS-VARIABLE: KDE_SCM
+# @DESCRIPTION:
+# SCM to use if this is a live ebuild.
+: ${KDE_SCM:=git}
+
+case ${KDE_SCM} in
+ svn|git) ;;
+ *) die "KDE_SCM: ${KDE_SCM} is not supported" ;;
+esac
+
+# determine the build type
+if [[ ${PV} = *9999* ]]; then
+ KDE_BUILD_TYPE="live"
+else
+ KDE_BUILD_TYPE="release"
+fi
+export KDE_BUILD_TYPE
+
+# @FUNCTION: _check_gcc_version
+# @INTERNAL
+# @DESCRIPTION:
+# Determine if the current GCC version is acceptable, otherwise die.
+_check_gcc_version() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ local version=$(gcc-version)
+ local major=${version%.*}
+ local minor=${version#*.}
+
+ [[ ${major} -lt 4 ]] || \
+ ( [[ ${major} -eq 4 && ${minor} -lt 8 ]] ) \
+ && die "Sorry, but gcc-4.8 or later is required for KDE 5."
+ fi
+}
+
+# @FUNCTION: _add_kdecategory_dep
+# @INTERNAL
+# @DESCRIPTION:
+# Implementation of add_kdebase_dep and add_frameworks_dep.
+_add_kdecategory_dep() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local category=${1}
+ local package=${2}
+ local use=${3}
+ local version=${4}
+
+ if [[ -n ${use} ]] ; then
+ local use="[${use}]"
+ fi
+
+ if [[ -n ${version} ]] ; then
+ local operator=">="
+ local version="-${version}"
+ fi
+
+ echo " ${operator}${category}/${package}${version}:5${use}"
+}
+
+# @FUNCTION: add_frameworks_dep
+# @USAGE: <package> [USE flags] [minimum version]
+# @DESCRIPTION:
+# Create proper dependency for kde-frameworks/ 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_frameworks_dep() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local version
+
+ if [[ -n ${3} ]]; then
+ version=${3}
+ elif [[ ${CATEGORY} = kde-frameworks ]]; then
+ version=${PV}
+ elif [[ ${CATEGORY} = kde-base ]]; then
+ case $(get_kde_version) in
+ 5.1) version=5.3.0 ;;
+ *) version=${FRAMEWORKS_MINIMAL} ;;
+ esac
+ elif [[ -z "${version}" ]] ; then
+ version=${FRAMEWORKS_MINIMAL}
+ fi
+
+ _add_kdecategory_dep kde-frameworks "${1}" "${2}" "${version}"
+}
+
+# @FUNCTION: add_kdebase_dep
+# @USAGE: <package> [USE flags] [minimum version]
+# @DESCRIPTION:
+# Create proper dependency for kde-base/ 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_kdebase_dep() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local version
+
+ if [[ -n ${3} ]]; then
+ version=${3}
+ elif [[ ${CATEGORY} = kde-base ]]; then
+ version=${PV}
+ fi
+
+ _add_kdecategory_dep kde-base "${1}" "${2}" "${version}"
+}
+
+# @FUNCTION: get_kde_version
+# @DESCRIPTION:
+# Translates an ebuild version into a major.minor KDE SC
+# release version. If no version is specified, ${PV} is used.
+get_kde_version() {
+ local ver=${1:-${PV}}
+ local major=$(get_major_version ${ver})
+ local minor=$(get_version_component_range 2 ${ver})
+ local micro=$(get_version_component_range 3 ${ver})
+ if [[ ${ver} == 9999 ]]; then
+ echo live
+ else
+ (( micro < 50 )) && echo ${major}.${minor} || echo ${major}.$((minor + 1))
+ fi
+}
+
+# @FUNCTION: punt_bogus_deps
+# @DESCRIPTION:
+# Remove hard-coded upstream dependencies that are not correct.
+punt_bogus_deps() {
+ sed -e "/find_package(Qt5 /s/ Test//" -i CMakeLists.txt || die
+}
+
+fi
diff --git a/eclass/kde5.eclass b/eclass/kde5.eclass
new file mode 100644
index 000000000000..306286aaafe9
--- /dev/null
+++ b/eclass/kde5.eclass
@@ -0,0 +1,472 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde5.eclass,v 1.1 2014/10/15 12:48:57 kensington Exp $
+
+# @ECLASS: kde5.eclass
+# @MAINTAINER:
+# kde@gentoo.org
+# @BLURB: Support eclass for KDE 5-related packages.
+# @DESCRIPTION:
+# The kde5.eclass provides support for building KDE 5-related packages.
+
+if [[ -z ${_KDE5_ECLASS} ]]; then
+_KDE5_ECLASS=1
+
+CMAKE_MIN_VERSION="2.8.12"
+
+# @ECLASS-VARIABLE: VIRTUALX_REQUIRED
+# @DESCRIPTION:
+# For proper description see virtualx.eclass manpage.
+# Here we redefine default value to be manual, if your package needs virtualx
+# for tests you should proceed with setting VIRTUALX_REQUIRED=test.
+: ${VIRTUALX_REQUIRED:=manual}
+
+inherit kde5-functions fdo-mime flag-o-matic gnome2-utils versionator virtualx eutils cmake-utils
+
+if [[ ${KDE_BUILD_TYPE} = live ]]; then
+ case ${KDE_SCM} in
+ svn) inherit subversion ;;
+ git) inherit git-r3 ;;
+ esac
+fi
+
+EXPORT_FUNCTIONS pkg_pretend pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_preinst pkg_postinst pkg_postrm
+
+# @ECLASS-VARIABLE: QT_MINIMAL
+# @DESCRIPTION:
+# Minimal Qt version to require for the package.
+: ${QT_MINIMAL:=5.3.0}
+
+# @ECLASS-VARIABLE: KDE_AUTODEPS
+# @DESCRIPTION:
+# If set to "false", do nothing.
+# For any other value, add a dependency on dev-libs/extra-cmake-modules and dev-qt/qtcore:5.
+: ${KDE_AUTODEPS:=true}
+
+# @ECLASS-VARIABLE: KDE_DEBUG
+# @DESCRIPTION:
+# If set to "false", unconditionally build with -DNDEBUG.
+# Otherwise, add debug to IUSE to control building with that flag.
+: ${KDE_DEBUG:=true}
+
+# @ECLASS-VARIABLE: KDE_DOXYGEN
+# @DESCRIPTION:
+# If set to "false", do nothing.
+# Otherwise, add "doc" to IUSE, add appropriate dependencies, and generate and
+# install API documentation.
+if [[ ${CATEGORY} = kde-frameworks ]]; then
+ : ${KDE_DOXYGEN:=true}
+else
+ : ${KDE_DOXYGEN:=false}
+fi
+
+# @ECLASS-VARIABLE: KDE_EXAMPLES
+# @DESCRIPTION:
+# If set to "false", unconditionally ignore a top-level examples subdirectory.
+# Otherwise, add "examples" to IUSE to toggle adding that subdirectory.
+: ${KDE_EXAMPLES:=false}
+
+# @ECLASS-VARIABLE: KDE_HANDBOOK
+# @DESCRIPTION:
+# If set to "false", do nothing.
+# Otherwise, add "+handbook" to IUSE, add the appropriate dependency, and
+# generate and install KDE handbook.
+: ${KDE_HANDBOOK:=false}
+
+# @ECLASS-VARIABLE: KDE_TEST
+# @DESCRIPTION:
+# If set to "false", do nothing.
+# For any other value, add test to IUSE and add a dependency on dev-qt/qttest:5.
+if [[ ${CATEGORY} = kde-frameworks ]]; then
+ : ${KDE_TEST:=true}
+else
+ : ${KDE_TEST:=false}
+fi
+
+if [[ ${KDEBASE} = kdevelop ]]; then
+ HOMEPAGE="http://www.kdevelop.org/"
+else
+ HOMEPAGE="http://www.kde.org/"
+fi
+
+LICENSE="GPL-2"
+
+if [[ ${CATEGORY} = kde-frameworks ]]; then
+ SLOT=5/$(get_version_component_range 1-2)
+else
+ SLOT=5
+fi
+
+case ${KDE_AUTODEPS} in
+ false) ;;
+ *)
+ if [[ ${KDE_BUILD_TYPE} = live ]]; then
+ ecm_version=9999
+ elif [[ ${CATEGORY} = kde-frameworks ]]; then
+ ecm_version=1.$(get_version_component_range 2).0
+ else
+ ecm_version=1.3.0
+ fi
+
+ DEPEND+=" >=dev-libs/extra-cmake-modules-${ecm_version}"
+ RDEPEND+=" >=kde-frameworks/kf-env-2"
+ COMMONDEPEND+=" >=dev-qt/qtcore-${QT_MINIMAL}:5"
+
+ if [[ ${CATEGORY} = kde-base ]]; then
+ RDEPEND+=" !kde-base/kde-l10n:4"
+ fi
+
+ unset ecm_version
+ ;;
+esac
+
+case ${KDE_DOXYGEN} in
+ false) ;;
+ *)
+ IUSE+=" doc"
+ DEPEND+=" doc? (
+ $(add_frameworks_dep kapidox)
+ app-doc/doxygen
+ )"
+ ;;
+esac
+
+case ${KDE_DEBUG} in
+ false) ;;
+ *)
+ IUSE+=" debug"
+ ;;
+esac
+
+case ${KDE_EXAMPLES} in
+ false) ;;
+ *)
+ IUSE+=" examples"
+ ;;
+esac
+
+case ${KDE_HANDBOOK} in
+ false) ;;
+ *)
+ IUSE+=" +handbook"
+ DEPEND+=" handbook? ( $(add_frameworks_dep kdoctools) )"
+ ;;
+esac
+
+case ${KDE_TEST} in
+ false) ;;
+ *)
+ IUSE+=" test"
+ DEPEND+=" test? ( >=dev-qt/qttest-${QT_MINIMAL}:5 )"
+ ;;
+esac
+
+DEPEND+=" ${COMMONDEPEND} dev-util/desktop-file-utils"
+RDEPEND+=" ${COMMONDEPEND}"
+unset COMMONDEPEND
+
+if [[ -n ${KMNAME} && ${KMNAME} != ${PN} && ${KDE_BUILD_TYPE} = release ]]; then
+ S=${WORKDIR}/${KMNAME}-${PV}
+fi
+
+# Determine fetch location for released tarballs
+_calculate_src_uri() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ local _kmname
+
+ if [[ -n ${KMNAME} ]]; then
+ _kmname=${KMNAME}
+ else
+ _kmname=${PN}
+ fi
+
+ case ${PN} in
+ kdelibs4support | \
+ khtml | \
+ kjs | \
+ kjsembed | \
+ kmediaplayer | \
+ kross | \
+ krunner)
+ _kmname="portingAids/${_kmname}"
+ ;;
+ esac
+
+ DEPEND+=" app-arch/xz-utils"
+
+ case ${CATEGORY} in
+ kde-frameworks)
+ SRC_URI="mirror://kde/stable/frameworks/${PV}/${_kmname}-${PV}.tar.xz"
+ ;;
+ kde-base)
+ case ${PV} in
+ 5.?.[6-9]? )
+ # Plasma 5 beta releases
+ SRC_URI="mirror://kde/unstable/plasma/${PV}/${_kmname}-${PV}.tar.xz"
+ RESTRICT+=" mirror"
+ ;;
+ 5.1.0.1)
+ # Plasma 5 stable releases
+ SRC_URI="mirror://kde/stable/plasma/5.1.0/${_kmname}-${PV}.tar.xz" ;;
+ *)
+ # Plasma 5 stable releases
+ SRC_URI="mirror://kde/stable/plasma/${PV}/${_kmname}-${PV}.tar.xz" ;;
+ esac
+ ;;
+ esac
+}
+
+# Determine fetch location for live sources
+_calculate_live_repo() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ SRC_URI=""
+
+ case ${KDE_SCM} in
+ svn)
+ # @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}
+ ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}"
+ ;;
+ git)
+ # @ECLASS-VARIABLE: EGIT_MIRROR
+ # @DESCRIPTION:
+ # This variable allows easy overriding of default kde mirror service
+ # (anongit) with anything else you might want to use.
+ EGIT_MIRROR=${EGIT_MIRROR:=git://anongit.kde.org}
+
+ local _kmname
+
+ # @ECLASS-VARIABLE: EGIT_REPONAME
+ # @DESCRIPTION:
+ # This variable allows overriding of default repository
+ # name. Specify only if this differ from PN and KMNAME.
+ if [[ -n ${EGIT_REPONAME} ]]; then
+ # the repository and kmname different
+ _kmname=${EGIT_REPONAME}
+ elif [[ -n ${KMNAME} ]]; then
+ _kmname=${KMNAME}
+ else
+ _kmname=${PN}
+ fi
+
+ if [[ ${PV} != 9999 && ${KDEBASE} = kde-base ]]; then
+ EGIT_BRANCH="Plasma/$(get_version_component_range 1-2)"
+ fi
+
+ EGIT_REPO_URI="${EGIT_MIRROR}/${_kmname}"
+ ;;
+ esac
+}
+
+case ${KDE_BUILD_TYPE} in
+ live) _calculate_live_repo ;;
+ *) _calculate_src_uri ;;
+esac
+
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
+
+# @FUNCTION: kde5_pkg_pretend
+# @DESCRIPTION:
+# Do some basic settings
+kde5_pkg_pretend() {
+ debug-print-function ${FUNCNAME} "$@"
+ _check_gcc_version
+}
+
+# @FUNCTION: kde5_pkg_setup
+# @DESCRIPTION:
+# Do some basic settings
+kde5_pkg_setup() {
+ debug-print-function ${FUNCNAME} "$@"
+ _check_gcc_version
+}
+
+# @FUNCTION: kde5_src_unpack
+# @DESCRIPTION:
+# Function for unpacking KDE 5.
+kde5_src_unpack() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ if [[ ${KDE_BUILD_TYPE} = live ]]; then
+ case ${KDE_SCM} in
+ svn)
+ subversion_src_unpack
+ ;;
+ git)
+ git-r3_src_unpack
+ ;;
+ esac
+ else
+ default
+ fi
+}
+
+# @FUNCTION: kde5_src_prepare
+# @DESCRIPTION:
+# Function for preparing the KDE 5 sources.
+kde5_src_prepare() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ # only build examples when required
+ if ! use_if_iuse examples || ! use examples ; then
+ comment_add_subdirectory examples
+ fi
+
+ # only enable handbook when required
+ if ! use_if_iuse handbook ; then
+ comment_add_subdirectory doc
+ fi
+
+ # enable only the requested translations
+ # when required
+ if [[ ${KDE_BUILD_TYPE} = release ]] ; then
+ for lang in $(ls po) ; do
+ if ! has ${lang} ${LINGUAS} ; then
+ rm -rf po/${lang}
+ fi
+ done
+ else
+ rm -rf po
+ fi
+
+ # in frameworks, tests = manual tests so never
+ # build them
+ if [[ ${CATEGORY} = kde-frameworks ]]; then
+ comment_add_subdirectory tests
+ fi
+
+ # only build unit tests when required
+ if ! use_if_iuse test ; then
+ comment_add_subdirectory autotests
+ fi
+
+ if [[ ${CATEGORY} = kde-base ]]; then
+ punt_bogus_deps
+ fi
+
+ cmake-utils_src_prepare
+}
+
+# @FUNCTION: kde5_src_configure
+# @DESCRIPTION:
+# Function for configuring the build of KDE 5.
+kde5_src_configure() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ # we rely on cmake-utils.eclass to append -DNDEBUG too
+ if ! use_if_iuse debug; then
+ append-cppflags -DQT_NO_DEBUG
+ fi
+
+ local cmakeargs
+
+ if ! use_if_iuse test ; then
+ cmakeargs+=( -DBUILD_TESTING=OFF )
+ fi
+
+ # make sure config files go to /etc instead of /usr/etc
+ cmakeargs+=(-DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc)
+
+ # install mkspecs in the same directory as qt stuff
+ cmakeargs+=(-DKDE_INSTALL_USE_QT_SYS_PATHS=ON)
+
+ # allow the ebuild to override what we set here
+ mycmakeargs=("${cmakeargs[@]}" "${mycmakeargs[@]}")
+
+ cmake-utils_src_configure
+}
+
+# @FUNCTION: kde5_src_compile
+# @DESCRIPTION:
+# Function for compiling KDE 5.
+kde5_src_compile() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ cmake-utils_src_compile "$@"
+
+ # Build doxygen documentation if applicable
+ if use_if_iuse doc ; then
+ kgenapidox . || die
+ fi
+}
+
+# @FUNCTION: kde5_src_test
+# @DESCRIPTION:
+# Function for testing KDE 5.
+kde5_src_test() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ _test_runner() {
+ if [[ -n "${VIRTUALDBUS_TEST}" ]]; then
+ export $(dbus-launch)
+ fi
+
+ cmake-utils_src_test
+ }
+
+ # When run as normal user during ebuild development with the ebuild command, the
+ # kde tests tend to access the session DBUS. This however is not possible in a real
+ # emerge or on the tinderbox.
+ # > make sure it does not happen, so bad tests can be recognized and disabled
+ unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
+
+ if [[ ${VIRTUALX_REQUIRED} = always || ${VIRTUALX_REQUIRED} = test ]]; then
+ VIRTUALX_COMMAND="_test_runner" virtualmake
+ else
+ _test_runner
+ fi
+
+ if [[ -n "${DBUS_SESSION_BUS_PID}" ]] ; then
+ kill ${DBUS_SESSION_BUS_PID}
+ fi
+}
+
+# @FUNCTION: kde5_src_install
+# @DESCRIPTION:
+# Function for installing KDE 5.
+kde5_src_install() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ # Install doxygen documentation if applicable
+ if use_if_iuse doc ; then
+ dodoc -r apidocs/html
+ fi
+
+ cmake-utils_src_install
+}
+
+# @FUNCTION: kde5_pkg_preinst
+# @DESCRIPTION:
+# Function storing icon caches
+kde5_pkg_preinst() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ gnome2_icon_savelist
+}
+
+# @FUNCTION: kde5_pkg_postinst
+# @DESCRIPTION:
+# Function to rebuild the KDE System Configuration Cache after an application has been installed.
+kde5_pkg_postinst() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
+
+# @FUNCTION: kde5_pkg_postrm
+# @DESCRIPTION:
+# Function to rebuild the KDE System Configuration Cache after an application has been removed.
+kde5_pkg_postrm() {
+ debug-print-function ${FUNCNAME} "$@"
+
+ gnome2_icon_cache_update
+ fdo-mime_desktop_database_update
+}
+
+fi