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: Tue, 21 Jan 2020 16:29:26
Message-Id: 1579621817.3c5f2ec718dce2b835077dd5782548cc489c62f5.asturm@gentoo
1 commit: 3c5f2ec718dce2b835077dd5782548cc489c62f5
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jan 21 15:40:04 2020 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Tue Jan 21 15:50:17 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3c5f2ec7
7
8 kde-plasma/plasma-workspace: Also disable automatic scaling on Qt>=5.14
9
10 KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=415421
11 Package-Manager: Portage-2.3.84, Repoman-2.3.20
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 ...ace-5.17.5-disable-autoscaling-on-qt-5.14.patch | 47 +++++
15 .../plasma-workspace-5.17.5-r1.ebuild | 220 +++++++++++++++++++++
16 2 files changed, 267 insertions(+)
17
18 diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.17.5-disable-autoscaling-on-qt-5.14.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.17.5-disable-autoscaling-on-qt-5.14.patch
19 new file mode 100644
20 index 00000000000..114e653df8e
21 --- /dev/null
22 +++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.17.5-disable-autoscaling-on-qt-5.14.patch
23 @@ -0,0 +1,47 @@
24 +From ea66bff2af8466f2bb5acafcc43ac8f79b1f447f Mon Sep 17 00:00:00 2001
25 +From: Fabian Vogt <fabian@×××××××××××.de>
26 +Date: Tue, 21 Jan 2020 11:55:49 +0100
27 +Subject: Also disable automatic scaling on Qt >= 5.14
28 +
29 +Summary:
30 +Applications which set `Qt::AA_EnableHighDpiScaling` use the DPI of the monitor the window is on to calculate an additional scaling factor.
31 +Plasma sets `QT_SCREEN_SCALE_FACTORS` in the environment for manual specification of per-monitor scale, which combined with the automatic scaling may result in double scaling.
32 +To disable the automatic scaling, `QT_AUTO_SCREEN_SCALE_FACTOR=0` has to be set, even on Qt 5.14.
33 +
34 +As a side effect, this works around QTBUG-80967 as well.
35 +
36 +BUG: 415421
37 +
38 +Test Plan: On X11, with a >144dpi monitor and a scaling factor of 2 set manually, scaling was doubled previously. Now it works as expected.
39 +
40 +Reviewers: #plasma, apol, davidedmundson, fvogt
41 +
42 +Reviewed By: #plasma, davidedmundson, fvogt
43 +
44 +Subscribers: acooligan, fvogt, asturmlechner, dfaure, davidedmundson, anthonyfieroni, plasma-devel
45 +
46 +Tags: #plasma
47 +
48 +Differential Revision: https://phabricator.kde.org/D26185
49 +---
50 + startkde/startplasma.cpp | 2 --
51 + 1 file changed, 2 deletions(-)
52 +
53 +diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
54 +index 8d88587..4a89878 100644
55 +--- a/startkde/startplasma.cpp
56 ++++ b/startkde/startplasma.cpp
57 +@@ -222,11 +222,9 @@ void runEnvironmentScripts()
58 +
59 + void setupPlasmaEnvironment()
60 + {
61 +-#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
62 + //Manually disable auto scaling because we are scaling above
63 + //otherwise apps that manually opt in for high DPI get auto scaled by the developer AND manually scaled by us
64 + qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "0");
65 +-#endif
66 +
67 + qputenv("KDE_FULL_SESSION", "true");
68 + qputenv("KDE_SESSION_VERSION", "5");
69 +--
70 +cgit v1.1
71
72 diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.17.5-r1.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.17.5-r1.ebuild
73 new file mode 100644
74 index 00000000000..157832caae9
75 --- /dev/null
76 +++ b/kde-plasma/plasma-workspace/plasma-workspace-5.17.5-r1.ebuild
77 @@ -0,0 +1,220 @@
78 +# Copyright 1999-2020 Gentoo Authors
79 +# Distributed under the terms of the GNU General Public License v2
80 +
81 +EAPI=7
82 +
83 +ECM_HANDBOOK="forceoptional"
84 +ECM_TEST="forceoptional"
85 +KFMIN=5.64.0
86 +PVCUT=$(ver_cut 1-3)
87 +QTMIN=5.12.3
88 +VIRTUALX_REQUIRED="test"
89 +inherit ecm kde.org
90 +
91 +DESCRIPTION="KDE Plasma workspace"
92 +
93 +LICENSE="GPL-2" # TODO: CHECK
94 +SLOT="5"
95 +KEYWORDS="~amd64 ~arm ~arm64 ~x86"
96 +IUSE="appstream +calendar geolocation gps qalculate qrcode +semantic-desktop systemd"
97 +
98 +REQUIRED_USE="gps? ( geolocation )"
99 +
100 +# drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
101 +COMMON_DEPEND="
102 + >=dev-qt/qtdbus-${QTMIN}:5
103 + >=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
104 + >=dev-qt/qtgui-${QTMIN}:5=[jpeg]
105 + >=dev-qt/qtnetwork-${QTMIN}:5
106 + >=dev-qt/qtsql-${QTMIN}:5
107 + >=dev-qt/qtwidgets-${QTMIN}:5
108 + >=dev-qt/qtx11extras-${QTMIN}:5
109 + >=dev-qt/qtxml-${QTMIN}:5
110 + >=kde-frameworks/kactivities-${KFMIN}:5
111 + >=kde-frameworks/kactivities-stats-${KFMIN}:5
112 + >=kde-frameworks/kauth-${KFMIN}:5
113 + >=kde-frameworks/kbookmarks-${KFMIN}:5
114 + >=kde-frameworks/kcompletion-${KFMIN}:5
115 + >=kde-frameworks/kconfig-${KFMIN}:5
116 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5
117 + >=kde-frameworks/kcoreaddons-${KFMIN}:5
118 + >=kde-frameworks/kcrash-${KFMIN}:5
119 + >=kde-frameworks/kdbusaddons-${KFMIN}:5
120 + >=kde-frameworks/kdeclarative-${KFMIN}:5
121 + >=kde-frameworks/kded-${KFMIN}:5
122 + >=kde-frameworks/kdelibs4support-${KFMIN}:5
123 + >=kde-frameworks/kglobalaccel-${KFMIN}:5
124 + >=kde-frameworks/kguiaddons-${KFMIN}:5
125 + >=kde-frameworks/ki18n-${KFMIN}:5
126 + >=kde-frameworks/kiconthemes-${KFMIN}:5
127 + >=kde-frameworks/kidletime-${KFMIN}:5
128 + >=kde-frameworks/kio-${KFMIN}:5
129 + >=kde-frameworks/kitemmodels-${KFMIN}:5
130 + >=kde-frameworks/kitemviews-${KFMIN}:5
131 + >=kde-frameworks/kjobwidgets-${KFMIN}:5
132 + >=kde-frameworks/knewstuff-${KFMIN}:5
133 + >=kde-frameworks/knotifications-${KFMIN}:5
134 + >=kde-frameworks/knotifyconfig-${KFMIN}:5
135 + >=kde-frameworks/kpackage-${KFMIN}:5
136 + >=kde-frameworks/kpeople-${KFMIN}:5
137 + >=kde-frameworks/krunner-${KFMIN}:5
138 + >=kde-frameworks/kservice-${KFMIN}:5
139 + >=kde-frameworks/ktexteditor-${KFMIN}:5
140 + >=kde-frameworks/ktextwidgets-${KFMIN}:5
141 + >=kde-frameworks/kwallet-${KFMIN}:5
142 + >=kde-frameworks/kwayland-${KFMIN}:5
143 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
144 + >=kde-frameworks/kwindowsystem-${KFMIN}:5
145 + >=kde-frameworks/kxmlgui-${KFMIN}:5
146 + >=kde-frameworks/plasma-${KFMIN}:5
147 + >=kde-frameworks/solid-${KFMIN}:5
148 + >=kde-plasma/kscreenlocker-${PVCUT}:5
149 + >=kde-plasma/kwin-${PVCUT}:5
150 + >=kde-plasma/libkscreen-${PVCUT}:5
151 + >=kde-plasma/libksysguard-${PVCUT}:5
152 + >=kde-plasma/libkworkspace-${PVCUT}:5
153 + media-libs/phonon[qt5(+)]
154 + sys-libs/zlib
155 + x11-libs/libICE
156 + x11-libs/libSM
157 + x11-libs/libX11
158 + x11-libs/libXau
159 + x11-libs/libxcb
160 + x11-libs/libXfixes
161 + x11-libs/libXrender
162 + x11-libs/libXtst
163 + x11-libs/xcb-util
164 + x11-libs/xcb-util-image
165 + appstream? ( dev-libs/appstream[qt5] )
166 + calendar? ( >=kde-frameworks/kholidays-${KFMIN}:5 )
167 + geolocation? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:5 )
168 + gps? ( sci-geosciences/gpsd )
169 + qalculate? ( sci-libs/libqalculate:= )
170 + qrcode? ( >=kde-frameworks/prison-${KFMIN}:5 )
171 + semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:5 )
172 +"
173 +DEPEND="${COMMON_DEPEND}
174 + >=dev-qt/qtconcurrent-${QTMIN}:5
175 + x11-base/xorg-proto
176 +"
177 +RDEPEND="${COMMON_DEPEND}
178 + app-text/iso-codes
179 + >=dev-qt/qdbus-${QTMIN}:5
180 + >=dev-qt/qtgraphicaleffects-${QTMIN}:5
181 + >=dev-qt/qtpaths-${QTMIN}:5
182 + >=dev-qt/qtquickcontrols-${QTMIN}:5[widgets]
183 + >=dev-qt/qtquickcontrols2-${QTMIN}:5
184 + >=kde-apps/kio-extras-19.04.3: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.17.2-waylandsessionrename.patch"
205 + "${FILESDIR}/${P}-disable-autoscaling-on-qt-5.14.patch"
206 +)
207 +
208 +RESTRICT+=" test"
209 +
210 +pkg_setup() {
211 + ecm_pkg_setup
212 +
213 + local md5
214 + local srcfile=/etc/plasma/XX/10-agent-XX.sh
215 + local newdir="${EPREFIX}"/etc/xdg/plasma-workspace
216 +
217 + if [[ -f "${EROOT}"${srcfile//XX/startup} ]]; then
218 + md5=$(md5sum "${EROOT}"${srcfile//XX/startup})
219 + if [[ ${md5%% *} != 90caaabb40b56bfbe65388841a6dd6ca ]]; then
220 + elog "Existing modified ${EPREFIX}${srcfile//XX/startup} detected."
221 + elog "Copying to ${newdir}/env/10-agent-startup.sh..."
222 + cp -v "${EROOT}"${srcfile//XX/startup} "${T}"/ || die
223 + fi
224 + fi
225 +
226 + if [[ -f "${EROOT}"${srcfile//XX/shutdown} ]]; then
227 + md5=$(md5sum "${EROOT}"${srcfile//XX/shutdown})
228 + if [[ ${md5%% *} != d7bffa0273f92abd999c7c3c43dbc23d ]]; then
229 + elog "Existing modified ${EPREFIX}${srcfile//XX/shutdown} detected."
230 + elog "Copying to ${newdir}/shutdown/10-agent-shutdown.sh..."
231 + cp -v "${EROOT}"${srcfile//XX/shutdown} "${T}"/ || die
232 + fi
233 + fi
234 +}
235 +
236 +src_prepare() {
237 + ecm_src_prepare
238 +
239 + if [[ ! -f "${T}"/10-agent-startup.sh ]]; then
240 + cp "${FILESDIR}"/10-agent-startup.sh "${T}"/ || die
241 + fi
242 + if [[ ! -f "${T}"/10-agent-shutdown.sh ]]; then
243 + cp "${FILESDIR}"/10-agent-shutdown.sh "${T}"/ || die
244 + fi
245 +
246 + cmake_comment_add_subdirectory libkworkspace
247 + # delete colliding libkworkspace translations
248 + if [[ ${KDE_BUILD_TYPE} = release ]]; then
249 + find po -type f -name "*po" -and -name "libkworkspace*" -delete || die
250 + fi
251 +}
252 +
253 +src_configure() {
254 + local mycmakeargs=(
255 + -DBUILD_xembed-sni-proxy=OFF
256 + $(cmake_use_find_package appstream AppStreamQt)
257 + $(cmake_use_find_package calendar KF5Holidays)
258 + $(cmake_use_find_package geolocation KF5NetworkManagerQt)
259 + $(cmake_use_find_package qalculate Qalculate)
260 + $(cmake_use_find_package qrcode KF5Prison)
261 + $(cmake_use_find_package semantic-desktop KF5Baloo)
262 + )
263 +
264 + use gps && mycmakeargs+=( $(cmake_use_find_package gps libgps) )
265 +
266 + ecm_src_configure
267 +}
268 +
269 +src_install() {
270 + ecm_src_install
271 +
272 + # default startup and shutdown scripts
273 + insinto /etc/xdg/plasma-workspace/env
274 + doins "${T}"/10-agent-startup.sh
275 +
276 + insinto /etc/xdg/plasma-workspace/shutdown
277 + doins "${T}"/10-agent-shutdown.sh
278 + fperms +x /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
279 +}
280 +
281 +pkg_postinst () {
282 + ecm_pkg_postinst
283 +
284 + # Clean up pre-5.17.4 scripts
285 + if [[ -e "${EROOT}"/etc/plasma/startup/10-agent-startup.sh ]]; then
286 + rm "${EROOT}"/etc/plasma/startup/10-agent-startup.sh || die
287 + elog "Removed obsolete ${EPREFIX}/etc/plasma/startup/10-agent-startup.sh"
288 + fi
289 + if [[ -e "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh ]]; then
290 + rm "${EROOT}"/etc/plasma/shutdown/10-agent-shutdown.sh || die
291 + elog "Removed obsolete ${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"
292 + fi
293 +
294 + elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
295 + elog "edit ${EPREFIX}/etc/xdg/plasma-workspace/env/10-agent-startup.sh"
296 + elog "and ${EPREFIX}/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
297 +}