Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-plasma/plasma-workspace/, kde-plasma/plasma-workspace/files/
Date: Sun, 04 Oct 2020 16:07:25
Message-Id: 1601826848.e3bb321ee05ee82cfdb08e27c6c59240d38d2ef6.asturm@gentoo
1 commit: e3bb321ee05ee82cfdb08e27c6c59240d38d2ef6
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 4 12:32:32 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 4 15:54:08 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3bb321e
7
8 kde-plasma/plasma-workspace: Fix crash when scrolling on wallpaper
9
10 KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=427106
11 Package-Manager: Portage-3.0.8, Repoman-3.0.1
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 ...-5.19.5-guard-against-no-virtual-desktops.patch | 46 +++++
15 .../plasma-workspace-5.19.5-r2.ebuild | 224 +++++++++++++++++++++
16 2 files changed, 270 insertions(+)
17
18 diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.19.5-guard-against-no-virtual-desktops.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.19.5-guard-against-no-virtual-desktops.patch
19 new file mode 100644
20 index 00000000000..21e33531590
21 --- /dev/null
22 +++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.19.5-guard-against-no-virtual-desktops.patch
23 @@ -0,0 +1,46 @@
24 +From 5cb38daedbfa5ef26a47d82d197c96230a004b0f Mon Sep 17 00:00:00 2001
25 +From: David Edmundson <kde@×××××××××××××××××.uk>
26 +Date: Wed, 30 Sep 2020 08:56:16 +0000
27 +Subject: [PATCH] [containmentactions] Guard against having no virtual desktops
28 +
29 +It can apparently happen that virtual desktops is empty at a given point
30 +in time. Potentially due to other bugs on the system.
31 +
32 +Calls to desktopIds.at(N) will fail.
33 +
34 +BUG: 427106
35 +
36 +
37 +(cherry picked from commit 2441c82a2a92535ccc0a9643715427eb362c98e8)
38 +---
39 + containmentactions/switchdesktop/desktop.cpp | 7 +++++++
40 + 1 file changed, 7 insertions(+)
41 +
42 +diff --git a/containmentactions/switchdesktop/desktop.cpp b/containmentactions/switchdesktop/desktop.cpp
43 +index 809543a49..dda78c584 100644
44 +--- a/containmentactions/switchdesktop/desktop.cpp
45 ++++ b/containmentactions/switchdesktop/desktop.cpp
46 +@@ -85,6 +85,10 @@ void SwitchDesktop::switchTo()
47 + void SwitchDesktop::performNextAction()
48 + {
49 + const QVariantList &desktopIds = m_virtualDesktopInfo->desktopIds();
50 ++ if (desktopIds.isEmpty()) {
51 ++ return;
52 ++ }
53 ++
54 + const QVariant &currentDesktop = m_virtualDesktopInfo->currentDesktop();
55 + const int currentDesktopIndex = desktopIds.indexOf(currentDesktop);
56 +
57 +@@ -100,6 +104,9 @@ void SwitchDesktop::performNextAction()
58 + void SwitchDesktop::performPreviousAction()
59 + {
60 + const QVariantList &desktopIds = m_virtualDesktopInfo->desktopIds();
61 ++ if (desktopIds.isEmpty()) {
62 ++ return;
63 ++ }
64 + const QVariant &currentDesktop = m_virtualDesktopInfo->currentDesktop();
65 + const int currentDesktopIndex = desktopIds.indexOf(currentDesktop);
66 +
67 +--
68 +GitLab
69 +
70
71 diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.19.5-r2.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.19.5-r2.ebuild
72 new file mode 100644
73 index 00000000000..54a55759142
74 --- /dev/null
75 +++ b/kde-plasma/plasma-workspace/plasma-workspace-5.19.5-r2.ebuild
76 @@ -0,0 +1,224 @@
77 +# Copyright 1999-2020 Gentoo Authors
78 +# Distributed under the terms of the GNU General Public License v2
79 +
80 +EAPI=7
81 +
82 +ECM_HANDBOOK="forceoptional"
83 +ECM_TEST="forceoptional"
84 +KFMIN=5.71.0
85 +PVCUT=$(ver_cut 1-3)
86 +QTMIN=5.14.2
87 +VIRTUALX_REQUIRED="test"
88 +inherit ecm kde.org
89 +
90 +DESCRIPTION="KDE Plasma workspace"
91 +
92 +LICENSE="GPL-2" # TODO: CHECK
93 +SLOT="5"
94 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
95 +IUSE="appstream +calendar geolocation gps qalculate qrcode +semantic-desktop systemd telemetry"
96 +
97 +REQUIRED_USE="gps? ( geolocation )"
98 +
99 +COMMON_DEPEND="
100 + >=dev-qt/qtdbus-${QTMIN}:5
101 + >=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
102 + >=dev-qt/qtgui-${QTMIN}:5[jpeg]
103 + >=dev-qt/qtnetwork-${QTMIN}:5
104 + >=dev-qt/qtsql-${QTMIN}:5
105 + >=dev-qt/qtwidgets-${QTMIN}:5
106 + >=dev-qt/qtx11extras-${QTMIN}:5
107 + >=dev-qt/qtxml-${QTMIN}:5
108 + >=kde-frameworks/kactivities-${KFMIN}:5
109 + >=kde-frameworks/kactivities-stats-${KFMIN}:5
110 + >=kde-frameworks/kauth-${KFMIN}:5
111 + >=kde-frameworks/kbookmarks-${KFMIN}:5
112 + >=kde-frameworks/kcompletion-${KFMIN}:5
113 + >=kde-frameworks/kconfig-${KFMIN}:5
114 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5
115 + >=kde-frameworks/kcoreaddons-${KFMIN}:5
116 + >=kde-frameworks/kcrash-${KFMIN}:5
117 + >=kde-frameworks/kdbusaddons-${KFMIN}:5
118 + >=kde-frameworks/kdeclarative-${KFMIN}:5
119 + >=kde-frameworks/kded-${KFMIN}:5
120 + >=kde-frameworks/kdelibs4support-${KFMIN}:5
121 + >=kde-frameworks/kglobalaccel-${KFMIN}:5
122 + >=kde-frameworks/kguiaddons-${KFMIN}:5
123 + >=kde-frameworks/ki18n-${KFMIN}:5
124 + >=kde-frameworks/kiconthemes-${KFMIN}:5
125 + >=kde-frameworks/kidletime-${KFMIN}:5
126 + >=kde-frameworks/kio-${KFMIN}:5
127 + >=kde-frameworks/kitemmodels-${KFMIN}:5
128 + >=kde-frameworks/kitemviews-${KFMIN}:5
129 + >=kde-frameworks/kjobwidgets-${KFMIN}:5
130 + >=kde-frameworks/knewstuff-${KFMIN}:5
131 + >=kde-frameworks/knotifications-${KFMIN}:5
132 + >=kde-frameworks/knotifyconfig-${KFMIN}:5
133 + >=kde-frameworks/kpackage-${KFMIN}:5
134 + >=kde-frameworks/kpeople-${KFMIN}:5
135 + >=kde-frameworks/krunner-${KFMIN}:5
136 + >=kde-frameworks/kservice-${KFMIN}:5
137 + >=kde-frameworks/ktexteditor-${KFMIN}:5
138 + >=kde-frameworks/ktextwidgets-${KFMIN}:5
139 + >=kde-frameworks/kwallet-${KFMIN}:5
140 + >=kde-frameworks/kwayland-${KFMIN}:5
141 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
142 + >=kde-frameworks/kwindowsystem-${KFMIN}:5
143 + >=kde-frameworks/kxmlgui-${KFMIN}:5
144 + >=kde-frameworks/plasma-${KFMIN}:5
145 + >=kde-frameworks/solid-${KFMIN}:5
146 + >=kde-plasma/kscreenlocker-${PVCUT}:5
147 + >=kde-plasma/kwin-${PVCUT}:5
148 + >=kde-plasma/libkscreen-${PVCUT}:5
149 + >=kde-plasma/libksysguard-${PVCUT}:5
150 + >=kde-plasma/libkworkspace-${PVCUT}:5
151 + >=media-libs/phonon-4.11.0
152 + sys-libs/zlib
153 + x11-libs/libICE
154 + x11-libs/libSM
155 + x11-libs/libX11
156 + x11-libs/libXau
157 + x11-libs/libxcb
158 + x11-libs/libXfixes
159 + x11-libs/libXrender
160 + x11-libs/libXtst
161 + x11-libs/xcb-util
162 + x11-libs/xcb-util-image
163 + appstream? ( dev-libs/appstream[qt5] )
164 + calendar? ( >=kde-frameworks/kholidays-${KFMIN}:5 )
165 + geolocation? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:5 )
166 + gps? ( sci-geosciences/gpsd )
167 + qalculate? ( sci-libs/libqalculate:= )
168 + qrcode? ( >=kde-frameworks/prison-${KFMIN}:5 )
169 + semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:5 )
170 + telemetry? ( dev-libs/kuserfeedback:5 )
171 +"
172 +DEPEND="${COMMON_DEPEND}
173 + >=dev-qt/qtconcurrent-${QTMIN}:5
174 + x11-base/xorg-proto
175 +"
176 +RDEPEND="${COMMON_DEPEND}
177 + app-text/iso-codes
178 + >=dev-qt/qdbus-${QTMIN}:5
179 + >=dev-qt/qtgraphicaleffects-${QTMIN}:5
180 + >=dev-qt/qtpaths-${QTMIN}:5
181 + >=dev-qt/qtquickcontrols-${QTMIN}:5[widgets]
182 + >=dev-qt/qtquickcontrols2-${QTMIN}:5
183 + >=kde-apps/kio-extras-19.04.3:5
184 + >=kde-frameworks/kquickcharts-${KFMIN}:5
185 + >=kde-frameworks/kdesu-${KFMIN}:5
186 + >=kde-frameworks/kirigami-${KFMIN}:5
187 + >=kde-plasma/ksysguard-${PVCUT}:5
188 + >=kde-plasma/milou-${PVCUT}:5
189 + >=kde-plasma/plasma-integration-${PVCUT}:5
190 + x11-apps/xmessage
191 + x11-apps/xprop
192 + x11-apps/xrdb
193 + x11-apps/xsetroot
194 + systemd? ( sys-apps/dbus[user-session] )
195 + !systemd? ( sys-apps/dbus )
196 + !<kde-plasma/plasma-desktop-5.16.80:5
197 +"
198 +PDEPEND="
199 + >=kde-plasma/kde-cli-tools-${PVCUT}:5
200 +"
201 +
202 +PATCHES=(
203 + "${FILESDIR}/${PN}-5.14.2-split-libkworkspace.patch"
204 + "${FILESDIR}/${PN}-5.19.2-use-PlasmaExtras.PlaceholderMessage.patch" # KDE-Bug #422684
205 + "${FILESDIR}/${P}-gpsd-3.21.patch" # bug 742392
206 + "${FILESDIR}/${P}-login-button-size.patch"
207 + "${FILESDIR}/${P}-guard-against-no-virtual-desktops.patch" # KDE-Bug #427106
208 +)
209 +
210 +RESTRICT+=" test"
211 +
212 +pkg_setup() {
213 + ecm_pkg_setup
214 +
215 + local md5
216 + local srcfile=/etc/plasma/XX/10-agent-XX.sh
217 + local newdir="${EPREFIX}"/etc/xdg/plasma-workspace
218 +
219 + if [[ -f "${EROOT}"${srcfile//XX/startup} ]]; then
220 + md5=$(md5sum "${EROOT}"${srcfile//XX/startup})
221 + if [[ ${md5%% *} != 90caaabb40b56bfbe65388841a6dd6ca ]]; then
222 + elog "Existing modified ${EPREFIX}${srcfile//XX/startup} detected."
223 + elog "Copying to ${newdir}/env/10-agent-startup.sh..."
224 + cp -v "${EROOT}"${srcfile//XX/startup} "${T}"/ || die
225 + fi
226 + fi
227 +
228 + if [[ -f "${EROOT}"${srcfile//XX/shutdown} ]]; then
229 + md5=$(md5sum "${EROOT}"${srcfile//XX/shutdown})
230 + if [[ ${md5%% *} != d7bffa0273f92abd999c7c3c43dbc23d ]]; then
231 + elog "Existing modified ${EPREFIX}${srcfile//XX/shutdown} detected."
232 + elog "Copying to ${newdir}/shutdown/10-agent-shutdown.sh..."
233 + cp -v "${EROOT}"${srcfile//XX/shutdown} "${T}"/ || die
234 + fi
235 + fi
236 +}
237 +
238 +src_prepare() {
239 + ecm_src_prepare
240 +
241 + if [[ ! -f "${T}"/10-agent-startup.sh ]]; then
242 + cp "${FILESDIR}"/10-agent-startup.sh "${T}"/ || die
243 + fi
244 + if [[ ! -f "${T}"/10-agent-shutdown.sh ]]; then
245 + cp "${FILESDIR}"/10-agent-shutdown.sh "${T}"/ || die
246 + fi
247 +
248 + cmake_comment_add_subdirectory libkworkspace
249 + # delete colliding libkworkspace translations
250 + if [[ ${KDE_BUILD_TYPE} = release ]]; then
251 + find po -type f -name "*po" -and -name "libkworkspace*" -delete || die
252 + fi
253 +}
254 +
255 +src_configure() {
256 + local mycmakeargs=(
257 + -DBUILD_xembed-sni-proxy=OFF
258 + $(cmake_use_find_package appstream AppStreamQt)
259 + $(cmake_use_find_package calendar KF5Holidays)
260 + $(cmake_use_find_package geolocation KF5NetworkManagerQt)
261 + $(cmake_use_find_package qalculate Qalculate)
262 + $(cmake_use_find_package qrcode KF5Prison)
263 + $(cmake_use_find_package semantic-desktop KF5Baloo)
264 + $(cmake_use_find_package telemetry KUserFeedback)
265 + )
266 +
267 + use geolocation && mycmakeargs+=( $(cmake_use_find_package gps libgps) )
268 +
269 + ecm_src_configure
270 +}
271 +
272 +src_install() {
273 + ecm_src_install
274 +
275 + # default startup and shutdown scripts
276 + insinto /etc/xdg/plasma-workspace/env
277 + doins "${T}"/10-agent-startup.sh
278 +
279 + insinto /etc/xdg/plasma-workspace/shutdown
280 + doins "${T}"/10-agent-shutdown.sh
281 + fperms +x /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
282 +}
283 +
284 +pkg_postinst () {
285 + ecm_pkg_postinst
286 +
287 + # Clean up pre-5.17.4 scripts
288 + if [[ -e "${EROOT}"/etc/plasma/startup/10-agent-startup.sh ]]; then
289 + rm "${EROOT}"/etc/plasma/startup/10-agent-startup.sh || die
290 + elog "Removed obsolete ${EPREFIX}/etc/plasma/startup/10-agent-startup.sh"
291 + fi
292 + if [[ -e "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh ]]; then
293 + rm "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh || die
294 + elog "Removed obsolete ${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"
295 + fi
296 +
297 + elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
298 + elog "edit ${EPREFIX}/etc/xdg/plasma-workspace/env/10-agent-startup.sh"
299 + elog "and ${EPREFIX}/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
300 +}