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 +}
