summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/kde4-base.eclass282
-rw-r--r--eclass/kde4-functions.eclass187
-rw-r--r--eclass/kde4-meta.eclass53
3 files changed, 344 insertions, 178 deletions
diff --git a/eclass/kde4-base.eclass b/eclass/kde4-base.eclass
index 721f365390af..dd1dde7b29e0 100644
--- a/eclass/kde4-base.eclass
+++ b/eclass/kde4-base.eclass
@@ -1,40 +1,51 @@
# 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.12 2008/05/17 14:09:03 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.13 2008/10/02 06:49:02 jmbsvicetto Exp $
# @ECLASS: kde4-base.eclass
# @MAINTAINER:
# kde@gentoo.org
-# @BLURB: This eclass provides functions for kde 4.0 ebuilds
+# @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,
-# hence you must define EAPI="1" in the ebuild, before inheriting any eclasses.
+# and use deps from EAPI="2", hence you must define EAPI="2" in the ebuild,
+# before inheriting any eclasses.
-inherit base eutils multilib cmake-utils kde4-functions
+inherit base cmake-utils eutils kde4-functions multilib
-EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+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
- kdebuild-1)
- qt="[accessibility][dbus][gif][jpeg][png][qt3support][ssl][zlib]"
- qtcore="[qt3support][ssl]"
- qtgui="[accessibility][dbus]"
- qt3support="[accessibility]"
+ 2 | 2_pre3 | 2_pre2 | 2_pre1)
+
+ qt="["
case "${OPENGL_REQUIRED}" in
always)
- qt="${qt}[opengl]"
+ qt="${qt}opengl,"
;;
optional)
- qt="${qt}[opengl?]"
+ qt="${qt}opengl?,"
;;
esac
+ qt="${qt}accessibility,dbus,gif,jpeg,png,qt3support,ssl,zlib]"
+ qtcore="[qt3support,ssl]"
+ qtgui="[accessibility,dbus]"
+ qt3support="[accessibility]"
;;
esac
@@ -50,7 +61,7 @@ kde4-base_set_qt_dependencies() {
# allow monolithic qt for PV < 4.1
case "${PV}" in
- scm|9999.4|4.1*) : ;;
+ scm|9999*|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 )"
@@ -77,13 +88,30 @@ kde4-base_set_qt_dependencies() {
}
kde4-base_set_qt_dependencies
-DEPEND="${DEPEND} ${COMMONDEPEND}
- >=dev-util/cmake-2.4.7-r1
+# Set the cmake dependencies
+case "${PV}" in
+ 9999*)
+ 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)
+ IUSE="${IUSE} kdeprefix"
+ ;;
+esac
+
# @ECLASS-VARIABLE: OPENGL_REQUIRED
# @DESCRIPTION:
# Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
@@ -144,84 +172,150 @@ case ${NEED_KDE} in
# Should only be used by 'kde-base'-ebuilds
if [[ "${KDEBASE}" == "kde-base" ]]; then
case ${PV} in
- 3.9*) _kdedir="3.9" ;;
- 4*) _kdedir="4.0" ;;
- *) die "NEED_KDE=latest not supported for PV=${PV}" ;;
+ 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" ;;
+ *)
+ die "NEED_KDE=latest not supported for PV=${PV}" ;;
esac
_operator=">="
- _pv="-${PV}:kde-4"
else
- _kdedir="4.0"
- _pv=":kde-4"
+ case ${PV} in
+ 4.1 | 4.0.9* | 4.0.8*) _kdedir="4.1" ;;
+ 4.0*) _kdedir="4.0" ;;
+ 3.9*) _kdedir="3.9" ;;
+ *) die "NEED_KDE=latest not supported for PV=${PV}" ;;
+ esac
fi
;;
- scm|svn|9999*|:kde-svn)
- _kdedir="svn"
- _pv=":kde-svn"
- export NEED_KDE="svn"
- ;;
- *:kde-svn)
+
+ # NEED_KDE=":${SLOT}"
+ :kde-svn)
_kdedir="svn"
- _operator=">="
_pv="-${NEED_KDE}"
export NEED_KDE="svn"
;;
- # The ebuild handles dependencies, KDEDIR, SLOT.
- none)
- :
+ :4.1)
+ _kdedir="4.1"
+ _pv="${NEED_KDE}"
;;
- # NEED_KDE=":${SLOT}"
:kde-4)
_kdedir="4.0"
_pv="${NEED_KDE}"
;;
+
# NEED_KDE="${PV}:${SLOT}"
+ *:kde-svn)
+ _kdedir="svn"
+ _operator=">="
+ _pv="-${NEED_KDE}"
+ export NEED_KDE="svn"
+ ;;
+ *:4.1)
+ _kdedir="4.1"
+ _operator=">="
+ _pv="-${NEED_KDE}"
+ ;;
*:kde-4)
_kdedir="4.0"
_operator=">="
_pv="-${NEED_KDE}"
;;
- 3.9*)
- _kdedir="3.9"
+
+ # NEED_KDE="${PV}"
+ scm|svn|9999*)
+ _kdedir="svn"
_operator=">="
- _pv="-${NEED_KDE}:kde-4"
+ _pv="-${NEED_KDE}:kde-svn"
+ export NEED_KDE="svn"
;;
- 4*)
+ 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"
;;
- *) die "NEED_KDE=${NEED_KDE} currently not supported."
+ 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
- KDEDIR="/usr/kde/${_kdedir}"
- KDEDIRS="/usr:/usr/local:${KDEDIR}"
+ #Set the SLOT
if [[ -n ${KDEBASE} ]]; then
if [[ ${NEED_KDE} = svn ]]; then
SLOT="kde-svn"
else
- SLOT="kde-4"
+ case ${PV} in
+ 4.1* | 4.0.9* | 4.0.8*) SLOT="4.1" ;;
+ *) SLOT="kde-4" ;;
+ 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
+ if [[ ${SLOT} != ${KDE_SLOT} ]]; then
+ DEPEND="${DEPEND}
+ !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+ RDEPEND="${RDEPEND}
+ !kdeprefix? ( !kde-base/${PN}:${KDE_SLOT}[-kdeprefix] )"
+ fi
+ done
+ ;;
+ esac
+
# We only need to add the dependencies if ${PN} is not "kdelibs" or "kdepimlibs"
if [[ ${PN} != "kdelibs" ]]; then
- DEPEND="${DEPEND}
- ${_operator}kde-base/kdelibs${_pv}"
- RDEPEND="${RDEPEND}
- ${_operator}kde-base/kdelibs${_pv}"
+ 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
- DEPEND="${DEPEND}
- ${_operator}kde-base/kdepimlibs${_pv}"
- RDEPEND="${RDEPEND}
- ${_operator}kde-base/kdepimlibs${_pv}"
+ 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
- unset _operator _pv _kdedir
+ unset _operator _pv
fi
# Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
@@ -237,7 +331,9 @@ if [[ -n ${KDEBASE} ]]; then
case ${KDEBASE} in
kde-base)
case ${PV} in
- *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2";;
+ 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)
@@ -249,33 +345,16 @@ if [[ -n ${KDEBASE} ]]; then
fi
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND ${DEPEND} - before blockers"
-
-# Monolithic ebuilds should add blockers for split ebuilds in the same slot.
-# If KMNAME is not set then this is not a split package
-if [[ -n ${KDEBASE} && -z ${KMNAME} ]]; then
- for _x in $(get-child-packages ${CATEGORY}/${PN}); do
- DEPEND="${DEPEND} !${_x}:${SLOT}"
- RDEPEND="${RDEPEND} !${_x}:${SLOT}"
- done
- unset _x
-fi
-
-debug-print "${BASH_SOURCE} ${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND ${DEPEND} - after blockers"
# @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.
-if [[ -n ${KDEBASE} ]]; then
- PREFIX=${KDEDIR}
-else
- # if PREFIX is not defined we set it to the default value of /usr
- PREFIX="${PREFIX:-/usr}"
-fi
+# This value is set on pkg_setup
+PREFIX=""
-debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - KDEDIR ${KDEDIR} - KDEDIRS ${KDEDIRS}- PREFIX ${PREFIX} - NEED_KDE ${NEED_KDE}"
+debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - NEED_KDE ${NEED_KDE}"
# @FUNCTION: kde4-base_pkg_setup
# @DESCRIPTION:
@@ -286,8 +365,40 @@ debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SLOT ${SLOT} - KDEDIR ${KDEDIR} -
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 use kdeprefix; then
+ KDEDIR="/usr/kde/${_kdedir}"
+ KDEDIRS="/usr:/usr/local:${KDEDIR}"
+ else
+ KDEDIR="/usr"
+ KDEDIRS="/usr:/usr/local"
+ fi
+ ;;
+ *)
+ KDEDIR="/usr"
+ KDEDIRS="/usr:/usr/local"
+ ;;
+ esac
+ fi
+
+ if [[ -n ${KDEBASE} ]]; then
+ PREFIX=${KDEDIR}
+ else
+ # if PREFIX is not defined we set it to the default value of /usr
+ PREFIX="${PREFIX:-/usr}"
+ fi
+
+ unset _kdedir
+
case "${EAPI}" in
- kdebuild-1)
+ 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!"
;;
@@ -354,7 +465,7 @@ kde4-base_apply_patches() {
_packages="${PN}"
fi
if [[ $(declare -p PATCHES) != 'declare -a '* ]]; then
- PATCHES=(${PATCHES})
+ die "PATCHES needs to be an array!"
fi
for _p in ${_packages}; do
for _f in "${_patchdir}"/${_p}-${PV}-*{diff,patch}; do
@@ -418,9 +529,17 @@ kde4-base_src_unpack() {
# General function for compiling KDE4 applications.
kde4-base_src_compile() {
debug-print-function ${FUNCNAME} "$@"
-
- kde4-base_src_configure
- kde4-base_src_make
+ 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
@@ -453,11 +572,17 @@ kde4-base_src_configure() {
# 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/
- cmake-utils_src_configureout
+ # hardcode path to *.cmake KDE files
+ PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
+
+ [ -e CMakeLists.txt ] && cmake-utils_src_configureout
}
# @FUNCTION: kde4-base_src_make
@@ -490,7 +615,10 @@ kde4-base_src_install() {
debug-print-function ${FUNCNAME} "$@"
kde4-base_src_make_doc
- cmake-utils_src_install
+ 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
diff --git a/eclass/kde4-functions.eclass b/eclass/kde4-functions.eclass
index 99ec36ff4ba9..eddf608e102f 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.7 2008/05/17 14:09:03 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.8 2008/10/02 06:49:02 jmbsvicetto Exp $
# @ECLASS: kde4-functions.eclass
# @MAINTAINER:
@@ -29,6 +29,17 @@ if [[ "${KMNAME}" == "koffice" || "${PN}" == "koffice" ]]; then
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=( "kde-svn" )
+
# @ECLASS-VARIABLE: KDE_DERIVATION_MAP
# @DESCRIPTION:
# Map of the monolithic->split ebuild derivation.
@@ -37,6 +48,20 @@ fi
#
# 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
@@ -46,6 +71,8 @@ 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
@@ -60,82 +87,88 @@ 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/kappfinder
-kde-base/kdebase kde-base/kdepasswd
-kde-base/kdebase kde-base/kdialog
-kde-base/kdebase kde-base/keditbookmarks
-kde-base/kdebase kde-base/kfind
-kde-base/kdebase kde-base/kinfocenter
-kde-base/kdebase kde-base/konqueror
-kde-base/kdebase kde-base/konsole
-kde-base/kdebase kde-base/kwrite
-kde-base/kdebase kde-base/libkonq
-kde-base/kdebase kde-base/nsplugins
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/kde-menu
+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/kstart
-kde-base/kdebase kde-base/kstyles
-kde-base/kdebase kde-base/ktimezoned
-kde-base/kdebase kde-base/ktraderclient
-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
-kde-base/kdebase kde-base/kdebase-startkde
-kde-base/kdebase kde-base/kstartupconfig
-kde-base/kdebase kde-base/kde-menu-icons
-kde-base/kdebase kde-base/kde-wallpapers
-kde-base/kdebase kde-base/kdm
-kde-base/kdebase kde-base/khotkeys
-kde-base/kdebase kde-base/klipper
-kde-base/kdebase kde-base/kmenuedit
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/qyoto
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
@@ -162,7 +195,9 @@ 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
@@ -179,6 +214,7 @@ 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
@@ -190,17 +226,24 @@ 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
@@ -221,11 +264,14 @@ 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
@@ -236,6 +282,7 @@ 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
@@ -250,22 +297,24 @@ 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/kdeaccounts-plugin
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-kioslaves
kde-base/kdesdk kde-base/kdesdk-misc
kde-base/kdesdk kde-base/kdesdk-scripts
+kde-base/kdesdk kde-base/kdesdk-strigi-analyzer
kde-base/kdesdk kde-base/kmtrace
kde-base/kdesdk kde-base/kompare
kde-base/kdesdk kde-base/kspy
kde-base/kdesdk kde-base/kstartperf
-kde-base/kdesdk kde-base/strigi-analyzer
kde-base/kdesdk kde-base/kuiviewer
+kde-base/kdesdk kde-base/lokalize
kde-base/kdesdk kde-base/poxml
+kde-base/kdesdk kde-base/strigi-analyzer
kde-base/kdesdk kde-base/umbrello
kde-base/kdetoys kde-base/amor
kde-base/kdetoys kde-base/kteatime
@@ -279,12 +328,11 @@ kde-base/kdeutils kde-base/kdessh
kde-base/kdeutils kde-base/kdf
kde-base/kdeutils kde-base/kfloppy
kde-base/kdeutils kde-base/kgpg
-kde-base/kdeutils kde-base/kjots
kde-base/kdeutils kde-base/kmilo
kde-base/kdeutils kde-base/kregexpeditor
-kde-base/kdeutils kde-base/kdessh
kde-base/kdeutils kde-base/ktimer
kde-base/kdeutils kde-base/kwallet
+kde-base/kdeutils kde-base/okteta
kde-base/kdeutils kde-base/superkaramba
kde-base/kdeutils kde-base/sweeper
kde-base/kdewebdev kde-base/kfilereplace
@@ -292,20 +340,6 @@ kde-base/kdewebdev kde-base/kimagemapeditor
kde-base/kdewebdev kde-base/klinkstatus
kde-base/kdewebdev kde-base/kxsldbg
kde-base/kdewebdev kde-base/quanta
-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
'
# @FUNCTION: get-parent-package
@@ -357,41 +391,19 @@ buildsycoca() {
debug-print-function ${FUNCNAME} "$@"
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
- chown root:0 /usr/share/services
- chmod 0755 /usr/share/services
+ # Make sure tha cache file exists, or kbuildsycoca4 will fail
+ touch "${KDEDIR}/share/kde4/services/ksycoca4"
- # kbuildsycoca4 needs a running dbus session to work correctly.
- # We have to start a new dbus session, because the DBUS_SESSION_BUS_ADDRESS in the environment
- # could from from the user's environment (through su [without '-']), causing kbuildsycoca4 to hang.
-
- echo "Starting dbus session for kbuildsycoca4"
- local _i
- for _i in $(dbus-launch); do
- # We export both the ADDRESS _and_ the PID. We need the latter only to kill our session.
- debug-print "Exporting: ${_i}"
- export "${_i}";
- done
- debug-print "kbuildsycoca4 is using ${DBUS_SESSION_BUS_ADDRESS}"
+ # 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:${KDEDIRS//:/\/share:}/share:/usr/local/share" \
- ${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
- eend $?
-
- echo "Killing dbus session for kbuildsycoca4"
- debug-print "ADDRESS ${DBUS_SESSION_BUS_ADDRESS}"
- debug-print "PID: ${DBUS_SESSION_BUS_PID}"
- kill ${DBUS_SESSION_BUS_PID}
+ DISPLAY="" DBUS_SESSION_BUS_ADDRESS="" \
+ ${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
eend $?
- 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.
- chmod -R 0755 "${ROOT}"/usr/share/kde4
fi
}
@@ -426,13 +438,22 @@ done
# but this default can be overridden by defining KDE_LINGUAS_DIR.
enable_selected_linguas() {
local lingua
- comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
+
for lingua in ${KDE_LINGUAS}; do
- if use linguas_${lingua}; then
+ if [ -e "${S}"/po/"${lingua}".po ]; then
+ mv "${S}"/po/"${lingua}".po "${S}"/po/"${lingua}".po.old
+ fi
+ done
+ comment_all_add_subdirectory "${KDE_LINGUAS_DIR:-${S}/po}"
+ for lingua in ${LINGUAS}; do
+ if [ -d "${S}"/po/"${lingua}" ]; then
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
+ if [ -e "${S}"/po/"${lingua}".po.old ]; then
+ mv "${S}"/po/"${lingua}".po.old "${S}"/po/"${lingua}".po
+ fi
done
}
diff --git a/eclass/kde4-meta.eclass b/eclass/kde4-meta.eclass
index 34db91a75ec4..219e7e9d3237 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.6 2008/05/15 19:49:32 ingmar Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.7 2008/10/02 06:49:02 jmbsvicetto Exp $
#
# @ECLASS: kde4-meta.eclass
# @MAINTAINER:
@@ -17,7 +17,14 @@
inherit multilib kde4-functions kde4-base
-EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_test src_install pkg_postinst pkg_postrm
+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
if [[ -z ${KMNAME} ]]; then
die "kde4-meta.eclass inherited but KMNAME not defined - broken ebuild"
@@ -49,17 +56,17 @@ case ${KMNAME} in
RDEPEND="${RDEPEND} >=kde-base/qimageblitz-0.0.4"
;;
kdepim)
- DEPEND="${DEPEND} dev-libs/boost"
+ DEPEND="${DEPEND} dev-libs/boost app-office/akonadi-server"
RDEPEND="${RDEPEND} dev-libs/boost"
if [[ ${PN} != kode ]]; then
DEPEND="${DEPEND} >=kde-base/kode-${PV}:${SLOT}"
RDEPEND="${RDEPEND} >=kde-base/kode-${PV}:${SLOT}"
fi
case ${PN} in
- akregator|kaddressbook|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
+ akregator|kaddressbook|kjots|kmail|kmobiletools|knode|knotes|korganizer|ktimetracker)
IUSE="+kontact"
- DEPEND="${DEPEND} kontact? ( >=kde-base/kontact-${PV}:${SLOT} )"
- RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontact-${PV}:${SLOT} )"
+ DEPEND="${DEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
+ RDEPEND="${RDEPEND} kontact? ( >=kde-base/kontactinterfaces-${PV}:${SLOT} )"
;;
esac
;;
@@ -234,7 +241,7 @@ kde4-meta_create_extractlists() {
kleopatra/ConfigureChecks.cmake"
if has kontact ${IUSE//+} && use kontact; then
KMEXTRA="${KMEXTRA} kontact/plugins/${PLUGINNAME:-${PN}}"
- KMEXTRACTONLY="${KMEXTRACTONLY} kontact/interfaces/"
+ KMEXTRACTONLY="${KMEXTRACTONLY} kontactinterfaces/"
fi
;;
koffice)
@@ -248,14 +255,18 @@ kde4-meta_create_extractlists() {
esac
# Don't install cmake modules for split ebuilds to avoid collisions.
case ${KMNAME} in
- kdebase-workspace|kdebase-runtime|kdepim|kdegames|kdegraphics)
- if [[ ${PN} != "libkdegames" ]]; then
- KMCOMPILEONLY="${KMCOMPILEONLY}
- cmake/modules/"
- else
- KMEXTRA="${KMEXTRA}
- cmake/modules/"
- fi
+ kdebase-runtime|kdebase-workspace|kdeedu|kdegames|kdegraphics|kdepim)
+ case ${PN} in
+ libkdegames|libkdeedu|marble)
+ KMEXTRA="${KMEXTRA}
+ cmake/modules/"
+ ;;
+
+ *)
+ KMCOMPILEONLY="${KMCOMPILEONLY}
+ cmake/modules/"
+ ;;
+ esac
;;
esac
@@ -303,7 +314,7 @@ __list_needed_subdirectories() {
case ${PV} in
- scm|9999.4) : ;;
+ scm|9999*) : ;;
*) topdir="${KMNAME}-${PV}/" ;;
esac
@@ -352,7 +363,13 @@ load_library_dependencies() {
kde4-meta_src_compile() {
debug-print-function ${FUNCNAME} "$@"
- kde4-meta_src_configure
+ case "${EAPI}" in
+ 2 | 2_pre3 | 2_pre2 | 2_pre1)
+ ;;
+ *)
+ kde4-base_meta_configure
+ ;;
+ esac
kde4-meta_src_make
}
@@ -467,7 +484,7 @@ kde4-meta_change_cmakelists() {
;;
kdepim)
case ${PN} in
- kaddressbook|kmailcvt|kontact|korganizer)
+ kaddressbook|kalarm|kmailcvt|kontact|korganizer|korn)
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