commit:     e523ec3c5738860936173e5d006b42481a7cb8d0
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  9 18:42:20 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  9 19:24:12 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e523ec3c

kde-plasma/plasma-workspace: Add Plasma/5.9 branch fixes

Both fixes are also in Plasma 5.8.7.

See also:
https://bugs.kde.org/show_bug.cgi?id=377280
https://bugs.kde.org/show_bug.cgi?id=379414

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 ...plasma-workspace-5.9.5.1-pinned-launchers.patch |  56 +++++++
 .../plasma-workspace-5.9.5.1-startup-crash.patch   |  47 ++++++
 .../plasma-workspace-5.9.5.1-r2.ebuild             | 173 +++++++++++++++++++++
 3 files changed, 276 insertions(+)

diff --git 
a/kde-plasma/plasma-workspace/files/plasma-workspace-5.9.5.1-pinned-launchers.patch
 
b/kde-plasma/plasma-workspace/files/plasma-workspace-5.9.5.1-pinned-launchers.patch
new file mode 100644
index 00000000000..ea1084d417d
--- /dev/null
+++ 
b/kde-plasma/plasma-workspace/files/plasma-workspace-5.9.5.1-pinned-launchers.patch
@@ -0,0 +1,56 @@
+From 89b244a1ff72925805da6e5f44979ad4cb647468 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= <[email protected]>
+Date: Mon, 22 May 2017 10:08:16 +0200
+Subject: We should not forget the launchers that are not currently shown
+
+Summary:
+The pinned launchers that are assigned to other activities
+will have a -1 as the order. We should not forget them
+when saving to the configuration file.
+
+Reviewers: hein, mart
+
+Reviewed By: hein
+
+Subscribers: plasma-devel
+
+Tags: #plasma
+
+Differential Revision: https://phabricator.kde.org/D5933
+---
+ libtaskmanager/tasksmodel.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/libtaskmanager/tasksmodel.cpp b/libtaskmanager/tasksmodel.cpp
+index 19f1bca..0150761 100644
+--- a/libtaskmanager/tasksmodel.cpp
++++ b/libtaskmanager/tasksmodel.cpp
+@@ -1545,6 +1545,7 @@ void TasksModel::syncLaunchers()
+     }
+ 
+     QMap<int, QString> sortedShownLaunchers;
++    QStringList sortedHiddenLaunchers;
+ 
+     foreach(const QString &launcherUrlStr, launcherList()) {
+         int row = -1;
+@@ -1564,6 +1565,8 @@ void TasksModel::syncLaunchers()
+ 
+         if (row != -1) {
+             sortedShownLaunchers.insert(row, launcherUrlStr);
++        } else {
++            sortedHiddenLaunchers << launcherUrlStr;
+         }
+     }
+ 
+@@ -1588,7 +1591,8 @@ void TasksModel::syncLaunchers()
+             d->sortedPreFilterRows.replace(sortMapIndices.at(i), 
preFilterRows.at(i));
+         }
+     }
+-    setLauncherList(sortedShownLaunchers.values());
++
++    setLauncherList(sortedShownLaunchers.values() + sortedHiddenLaunchers);
+     d->launcherSortingDirty = false;
+ }
+ 
+-- 
+cgit v0.11.2

diff --git 
a/kde-plasma/plasma-workspace/files/plasma-workspace-5.9.5.1-startup-crash.patch
 
b/kde-plasma/plasma-workspace/files/plasma-workspace-5.9.5.1-startup-crash.patch
new file mode 100644
index 00000000000..0c2e27c67ce
--- /dev/null
+++ 
b/kde-plasma/plasma-workspace/files/plasma-workspace-5.9.5.1-startup-crash.patch
@@ -0,0 +1,47 @@
+From d602198f6807bbfa175b6aaaa1bdf1708fce703e Mon Sep 17 00:00:00 2001
+From: Marco Martin <[email protected]>
+Date: Mon, 22 May 2017 17:37:56 +0200
+Subject: don't check for panel visible during startup
+
+if any kscreen related activities occurred
+during startup, the panel wouldn't be visible
+yet, and this would assert. This often happens
+when a screen gets disabled at startup
+
+CCBUG:377280
+---
+ shell/panelview.cpp   | 1 +
+ shell/shellcorona.cpp | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/shell/panelview.cpp b/shell/panelview.cpp
+index 70d74cb..cacf0c0 100644
+--- a/shell/panelview.cpp
++++ b/shell/panelview.cpp
+@@ -117,6 +117,7 @@ PanelView::~PanelView()
+ 
+ KConfigGroup PanelView::panelConfig(ShellCorona *corona, Plasma::Containment 
*containment, QScreen *screen)
+ {
++    qWarning()<<"AAAA"<<containment<<screen;
+     if (!containment || !screen) {
+         return KConfigGroup();
+     }
+diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp
+index e40da45..b6b5ed8 100644
+--- a/shell/shellcorona.cpp
++++ b/shell/shellcorona.cpp
+@@ -778,7 +778,11 @@ void ShellCorona::screenInvariants() const
+         foreach (const PanelView *panel, panelsForScreen(screen)) {
+             Q_ASSERT(panel->containment());
+             Q_ASSERT(panel->containment()->screen() == id || 
panel->containment()->screen() == -1);
+-            Q_ASSERT(panel->isVisible());
++            //If any kscreen related activities occurred
++            //during startup, the panel wouldn't be visible yet, and this 
would assert
++            if (panel->containment()->isUiReady()) {
++                Q_ASSERT(panel->isVisible());
++            }
+         }
+ 
+         screens.insert(screen);
+-- 
+cgit v0.11.2

diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.9.5.1-r2.ebuild 
b/kde-plasma/plasma-workspace/plasma-workspace-5.9.5.1-r2.ebuild
new file mode 100644
index 00000000000..3f8d7d47535
--- /dev/null
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.9.5.1-r2.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="forceoptional"
+KDE_TEST="forceoptional"
+VIRTUALX_REQUIRED="test"
+inherit kde5 qmake-utils
+
+DESCRIPTION="KDE Plasma workspace"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+calendar geolocation gps prison qalculate +semantic-desktop"
+
+COMMON_DEPEND="
+       $(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 kitemmodels)
+       $(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 kwayland)
+       $(add_frameworks_dep kwidgetsaddons)
+       $(add_frameworks_dep kwindowsystem)
+       $(add_frameworks_dep kxmlgui)
+       $(add_frameworks_dep kxmlrpcclient)
+       $(add_frameworks_dep plasma)
+       $(add_frameworks_dep solid)
+       $(add_plasma_dep kscreenlocker)
+       $(add_plasma_dep kwin)
+       $(add_plasma_dep libksysguard)
+       $(add_qt_dep qtconcurrent)
+       $(add_qt_dep qtdbus)
+       $(add_qt_dep qtdeclarative 'widgets')
+       $(add_qt_dep qtgui 'jpeg')
+       $(add_qt_dep qtnetwork)
+       $(add_qt_dep qtscript)
+       $(add_qt_dep qtsql)
+       $(add_qt_dep qtwidgets)
+       $(add_qt_dep qtx11extras)
+       $(add_qt_dep qtxml)
+       media-libs/phonon[qt5]
+       sys-libs/zlib
+       x11-libs/libICE
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXau
+       x11-libs/libxcb
+       x11-libs/libXfixes
+       x11-libs/libXrender
+       x11-libs/xcb-util
+       x11-libs/xcb-util-image
+       calendar? ( $(add_kdeapps_dep kholidays) )
+       geolocation? ( $(add_frameworks_dep networkmanager-qt) )
+       gps? ( sci-geosciences/gpsd )
+       prison? ( $(add_frameworks_dep prison) )
+       qalculate? ( sci-libs/libqalculate:= )
+       semantic-desktop? ( $(add_frameworks_dep baloo) )
+"
+RDEPEND="${COMMON_DEPEND}
+       $(add_frameworks_dep kded)
+       $(add_kdeapps_dep kio-extras)
+       $(add_plasma_dep kde-cli-tools)
+       $(add_plasma_dep ksysguard)
+       $(add_plasma_dep milou)
+       $(add_plasma_dep plasma-integration)
+       $(add_qt_dep qdbus)
+       $(add_qt_dep qtgraphicaleffects)
+       $(add_qt_dep qtpaths)
+       $(add_qt_dep qtquickcontrols 'widgets')
+       app-text/iso-codes
+       x11-apps/mkfontdir
+       x11-apps/xmessage
+       x11-apps/xprop
+       x11-apps/xrdb
+       x11-apps/xset
+       x11-apps/xsetroot
+       !dev-libs/xembed-sni-proxy
+       !kde-plasma/freespacenotifier:4
+       !kde-plasma/libtaskmanager:4
+       !kde-plasma/kcminit:4
+       !kde-plasma/kdebase-startkde:4
+       !kde-plasma/klipper:4
+       !kde-plasma/krunner:4
+       !kde-plasma/ksmserver:4
+       !kde-plasma/ksplash:4
+       !kde-plasma/plasma-workspace:4
+"
+DEPEND="${COMMON_DEPEND}
+       x11-proto/xproto
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-5.4-startkde-script.patch"
+       # Plasma/5.9 branch
+       "${FILESDIR}/${P}-startup-crash.patch" # KDE bug #377280
+       "${FILESDIR}/${P}-pinned-launchers.patch" # KDE bug #379414
+)
+
+RESTRICT+=" test"
+
+src_prepare() {
+       kde5_src_prepare
+
+       sed -e "s|\`qtpaths|\`$(qt5_get_bindir)/qtpaths|" \
+               -i startkde/startkde.cmake startkde/startplasmacompositor.cmake 
|| die
+
+       # https://phabricator.kde.org/D4690
+       sed -e "/add_subdirectory(remote)/ s/^/#DONT/" -i 
kioslave/CMakeLists.txt || die
+       rm -r kioslave/remote || die
+       find po -name "kio_remote.po" -delete || die
+}
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake-utils_use_find_package calendar KF5Holidays)
+               $(cmake-utils_use_find_package geolocation KF5NetworkManagerQt)
+               $(cmake-utils_use_find_package gps libgps)
+               $(cmake-utils_use_find_package prison KF5Prison)
+               $(cmake-utils_use_find_package qalculate Qalculate)
+               $(cmake-utils_use_find_package semantic-desktop KF5Baloo)
+       )
+
+       kde5_src_configure
+}
+
+src_install() {
+       kde5_src_install
+
+       # startup and shutdown scripts
+       insinto /etc/plasma/startup
+       doins "${FILESDIR}/10-agent-startup.sh"
+
+       insinto /etc/plasma/shutdown
+       doins "${FILESDIR}/10-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/10-agent-startup.sh and"
+       elog "${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"
+       echo
+}

Reply via email to