summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorIngmar Vanhassel <ingmar@gentoo.org>2008-05-15 19:49:32 +0000
committerIngmar Vanhassel <ingmar@gentoo.org>2008-05-15 19:49:32 +0000
commit78962fa759a8e482293def29bedcebd6f5eb6edf (patch)
treec4396f831a79479791ad5b67088b05723cb3d8a0 /eclass
parentadd ~x86, bug #222011 (diff)
downloadgentoo-2-78962fa759a8e482293def29bedcebd6f5eb6edf.tar.gz
gentoo-2-78962fa759a8e482293def29bedcebd6f5eb6edf.tar.bz2
gentoo-2-78962fa759a8e482293def29bedcebd6f5eb6edf.zip
Eclass updates for KDE 4.0.4, thanks to Bo Ørsted Andresen & Jorge Manuel B. S. Vicetto.
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kde4-base.eclass59
-rw-r--r--eclass/kde4-functions.eclass52
-rw-r--r--eclass/kde4-meta.eclass122
3 files changed, 148 insertions, 85 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index b4be8d8e0819..b1cb90573eb6 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -1,6 +1,6 @@
# Copyright 2007-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.10 2008/04/14 13:23:14 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.11 2008/05/15 19:49:32 ingmar Exp $
# @ECLASS: kde4-base.eclass
# @MAINTAINER:
@@ -18,18 +18,15 @@ inherit base eutils multilib cmake-utils kde4-functions
EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
kde4-base_set_qt_dependencies() {
- local qt qtcore qtgui qt3support qtsvg qttest qtopengl qtdepend qtopengldepend
+ local qt qtcore qtgui qt3support qtdepend qtopengldepend
# use dependencies
case "${EAPI}" in
kdebuild-1)
- qt="[accessibility][dbus][debug?][gif][jpeg][png][qt3support][ssl][zlib]"
- qtcore="[debug?][qt3support][ssl]"
- qtgui="[accessibility][dbus][debug?]"
- qt3support="[accessibility][debug?]"
- qtsvg="[debug?]"
- qttest="[debug?]"
- qtopengl="[debug?]"
+ qt="[accessibility][dbus][gif][jpeg][png][qt3support][ssl][zlib]"
+ qtcore="[qt3support][ssl]"
+ qtgui="[accessibility][dbus]"
+ qt3support="[accessibility]"
case "${OPENGL_REQUIRED}" in
always)
qt="${qt}[opengl]"
@@ -46,9 +43,10 @@ kde4-base_set_qt_dependencies() {
x11-libs/qt-core:4${qtcore}
x11-libs/qt-gui:4${qtgui}
x11-libs/qt-qt3support:4${qt3support}
- x11-libs/qt-svg:4${qtsvg}
- x11-libs/qt-test:4${qttest}"
- qtopengldepend="x11-libs/qt-opengl:4${qtopengl}"
+ 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
@@ -290,35 +288,28 @@ kde4-base_pkg_setup() {
case "${EAPI}" in
kdebuild-1)
- [[ -n ${QT4_BUILT_WITH_USE_CHECK} || -n ${KDE4_BUILT_WITH_USE_CHECK} ]] && \
+ [[ -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 debug ${IUSE//+} && use debug; then
- if has_version '<x11-libs/qt-4.4.0_alpha:4'; then
- QT4_BUILT_WITH_USE_CHECK="${QT4_BUILT_WITH_USE_CHECK} debug"
- else
- KDE4_BUILT_WITH_USE_CHECK="${KDE4_BUILT_WITH_USE_CHECK}
- x11-libs/qt-core:4 debug
- x11-libs/qt-gui:4 debug
- x11-libs/qt-qt3support:4 debug
- x11-libs/qt-svg:4 debug
- x11-libs/qt-test:4 debug"
- if has opengl ${IUSE//+} && use opengl || [[ ${OPENGL_REQUIRED} == always ]]; then
- KDE4_BUILT_WITH_USE_CHECK="${KDE4_BUILT_WITH_USE_CHECK}
- x11-libs/qt-opengl:4 debug"
- fi
- fi
+ 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
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 39fc3d08a0c9..bae292afe818 100644
--- a/eclass/kde4-functions.eclass
+++ b/eclass/kde4-functions.eclass
@@ -1,6 +1,6 @@
# 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.5 2008/04/04 22:15:24 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.6 2008/05/15 19:49:32 ingmar Exp $
# @ECLASS: kde4-functions.eclass
# @MAINTAINER:
@@ -81,6 +81,7 @@ kde-base/kdebase kde-base/kde-menu
kde-base/kdebase kde-base/kdesu
kde-base/kdebase kde-base/kfile
kde-base/kdebase kde-base/khelpcenter
+kde-base/kdebase kde-base/kiconfinder
kde-base/kdebase kde-base/kioclient
kde-base/kdebase kde-base/kmimetypefinder
kde-base/kdebase kde-base/knetattach
@@ -97,6 +98,7 @@ kde-base/kdebase kde-base/kuiserver
kde-base/kdebase kde-base/kurifilter-plugins
kde-base/kdebase kde-base/nepomuk
kde-base/kdebase kde-base/phonon
+kde-base/kdebase kde-base/solid-hardware
kde-base/kdebase kde-base/soliduiserver
kde-base/kdebase kde-base/kcheckpass
kde-base/kdebase kde-base/kcminit
@@ -155,11 +157,13 @@ 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/kbounce
+kde-base/kdegames kde-base/kdiamond
kde-base/kdegames kde-base/kfourinline
kde-base/kdegames kde-base/kgoldrunner
kde-base/kdegames kde-base/kiriki
@@ -169,6 +173,7 @@ 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
@@ -178,6 +183,7 @@ 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
@@ -192,6 +198,7 @@ kde-base/kdegraphics kde-base/ksnapshot
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/kmix
@@ -270,10 +277,8 @@ kde-base/kdeutils kde-base/kcalc
kde-base/kdeutils kde-base/kcharselect
kde-base/kdeutils kde-base/kdessh
kde-base/kdeutils kde-base/kdf
-kde-base/kdeutils kde-base/kedit
kde-base/kdeutils kde-base/kfloppy
kde-base/kdeutils kde-base/kgpg
-kde-base/kdeutils kde-base/khexedit
kde-base/kdeutils kde-base/kjots
kde-base/kdeutils kde-base/kmilo
kde-base/kdeutils kde-base/kregexpeditor
@@ -351,7 +356,7 @@ is-parent-package() {
buildsycoca() {
debug-print-function ${FUNCNAME} "$@"
- if [[ -x ${KDEDIR}/bin/kbuildsycoca4 ]] && [[ -z "${ROOT}" || "${ROOT}" == "/" ]]; then
+ if [[ -x ${KDEDIR}/bin/kbuildsycoca4 && -z "${ROOT%%/}" ]]; then
# First of all, make sure that the /usr/share/services directory exists
# and it has the right permissions
mkdir -p /usr/share/services
@@ -373,16 +378,16 @@ buildsycoca() {
ebegin "Running kbuildsycoca4 to build global database"
# This is needed because we support multiple kde versions installed together.
- XDG_DATA_DIRS="/usr/share:${KDEDIRS}/share:/usr/local/share"
+ XDG_DATA_DIRS="/usr/share:${KDEDIRS//:/\/share:}/share:/usr/local/share" \
${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
eend $?
echo "Killing dbus session for kbuildsycoca4"
- debug-print "ADDRES ${DBUS_SESSION_BUS_ADDRESS}"
+ debug-print "ADDRESS ${DBUS_SESSION_BUS_ADDRESS}"
debug-print "PID: ${DBUS_SESSION_BUS_PID}"
kill ${DBUS_SESSION_BUS_PID}
eend $?
- unset DBUS_SESSION_BUS_ADDRES DBUS_SESSION_BUS_PID
+ unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
# For some reason this directory gets created with noone other than root
# being able to read it. Hence we chmod it.
@@ -397,7 +402,7 @@ buildsycoca() {
# except the ones in cmake/.
comment_all_add_subdirectory() {
find "$@" -name CMakeLists.txt -print0 | grep -vFzZ "./cmake" | \
- xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' || \
+ xargs -0 sed -i -e '/add_subdirectory/s/^/#DONOTCOMPILE /' -e '/ADD_SUBDIRECTORY/s/^/#DONOTCOMPILE /' || \
die "${LINENO}: Initial sed died"
}
@@ -424,7 +429,8 @@ enable_selected_linguas() {
comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
for lingua in ${KDE_LINGUAS}; do
if use linguas_${lingua}; then
- sed -e "/add_subdirectory(\s*${lingua}\s*)\s*$/ s/^#DONOTCOMPILE //" \
+ sed -e "/add_subdirectory([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
+ -e "/ADD_SUBDIRECTORY([[:space:]]*${lingua}[[:space:]]*)[[:space:]]*$/ s/^#DONOTCOMPILE //" \
-i "${KDE_LINGUAS_DIR:-${S}/po}"/CMakeLists.txt || die "Sed to uncomment linguas_${lingua} failed."
fi
done
@@ -500,16 +506,28 @@ kde4-functions_check_use() {
QT4_BUILT_WITH_USE_CHECK=$(echo "${QT4_BUILT_WITH_USE_CHECK}" | \
tr '[:space:]' '\n' | sort | xargs)
- KDE4_BUILT_WITH_USE_CHECK="x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}
+ local line missing
+ if [[ -n ${KDE4_BUILT_WITH_USE_CHECK[@]} && $(declare -p KDE4_BUILT_WITH_USE_CHECK) = 'declare -a '* ]]; then
+ KDE4_BUILT_WITH_USE_CHECK=("x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}"
+ "${KDE4_BUILT_WITH_USE_CHECK[@]}")
+
+ for line in "${KDE4_BUILT_WITH_USE_CHECK[@]}"; do
+ [[ -z ${line} ]] && continue
+ if ! _kde4-functions_built_with_use ${line}; then
+ missing=true
+ fi
+ done
+ else
+ KDE4_BUILT_WITH_USE_CHECK="x11-libs/qt:4 ${QT4_BUILT_WITH_USE_CHECK}
${KDE4_BUILT_WITH_USE_CHECK}"
- local line missing
- while read line; do
- [[ -z ${line} ]] && continue
- if ! _kde4-functions_built_with_use ${line}; then
- missing=true
- fi
- done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
+ while read line; do
+ [[ -z ${line} ]] && continue
+ if ! _kde4-functions_built_with_use ${line}; then
+ missing=true
+ fi
+ done <<< "${KDE4_BUILT_WITH_USE_CHECK}"
+ fi
if [[ -n ${missing} ]]; then
echo
eerror "Flags marked with an * are missing."
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
index 7224893c300f..34db91a75ec4 100644
--- a/eclass/kde4-meta.eclass
+++ b/eclass/kde4-meta.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.5 2008/03/13 17:57:51 ingmar Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.6 2008/05/15 19:49:32 ingmar Exp $
#
# @ECLASS: kde4-meta.eclass
# @MAINTAINER:
@@ -28,15 +28,16 @@ case ${KDEBASE} in
LICENSE="GPL-2" ;;
koffice) HOMEPAGE="http://www.koffice.org/"
LICENSE="GPL-2" ;;
- *) die "KDEBASE=${KDEBASE} is unsupported." ;;
esac
debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - before blockers"
debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - before blockers"
# Add a blocker on the package we're derived from
-DEPEND="${DEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
-RDEPEND="${RDEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
+if [[ -n ${KDEBASE} ]]; then
+ DEPEND="${DEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
+ RDEPEND="${RDEPEND} !$(get-parent-package ${CATEGORY}/${PN}):${SLOT}"
+fi
debug-print "line ${LINENO} ${ECLASS}: DEPEND ${DEPEND} - after blockers"
debug-print "line ${LINENO} ${ECLASS}: RDEPEND ${RDEPEND} - after blockers"
@@ -48,6 +49,8 @@ case ${KMNAME} in
RDEPEND="${RDEPEND} >=kde-base/qimageblitz-0.0.4"
;;
kdepim)
+ DEPEND="${DEPEND} dev-libs/boost"
+ RDEPEND="${RDEPEND} dev-libs/boost"
if [[ ${PN} != kode ]]; then
DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}"
RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}"
@@ -141,13 +144,6 @@ kde4-meta_pkg_setup() {
kde4-meta_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
- if [[ ${KMNAME} = kdepim ]] && \
- has kontact ${IUSE//+} && \
- use kontact; then
- KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
- KMEXTRACTONLY="${KMEXTRACTONLY} kontact/interfaces/"
- fi
-
kde4-meta_src_extract
kde4-meta_change_cmakelists
}
@@ -233,6 +229,14 @@ kde4-meta_create_extractlists() {
libkdegames"
fi
;;
+ kdepim)
+ KMEXTRACTONLY="${KMEXTRACTONLY}
+ kleopatra/ConfigureChecks.cmake"
+ if has kontact ${IUSE//+} && use kontact; then
+ KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
+ KMEXTRACTONLY="${KMEXTRACTONLY} kontact/interfaces/"
+ fi
+ ;;
koffice)
KMEXTRACTONLY="${KMEXTRACTONLY}
config-endian.h.cmake
@@ -298,8 +302,8 @@ __list_needed_subdirectories() {
debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME} - kmcompileonly_expanded: ${kmcompileonly_expanded}"
- case ${NEED_KDE} in
- svn) : ;;
+ case ${PV} in
+ scm|9999.4) : ;;
*) topdir="${KMNAME}-${PV}/" ;;
esac
@@ -313,6 +317,35 @@ __list_needed_subdirectories() {
echo ${extractlist}
}
+save_library_dependencies() {
+ local depsfile="${T}/${PN}:${SLOT}"
+
+ echo "Saving library dependendencies in ${depsfile##*/}"
+ echo "EXPORT_LIBRARY_DEPENDENCIES(\"${depsfile}\")" >> "${S}/CMakeLists.txt" || \
+ die "Failed to save the library dependencies."
+}
+
+install_library_dependencies() {
+ local depsfile="${T}/${PN}:${SLOT}"
+ echo "Installing library dependendencies as ${depsfile##*/}"
+ insinto /var/lib/kde
+ doins "${depsfile}" || die "Failed to install library dependencies."
+}
+
+load_library_dependencies() {
+ local pn i depsfile
+ echo "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
+}
+
# @FUNCTION: kde4-meta_src_compile
# @DESCRIPTION:
# General function for compiling split KDE4 applications.
@@ -329,12 +362,13 @@ _change_cmakelists_parent_dirs() {
local _olddir _dir
_dir="${S}"/${1}
until [[ ${_dir} == "${S}" ]]; do
- _olddir=$(basename ${_dir})
- _dir=$(dirname ${_dir})
+ _olddir=$(basename "${_dir}")
+ _dir=$(dirname "${_dir}")
debug-print "${LINENO}: processing ${_dir} CMakeLists.txt searching for ${_olddir}"
if [[ -f ${_dir}/CMakeLists.txt ]]; then
- sed -i -e "/[[:space:]]*${_olddir}[[:space:]]*/s/^#DONOTCOMPILE //" ${_dir}/CMakeLists.txt || \
- die "${LINENO}: died in ${FUNCNAME} while processing ${_dir}"
+ sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${_olddir}[[:space:]]*)/s/#DONOTCOMPILE //g" \
+ -e "/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*${_olddir}[[:space:]]*)/s/#DONOTCOMPILE //g" \
+ -i ${_dir}/CMakeLists.txt || die "${LINENO}: died in ${FUNCNAME} while processing ${_dir}"
fi
done
}
@@ -344,11 +378,21 @@ kde4-meta_change_cmakelists() {
pushd "${S}" > /dev/null
+ if [[ -n ${KMSAVELIBS} ]] ; then
+ save_library_dependencies
+ fi
+
+ if [[ -n ${KMLOADLIBS} ]] ; then
+ load_library_dependencies
+ fi
+
comment_all_add_subdirectory ./
# Restore "add_subdirectory( cmake )" in ${S}/CMakeLists.txt
if [[ -f "${S}"/CMakeLists.txt ]]; then
- sed -i -e '/ *cmake */s/^#DONOTCOMPILE //' "${S}"/CMakeLists.txt || die "${LINENO}: cmake sed died"
+ sed -e '/add_subdirectory[[:space:]]*([[:space:]]*cmake[[:space:]]*)/s/^#DONOTCOMPILE //' \
+ -e '/ADD_SUBDIRECTORY[[:space:]]*([[:space:]]*cmake[[:space:]]*)/s/^#DONOTCOMPILE //' \
+ -i "${S}"/CMakeLists.txt || die "${LINENO}: cmake sed died"
fi
if [[ -z ${KMNOMODULE} ]]; then
@@ -391,30 +435,19 @@ kde4-meta_change_cmakelists() {
fi
done
- # Documentation section
- if [[ -n ${docs} ]]; then
- sed -i -e '/ *doc */s/^#DONOTCOMPILE //g' "${S}"/CMakeLists.txt || \
- die "${LINENO}: sed died while uncommenting doc dir"
-
- if [[ -f "${S}"/doc/CMakeLists.txt ]]; then
- sed -i -e "/( *${KMMODULE##*/} *)/s/^#DONOTCOMPILE //g" "${S}"/doc/CMakeLists.txt \
- || die "${LINENO}: sed died while uncommenting apps documentation in doc subdir "
- fi
- fi
-
# KMEXTRACTONLY section - Some ebuilds need to comment out some subdirs in KMMODULE and they use KMEXTRACTONLY
for i in ${KMEXTRACTONLY}; do
if [[ -d "${S}"/${i} && -f "${S}"/${i}/../CMakeLists.txt ]]; then
- sed -i -e "/( *$(basename $i) *)/s/^/#DONOTCOMPILE /" "${S}"/${i}/../CMakeLists.txt || \
+ sed -i -e "/([[:space:]]*$(basename $i)[[:space:]]*)/s/^/#DONOTCOMPILE /" "${S}"/${i}/../CMakeLists.txt || \
die "${LINENO}: sed died while working in the KMEXTRACTONLY section while processing ${i}"
fi
done
- # COLLISION PROTECT section
- # Only install the startkde script as part of kde-base/kdebase-startkde,
- # instead of with every package.
case ${KMNAME} in
kdebase-workspace)
+ # COLLISION PROTECT section
+ # Only install the startkde script as part of kde-base/kdebase-startkde,
+ # instead of with every package.
if [[ ${PN} != "kdebase-startkde" && -f "${S}"/CMakeLists.txt ]]; then
case ${PV} in
*) # The startkde script moved to kdebase-workspace for KDE4 versions > 3.93.0.
@@ -424,11 +457,28 @@ kde4-meta_change_cmakelists() {
esac
fi
;;
+ kdebase-runtime)
+ # COLLISION PROTECT section
+ # Only install the kde4 script as part of kde-base/kdebase-data
+ if [[ ${PN} != "kdebase-data" && -f "${S}"/CMakeLists.txt ]]; then
+ sed -i -e '/^install(PROGRAMS[[:space:]]*[^[:space:]]*\/kde4[[:space:]]/s/^/#DONOTINSTALL /' \
+ "${S}"/CMakeLists.txt || die "Sed to exclude bin/kde4 failed"
+ fi
+ ;;
+ kdepim)
+ case ${PN} in
+ kaddressbook|kmailcvt|kontact|korganizer)
+ sed -i -n -e '/qt4_generate_dbus_interface(.*org\.kde\.kmail\.\(kmail\|mailcomposer\)\.xml/p' \
+ -e '/add_custom_target(kmail_xml /,/)/p' "${S}"/kmail/CMakeLists.txt || die "uncommenting xml failed"
+ _change_cmakelists_parent_dirs kmail
+ ;;
+ esac
+ ;;
+ kdeutils)
# This is sort of a hack to avoid patching 16 kdeutils packages with
# r775410 from upstream trunk which makes blitz optional so superkaramba
# only gets compiled when it is found. Bug #209324. Remove this no later
# than 4.1.
- kdeutils)
if [[ ${PN} != superkaramba && ${SLOT} == kde-4 ]]; then
sed -i -e '/find_package(Blitz REQUIRED)/d' "${S}"/CMakeLists.txt \
|| die "${LINENO}: sed to remove dependency on Blitz failed."
@@ -484,6 +534,10 @@ kde4-meta_src_install() {
kde4-meta_src_make_doc
cmake-utils_src_install
+
+ if [[ -n ${KMSAVELIBS} ]] ; then
+ install_library_dependencies
+ fi
}
# @FUNCTION: kde4-meta_src_make_doc