Re-sync kde4 eclasses with kde overlay: remove libkworkspace target hacks (requires...
authorAndreas Hüttel <dilfridge@gentoo.org>
Sun, 18 Dec 2011 00:00:45 +0000 (00:00 +0000)
committerAndreas Hüttel <dilfridge@gentoo.org>
Sun, 18 Dec 2011 00:00:45 +0000 (00:00 +0000)
eclass/ChangeLog
eclass/kde4-base.eclass
eclass/kde4-functions.eclass
eclass/kde4-meta.eclass

index efa0857e9822e9f290a3e0a67c28aec209fd8c3d..4b645640b57b53c1e4f761cc2821cd946380c5e9 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for eclass directory
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.47 2011/12/17 03:57:38 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.48 2011/12/18 00:00:45 dilfridge Exp $
+
+  18 Dec 2011; Andreas K. Huettel <dilfridge@gentoo.org> kde4-base.eclass,
+  kde4-functions.eclass, kde4-meta.eclass:
+  Re-sync kde4 eclasses with kde overlay: remove libkworkspace target hacks
+  (requires libkworkspace rebuild), force qt-4.7.4 for kde-4.8, properly treat
+  kde-4.[789] version numbers, warn if the handbook useflag is added manually
 
   17 Dec 2011; Maciej Mrozowski <reavertm@gentoo.org> eutils.eclass:
   Revert old eshopts_{pop,push} implementations until new ones pass unit tests.
index 0600665c729a1b73fa5e144ea57fa0dfffc03391..a9036ed760d678498730b69f6f4517cc2e470c01 100644 (file)
@@ -1,6 +1,6 @@
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.110 2011/10/29 15:07:16 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.111 2011/12/18 00:00:45 dilfridge Exp $
 
 # @ECLASS: kde4-base.eclass
 # @MAINTAINER:
 # NOTE: KDE 4 ebuilds currently support EAPI "3".  This will be reviewed
 # over time as new EAPI versions are approved.
 
+# @ECLASS-VARIABLE: KDE_SELINUX_MODULE
+# @DESCRIPTION:
+# If set to "none", do nothing.
+# For any other value, add selinux to IUSE, and depending on that useflag
+# add a dependency on sec-policy/selinux-${KDE_SELINUX_MODULE} to (R)DEPEND
+: ${KDE_SELINUX_MODULE:=none}
+
 # @ECLASS-VARIABLE: VIRTUALX_REQUIRED
 # @DESCRIPTION:
 # For proper description see virtualx.eclass manpage.
@@ -192,10 +199,10 @@ esac
 # @ECLASS-VARIABLE: QT_MINIMAL
 # @DESCRIPTION:
 # Determine version of qt we enforce as minimal for the package.
-if version_is_at_least 4.5.50 "${KDE_MINIMAL}"; then
-       QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
+if version_is_at_least 4.7.80 "${KDE_MINIMAL}"; then
+       QT_MINIMAL="${QT_MINIMAL:-4.7.4}"
 else
-       QT_MINIMAL="${QT_MINIMAL:-4.6.3}"
+       QT_MINIMAL="${QT_MINIMAL:-4.7.0}"
 fi
 
 # Declarative dependencies
@@ -381,6 +388,14 @@ case ${KDE_HANDBOOK} in
 esac
 unset kdehandbookdepend kdehandbookrdepend
 
+case ${KDE_SELINUX_MODULE} in
+       none)   ;;
+       *)
+               IUSE+=" selinux"
+               kdecommondepend+=" selinux? ( sec-policy/selinux-${KDE_SELINUX_MODULE} )"
+               ;;
+esac
+
 case ${KDE_REQUIRED} in
        always)
                IUSE+=" aqua"
@@ -437,7 +452,7 @@ _calculate_src_uri() {
        case ${KDEBASE} in
                kde-base)
                        case ${PV} in
-                               4.[456].8[05] | 4.[456].9[023568])
+                               4.[456789].8[05] | 4.[456789].9[023568])
                                        # Unstable KDE SC releases
                                        SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2"
                                        if ! version_is_at_least 4.6.80 ${PV}
@@ -600,6 +615,11 @@ debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
 kde4-base_pkg_setup() {
        debug-print-function ${FUNCNAME} "$@"
 
+       if has handbook ${IUSE} || has "+handbook" ${IUSE} && [ "${KDE_HANDBOOK}" != optional ] ; then
+               eqawarn "Handbook support is enabled via KDE_HANDBOOK=optional in the ebuild."
+               eqawarn "Please do not just set IUSE=handbook, as this leads to dependency errors."
+       fi
+
        if use_if_iuse kdeprefix; then
                eerror "Sorry, kdeprefix support has been removed."
                eerror "Please remove kdeprefix from your USE variable."
@@ -721,27 +741,6 @@ kde4-base_src_prepare() {
                load_library_dependencies
        fi
 
-       # Replace KDE4Workspace library targets
-       find "${S}" -name CMakeLists.txt \
-               -exec sed -i -r \
-                       -e 's/\$\{KDE4WORKSPACE_TASKMANAGER_(LIBRARY|LIBS)\}/taskmanager/g' \
-                       -e 's/\$\{KDE4WORKSPACE_KWORKSPACE_(LIBRARY|LIBS)\}/kworkspace/g' \
-                       -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROLIFACES_(LIBRARY|LIBS)\}/solidcontrolifaces/g' \
-                       -e 's/\$\{KDE4WORKSPACE_SOLIDCONTROL_(LIBRARY|LIBS)\}/solidcontrol/g' \
-                       -e 's/\$\{KDE4WORKSPACE_PROCESSUI_(LIBRARY|LIBS)\}/processui/g' \
-                       -e 's/\$\{KDE4WORKSPACE_LSOFUI_(LIBRARY|LIBS)\}/lsofui/g' \
-                       -e 's/\$\{KDE4WORKSPACE_PLASMACLOCK_(LIBRARY|LIBS)\}/plasmaclock/g' \
-                       -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERYCLIENT_(LIBRARY|LIBS)\}/nepomukqueryclient/g' \
-                       -e 's/\$\{KDE4WORKSPACE_NEPOMUKQUERY_(LIBRARY|LIBS)\}/nepomukquery/g' \
-                       -e 's/\$\{KDE4WORKSPACE_KSCREENSAVER_(LIBRARY|LIBS)\}/kscreensaver/g' \
-                       -e 's/\$\{KDE4WORKSPACE_WEATHERION_(LIBRARY|LIBS)\}/weather_ion/g' \
-                       -e 's/\$\{KDE4WORKSPACE_KWINEFFECTS_(LIBRARY|LIBS)\}/kwineffects/g' \
-                       -e 's/\$\{KDE4WORKSPACE_KDECORATIONS_(LIBRARY|LIBS)\}/kdecorations/g' \
-                       -e 's/\$\{KDE4WORKSPACE_KSGRD_(LIBRARY|LIBS)\}/ksgrd/g' \
-                       -e 's/\$\{KDE4WORKSPACE_KEPHAL_(LIBRARY|LIBS)\}/kephal/g' \
-                       {} + \
-               || die 'failed to replace KDE4Workspace library targets'
-
        # Hack for manuals relying on outdated DTD, only outside kde-base/koffice/...
        if [[ -z ${KDEBASE} ]]; then
                find "${S}" -name "*.docbook" \
index ad15b6e26353653c2af66cfcb0930f4137253155..9ec0a818e2aa1a9903f24f621026e9dd4546d512 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.57 2011/10/06 14:13:29 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-functions.eclass,v 1.58 2011/12/18 00:00:45 dilfridge Exp $
 
 inherit versionator
 
@@ -418,11 +418,6 @@ add_kdebase_dep() {
 
        [[ -z ${1} ]] && die "Missing parameter"
 
-       # There will be no kdelibs 4.8+ (the next kdelibs will be a non-BC 5.0, apparently)
-       if [[ ${1} == kdelibs ]] && version_is_at_least 4.7.50 ${ver}; then
-               ver=4.7.1
-       fi
-
        echo " >=kde-base/${1}-${ver}:4[aqua=${2:+,${2}}]"
 }
 
index 08cbfa20016d6136d607bbfe08c7788c727c3d4a..1178a209a4afae5a23953d7ad9e45b40fd2fe6fb 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2011 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.58 2011/10/29 15:07:16 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kde4-meta.eclass,v 1.59 2011/12/18 00:00:45 dilfridge Exp $
 #
 # @ECLASS: kde4-meta.eclass
 # @MAINTAINER:
@@ -556,6 +556,9 @@ kde4-meta_change_cmakelists() {
                                sed -e '/startkde/s/^/#DONOTINSTALL /' \
                                        -i CMakeLists.txt || die "${LINENO}: sed died in the kdebase-startkde collision prevention section"
                        fi
+                       # Remove workspace target prefix in order to get direct linking to workspace libs
+                       sed -e '/set(KDE4WORKSPACE_TARGET_PREFIX/s/^/#OVERRIDE /' \
+                               -i CMakeLists.txt || die "${LINENO}: sed died in KDE4WORKSPACE_TARGET_PREFIX removal section"
                        # Strip EXPORT feature section from workspace for KDE4 versions > 4.1.82
                        if [[ ${PN} != libkworkspace ]]; then
                                sed -e '/install(FILES ${CMAKE_CURRENT_BINARY_DIR}\/KDE4WorkspaceConfig.cmake/,/^[[:space:]]*FILE KDE4WorkspaceLibraryTargets.cmake )[[:space:]]*^/d' \