summaryrefslogtreecommitdiff
path: root/kde-plasma/plasma-workspace
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2015-08-26 00:10:39 +1000
committerMichael Palimaka <kensington@gentoo.org>2015-08-26 00:14:00 +1000
commit809b471f3c387bcff2d5461f4b209c773ae32e04 (patch)
tree49b2ca906e2803bdb50a2998a61cf68f20e2c1f6 /kde-plasma/plasma-workspace
parent05533753408f78186692229b9e88a5edbd0bee10 (diff)
downloadgentoo-809b471f3c387bcff2d5461f4b209c773ae32e04.tar.gz
gentoo-809b471f3c387bcff2d5461f4b209c773ae32e04.tar.xz
kde-plasma: version bump 5.4.0
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'kde-plasma/plasma-workspace')
-rw-r--r--kde-plasma/plasma-workspace/Manifest1
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.4-consolekit2.patch189
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.4-startkde-script.patch40
-rw-r--r--kde-plasma/plasma-workspace/plasma-workspace-5.4.0.ebuild182
4 files changed, 412 insertions, 0 deletions
diff --git a/kde-plasma/plasma-workspace/Manifest b/kde-plasma/plasma-workspace/Manifest
index 72b94b25efb..b25209057f7 100644
--- a/kde-plasma/plasma-workspace/Manifest
+++ b/kde-plasma/plasma-workspace/Manifest
@@ -1 +1,2 @@
DIST plasma-workspace-5.3.2.tar.xz 6860364 SHA256 4165a547efc59dd42a15d24f21f722d88e4acfb6fb6d6a4db3c3d0ce54fa54c4 SHA512 9d93993c897b1c7ccc5fb4871ab7e1061dc61fa10d65ec516f5eb9b8f75ddc6188a6688c74425195fcab33a36cc72bd89787b1e3a8ada4244e7cfbbb1b9367b6 WHIRLPOOL 969cb23c0c9cba2c85d3609f201aeb4aeb0b3f3d6751caa3b89c75bb5e4c2ddcb85386c7454a4897ec4f53c49e3f9c2512e0d794825c97ece3ab7480f1190487
+DIST plasma-workspace-5.4.0.tar.xz 6956048 SHA256 102e06f9d8c1f2be18aefe009c8d66fa99a1d986f392474490fe37d4d1f3993f SHA512 4cf40aacb9888bd5046ec455825d5b6f077a5123a27fef5cac6a9e8ca606a620321d3900aedcfa1e4c605b861fc83451b03606c89166e9ab8b43f729bac0defa WHIRLPOOL ae30bc151fd691be764cccc6b372cc537d8a4142fffe8258421df30c102da5ffc0c5d7e383f7c369b0eaa9168aa0532956019f52314bdc23915af20b16f5a821
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.4-consolekit2.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.4-consolekit2.patch
new file mode 100644
index 00000000000..6131c90bc20
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.4-consolekit2.patch
@@ -0,0 +1,189 @@
+From: Eric Koegel <eric.koegel@gmail.com>
+Date: Wed, 12 Aug 2015 08:33:39 +0000
+Subject: ConsoleKit2 support for screenlocker
+X-Git-Url: http://quickgit.kde.org/?p=plasma-workspace.git&a=commitdiff&h=72578284a1fda5f012cafcaccad6069fadbf9a25
+---
+ConsoleKit2 support for screenlocker
+
+ConsoleKit2 has the same API as systemd-logind for Lock, Unlock,
+PrepareForSleep, and Inhibit. This patch adds the functionality
+for ConsoleKit2 while attempting to minimize code duplication.
+
+REVIEW: 124469
+---
+
+
+--- a/ksmserver/screenlocker/logind.cpp
++++ b/ksmserver/screenlocker/logind.cpp
+@@ -25,13 +25,17 @@
+ #include <QDebug>
+ #include <QDBusConnection>
+ #include <QDBusConnectionInterface>
+-#include <QDBusPendingCallWatcher>
+ #include <QDBusServiceWatcher>
+
+ const static QString s_login1Service = QStringLiteral("org.freedesktop.login1");
+ const static QString s_login1Path = QStringLiteral("/org/freedesktop/login1");
+ const static QString s_login1ManagerInterface = QStringLiteral("org.freedesktop.login1.Manager");
+ const static QString s_login1SessionInterface = QStringLiteral("org.freedesktop.login1.Session");
++
++const static QString s_consolekitService = QStringLiteral("org.freedesktop.ConsoleKit");
++const static QString s_consolekitPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager");
++const static QString s_consolekitManagerInterface = QStringLiteral("org.freedesktop.ConsoleKit.Manager");
++const static QString s_consolekitSessionInterface = QStringLiteral("org.freedesktop.ConsoleKit.Session");
+
+ LogindIntegration::LogindIntegration(const QDBusConnection &connection, QObject *parent)
+ : QObject(parent)
+@@ -42,6 +46,10 @@
+ this))
+ , m_connected(false)
+ , m_inhibitFileDescriptor()
++ , m_service(nullptr)
++ , m_path(nullptr)
++ , m_managerInterface(nullptr)
++ , m_sessionInterface(nullptr)
+ {
+ connect(m_logindServiceWatcher, &QDBusServiceWatcher::serviceRegistered, this, &LogindIntegration::logindServiceRegistered);
+ connect(m_logindServiceWatcher, &QDBusServiceWatcher::serviceUnregistered, this,
+@@ -67,6 +75,11 @@
+ }
+ if (reply.value().contains(s_login1Service)) {
+ logindServiceRegistered();
++ // Don't register ck if we have logind
++ return;
++ }
++ if (reply.value().contains(s_consolekitService)) {
++ consolekitServiceRegistered();
+ }
+ }
+ );
+@@ -89,6 +102,40 @@
+ message.setArguments(QVariantList() << (quint32) QCoreApplication::applicationPid());
+ QDBusPendingReply<QDBusObjectPath> session = m_bus.asyncCall(message);
+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(session, this);
++
++ m_service = &s_login1Service;
++ m_path = &s_login1Path;
++ m_managerInterface = &s_login1ManagerInterface;
++ m_sessionInterface = &s_login1SessionInterface;
++
++ commonServiceRegistered(watcher);
++}
++
++void LogindIntegration::consolekitServiceRegistered()
++{
++ // Don't try to register with ck if we have logind
++ if (m_connected) {
++ return;
++ }
++
++ // get the current session
++ QDBusMessage message = QDBusMessage::createMethodCall(s_consolekitService,
++ s_consolekitPath,
++ s_consolekitManagerInterface,
++ QStringLiteral("GetCurrentSession"));
++ QDBusPendingReply<QDBusObjectPath> session = m_bus.asyncCall(message);
++ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(session, this);
++
++ m_service = &s_consolekitService;
++ m_path = &s_consolekitPath;
++ m_managerInterface = &s_consolekitManagerInterface;
++ m_sessionInterface = &s_consolekitSessionInterface;
++
++ commonServiceRegistered(watcher);
++}
++
++void LogindIntegration::commonServiceRegistered(QDBusPendingCallWatcher *watcher)
++{
+ connect(watcher, &QDBusPendingCallWatcher::finished, this,
+ [this](QDBusPendingCallWatcher *self) {
+ QDBusPendingReply<QDBusObjectPath> reply = *self;
+@@ -97,7 +144,7 @@
+ return;
+ }
+ if (!reply.isValid()) {
+- qDebug() << "The session is not registered with logind" << reply.error().message();
++ qDebug() << "The session is not registered: " << reply.error().message();
+ return;
+ }
+ const QString sessionPath = reply.value().path();
+@@ -105,15 +152,15 @@
+
+ // connections need to be done this way as the object exposes both method and signal
+ // with name "Lock"/"Unlock". Qt is not able to automatically handle this.
+- m_bus.connect(s_login1Service,
++ m_bus.connect(*m_service,
+ sessionPath,
+- s_login1SessionInterface,
++ *m_sessionInterface,
+ QStringLiteral("Lock"),
+ this,
+ SIGNAL(requestLock()));
+- m_bus.connect(s_login1Service,
++ m_bus.connect(*m_service,
+ sessionPath,
+- s_login1SessionInterface,
++ *m_sessionInterface,
+ QStringLiteral("Unlock"),
+ this,
+ SIGNAL(requestUnlock()));
+@@ -123,9 +170,9 @@
+ );
+
+ // connect to manager object's signals we need
+- m_bus.connect(s_login1Service,
+- s_login1Path,
+- s_login1ManagerInterface,
++ m_bus.connect(*m_service,
++ *m_path,
++ *m_managerInterface,
+ QStringLiteral("PrepareForSleep"),
+ this,
+ SIGNAL(prepareForSleep(bool)));
+@@ -136,9 +183,14 @@
+ if (m_inhibitFileDescriptor.isValid()) {
+ return;
+ }
+- QDBusMessage message = QDBusMessage::createMethodCall(s_login1Service,
+- s_login1Path,
+- s_login1ManagerInterface,
++
++ if (!m_connected) {
++ return;
++ }
++
++ QDBusMessage message = QDBusMessage::createMethodCall(*m_service,
++ *m_path,
++ *m_managerInterface,
+ QStringLiteral("Inhibit"));
+ message.setArguments(QVariantList({QStringLiteral("sleep"),
+ i18n("Screen Locker"),
+
+--- a/ksmserver/screenlocker/logind.h
++++ b/ksmserver/screenlocker/logind.h
+@@ -23,6 +23,7 @@
+ #include <QDBusConnection>
+ #include <QDBusUnixFileDescriptor>
+ #include <QObject>
++#include <QDBusPendingCallWatcher>
+
+ class QDBusServiceWatcher;
+
+@@ -59,10 +60,16 @@
+ **/
+ explicit LogindIntegration(const QDBusConnection &connection, QObject *parent = nullptr);
+ void logindServiceRegistered();
++ void consolekitServiceRegistered();
++ void commonServiceRegistered(QDBusPendingCallWatcher *watcher);
+ QDBusConnection m_bus;
+ QDBusServiceWatcher *m_logindServiceWatcher;
+ bool m_connected;
+ QDBusUnixFileDescriptor m_inhibitFileDescriptor;
++ const QString *m_service;
++ const QString *m_path;
++ const QString *m_managerInterface;
++ const QString *m_sessionInterface;
+ };
+
+ #endif
+
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.4-startkde-script.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.4-startkde-script.patch
new file mode 100644
index 00000000000..1630080ca2c
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.4-startkde-script.patch
@@ -0,0 +1,40 @@
+From bf569560bf195ac4e79d65d4103a7161a6a2f2ac Mon Sep 17 00:00:00 2001
+From: Elias Probst <mail@eliasprobst.eu>
+Date: Sat, 4 Jul 2015 11:33:01 +0200
+Subject: [PATCH] [startkde] Gentoo FHS script support
+
+---
+ startkde/startkde.cmake | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
+index 2585600..9350158 100644
+--- a/startkde/startkde.cmake
++++ b/startkde/startkde.cmake
+@@ -210,6 +210,11 @@ for prefix in `echo $scriptpath`; do
+ done
+ done
+
++# Gentoo part for FHS installs
++for file in "@GENTOO_PORTAGE_EPREFIX@/etc/plasma/startup/"*.sh; do
++ test -r "${file}" && . "${file}"
++done
++
+ # Activate the kde font directories.
+ #
+ # There are 4 directories that may be used for supplying fonts for KDE.
+@@ -417,6 +422,11 @@ for prefix in `echo "$scriptpath"`; do
+ done
+ done
+
++# Gentoo part for FHS installs
++for file in "@GENTOO_PORTAGE_EPREFIX@/etc/plasma/shutdown/"*.sh; do
++ test -r "${file}" && . "${file}"
++done
++
+ unset KDE_FULL_SESSION
+ xprop -root -remove KDE_FULL_SESSION
+ unset KDE_SESSION_VERSION
+--
+2.3.6
+
diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.4.0.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.4.0.ebuild
new file mode 100644
index 00000000000..8d7df9f51fe
--- /dev/null
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.4.0.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+KDE_HANDBOOK="true"
+KDE_PUNT_BOGUS_DEPS="true"
+KDE_TEST="true"
+VIRTUALX_REQUIRED="test"
+inherit kde5 multilib pam
+
+DESCRIPTION="KDE Plasma workspace"
+KEYWORDS=" ~amd64"
+IUSE="dbus +drkonqi gps prison qalculate +systemmonitor"
+
+COMMON_DEPEND="
+ $(add_plasma_dep kwayland)
+ $(add_plasma_dep kwin)
+ $(add_plasma_dep libkscreen)
+ $(add_plasma_dep libksysguard)
+ $(add_frameworks_dep baloo)
+ $(add_frameworks_dep kactivities)
+ $(add_frameworks_dep kauth)
+ $(add_frameworks_dep kbookmarks)
+ $(add_frameworks_dep kcmutils)
+ $(add_frameworks_dep kcompletion)
+ $(add_frameworks_dep kconfig)
+ $(add_frameworks_dep kconfigwidgets)
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep kcrash)
+ $(add_frameworks_dep kdbusaddons)
+ $(add_frameworks_dep kdeclarative)
+ $(add_frameworks_dep kdelibs4support)
+ $(add_frameworks_dep kdesu)
+ $(add_frameworks_dep kglobalaccel)
+ $(add_frameworks_dep kguiaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kiconthemes)
+ $(add_frameworks_dep kidletime)
+ $(add_frameworks_dep kio)
+ $(add_frameworks_dep kitemviews)
+ $(add_frameworks_dep kjobwidgets)
+ $(add_frameworks_dep kjs)
+ $(add_frameworks_dep kjsembed)
+ $(add_frameworks_dep knewstuff)
+ $(add_frameworks_dep knotifications)
+ $(add_frameworks_dep knotifyconfig)
+ $(add_frameworks_dep kpackage)
+ $(add_frameworks_dep krunner)
+ $(add_frameworks_dep kservice)
+ $(add_frameworks_dep ktexteditor)
+ $(add_frameworks_dep ktextwidgets)
+ $(add_frameworks_dep kwallet)
+ $(add_frameworks_dep kwidgetsaddons)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep kxmlgui)
+ $(add_frameworks_dep kxmlrpcclient)
+ $(add_frameworks_dep networkmanager-qt)
+ $(add_frameworks_dep plasma)
+ $(add_frameworks_dep solid)
+ dev-libs/wayland
+ dev-qt/qtconcurrent:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5[widgets]
+ dev-qt/qtgui:5[jpeg]
+ dev-qt/qtnetwork:5
+ dev-qt/qtscript:5
+ dev-qt/qtsql:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ dev-qt/qtxml:5
+ media-libs/phonon[qt5]
+ sys-libs/pam
+ sys-libs/zlib
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/xcb-util-keysyms
+ dbus? ( dev-libs/libdbusmenu-qt[qt5] )
+ drkonqi? (
+ $(add_frameworks_dep kdewebkit)
+ dev-qt/qtwebkit:5
+ )
+ gps? ( sci-geosciences/gpsd )
+ prison? ( media-libs/prison:5 )
+ qalculate? ( sci-libs/libqalculate )
+ systemmonitor? (
+ $(add_plasma_dep libksysguard processui)
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ $(add_frameworks_dep kded)
+ $(add_plasma_dep kde-cli-tools)
+ $(add_plasma_dep milou)
+ dev-qt/qdbus:5
+ dev-qt/qtpaths:5
+ dev-qt/qtquickcontrols:5[widgets]
+ x11-apps/mkfontdir
+ x11-apps/xmessage
+ x11-apps/xprop
+ x11-apps/xrdb
+ x11-apps/xset
+ x11-apps/xsetroot
+ !kde-base/freespacenotifier
+ !kde-base/libtaskmanager
+ !kde-base/kcminit
+ !kde-base/kdebase-startkde
+ !kde-base/klipper
+ !kde-base/krunner
+ !kde-base/ksmserver
+ !kde-base/ksplash
+ !kde-base/plasma-workspace
+ !kde-plasma/kio-extras
+"
+DEPEND="${COMMON_DEPEND}
+ x11-proto/xproto
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.4-startkde-script.patch"
+ "${FILESDIR}/${PN}-5.4-consolekit2.patch"
+)
+
+RESTRICT="test"
+
+src_prepare() {
+ # whole patch should be upstreamed, doesn't work in PATCHES
+ epatch "${FILESDIR}/${PN}-tests-optional.patch"
+
+ kde5_src_prepare
+
+ sed -e "s|\`qtpaths|\`/usr/$(get_libdir)/qt5/bin/qtpaths|" -i startkde/startkde.cmake || die
+
+ if ! use drkonqi; then
+ comment_add_subdirectory drkonqi
+ fi
+
+ if ! use systemmonitor; then
+ comment_add_subdirectory systemmonitor
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_find_package dbus dbusmenu-qt5)
+ $(cmake-utils_use_find_package gps libgps)
+ $(cmake-utils_use_find_package prison)
+ $(cmake-utils_use_find_package qalculate Qalculate)
+ )
+
+ kde5_src_configure
+}
+
+src_install() {
+ kde5_src_install
+
+ newpamd "${FILESDIR}/kde.pam" kde
+ newpamd "${FILESDIR}/kde-np.pam" kde-np
+
+ # startup and shutdown scripts
+ insinto /etc/plasma/startup
+ doins "${FILESDIR}/agent-startup.sh"
+
+ insinto /etc/plasma/shutdown
+ doins "${FILESDIR}/agent-shutdown.sh"
+}
+
+pkg_postinst () {
+ kde5_pkg_postinst
+
+ echo
+ elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
+ elog "edit ${EPREFIX}/etc/plasma/startup/agent-startup.sh and"
+ elog "${EPREFIX}/etc/plasma/shutdown/agent-shutdown.sh"
+ echo
+}