summaryrefslogtreecommitdiff
path: root/kde-plasma
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma')
-rw-r--r--kde-plasma/Manifest.gzbin9427 -> 9427 bytes
-rw-r--r--kde-plasma/plasma-desktop/Manifest3
-rw-r--r--kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout-check.patch23
-rw-r--r--kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout.patch48
-rw-r--r--kde-plasma/plasma-desktop/plasma-desktop-5.25.5-r2.ebuild182
-rw-r--r--kde-plasma/plasma-workspace/Manifest8
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-geolocation-deadlock.patch194
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-layout-save.patch33
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-lock-layout.patch113
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch8
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-relayout.patch22
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-systray-double-destroy.patch24
-rw-r--r--kde-plasma/plasma-workspace/plasma-workspace-5.25.5-r5.ebuild229
13 files changed, 878 insertions, 9 deletions
diff --git a/kde-plasma/Manifest.gz b/kde-plasma/Manifest.gz
index eec3186cb7f3..cfce15285958 100644
--- a/kde-plasma/Manifest.gz
+++ b/kde-plasma/Manifest.gz
Binary files differ
diff --git a/kde-plasma/plasma-desktop/Manifest b/kde-plasma/plasma-desktop/Manifest
index e34f2383b38b..150ae44e8475 100644
--- a/kde-plasma/plasma-desktop/Manifest
+++ b/kde-plasma/plasma-desktop/Manifest
@@ -1,8 +1,11 @@
AUX plasma-desktop-5.25.5-desktoptoolbox-fix-flickering-on-close.patch 1033 BLAKE2B 4e14511519a4aa4eeb1f8c7c2f3b9e9ebdd29640a2f4b437affe6f13d9eff4a8e23031b8c5028f4af7e613a007504cf51c3361a80822df6643d84231aa8b89f1 SHA512 a0e73dd829697e6d6b2811ef90a9a19aaf89ea1eaa69950564e3c5f52e79d2f1b7b8d4b6d79b7fe5e41e68d0ee2d805f21b77e3e8f60af16962f00b632f87d7a
AUX plasma-desktop-5.25.5-folderview-fix-grid-overflow-property.patch 1738 BLAKE2B 968ba671e2d1a12562bb3681731c2c1d285e8153d2babee626a8fd3592137d69da75cbced54b21121b2391d997a2e381c68518b63c66ec5fe4094ff6c7a788f4 SHA512 9a95cce7d7511a8f68b5db6dd13850307b17fa8cde64d5443f24e2063059f0f84cd401f81755a11365d7fb0311072cb28aceb4da9e8e196f069455dcd987aa0d
+AUX plasma-desktop-5.25.5-lock-layout-check.patch 1209 BLAKE2B 4a6626c6fa83d38b05f43d8aa79e2db2badc468333edf1d1d7d6f8dd124a3394345d36c0df5b8f9cb21cd4413bd0706add6fbea733b762cb13ba4048f67916a2 SHA512 410bc165a26d592825dfd1c698345b640f9561c34586a39dcdaca80d85306cf1b4b43541e433178a0254c3b36ac38da14eb2d313c8c5b0673c016a1ff7ec1869
+AUX plasma-desktop-5.25.5-lock-layout.patch 2732 BLAKE2B b4c2c09b91e29030f14c82183a540a7984cba4647b115043027d05278dc16053939ddff2ddb2eef0eb38e0c63e8c19aabbdee0beca1b42fe476494a026acdd2c SHA512 e7c68b9814dcbc9792ce985c0c7b12606918d85cbdb3e79d56c68b888eb47b74827c24c0f1a49902c25e4287a4fa1b5f367fe9a4bb5f7befc60b614c6bae94d1
DIST plasma-desktop-5.25.5.tar.xz 6327616 BLAKE2B b0693b2097b3cbee01c82c19b803c64401139a5206014de5ceaa17a253de159948d93b870910d37d205989e99e66f245480ca1c79b09338babc0d56eef387399 SHA512 8bcf570ae73c21af7780706a33cf905bd566465badb457cc64515717c01ed332cd8543ca353a82222abdc8b63a762ae85d7881706742b3fe8f93c77584261ec4
DIST plasma-desktop-5.26.4.tar.xz 6351076 BLAKE2B 02ed7c771f73cfda4f776befeb4375e775cf6402337315658a7c537ff52bd6e233acf65e9636ad1d0decdf32a2d4d67a9bc0f7a94acab62bc70006703fdd9230 SHA512 69c41879858bc60eff38c61e1d68d9b8ddfb9c83b28097b2052b43be3b16fb40f906d551667d1cdc7699496aab1f78ea2f7e51d4702c520ba125859fbdae126c
DIST plasma-desktop-override-include-dirs-2.tar.xz 8324 BLAKE2B 5ddf9340edf6b6fa76e80158a982ac887b0fb464bc40d5bc4dcd3d6b8f5a87c2d6ecdd153e67e168454aa7faff8d84defb90ba16096b64f3af1e7a74570a00c6 SHA512 452923555bd419d3e389e808c4c9ea35e48795d4f0d78c5845aea677e21f594068540538a8968c2d4034aacb11e910a7b69908e10518eba486ebcc0dda39221a
EBUILD plasma-desktop-5.25.5-r1.ebuild 5370 BLAKE2B 1deec9c9dee26a5b739dca721ed71cdddf9a9623082b6c25fb3c22b3031b1c9bf4fef9711be798a62286e4a7c5e1683a26f09f79a9e45f95969d98ebb7b01e19 SHA512 5399f404139c86e0e6c2fb4864fdda3d7d459619e63f9b1082a77e73d06b538ac969dc9f076e6fd85fbc7eb4acf07d189d0a09a8880149ec3b79d805664b0097
+EBUILD plasma-desktop-5.25.5-r2.ebuild 5472 BLAKE2B 6198e93c9e8214fdcc7a1fce47ac9e14e93dab2fcf6e2385a73adc80866acb45ed708f2b07cd45b7ca17cef1ad62b8739be8b2f5d00004ee82565e7baff712b3 SHA512 9550d267dd364033672b64ab73f0015a0e0ed5f1ac44bb58c264f9bcf6f8e9a24b762e31a48c49d077c9e6bef6d202621d206a44de47daecf810473d0d737f55
EBUILD plasma-desktop-5.26.4.ebuild 5483 BLAKE2B 0c8b23c812d620369cdfae062ebf2b1c94e9d4b931ac6a130cd89e2d093b3acf4f89337d384c047394512e7f6849a169f7d54489fc3e472a1a93048acff49d14 SHA512 3d37a2fd2582bd660fe6f322338b55ceb7d0823508b53790e58eb8aae161dbcd54423e994632731152a05add86e58f4400d889b3dafbea7541738538b3674f38
MISC metadata.xml 682 BLAKE2B fbd378484f259e8b85c9c8776c5ce7eb034432f9a4e547453e0b810b22273bc8c494fdcc5f435c1b660c9660fc68b4860fc40987b0c6b8ee82764cc7fd15e771 SHA512 dff0c23d15a172b901fb0d0b9e383b8cfbc47b2123cf06545c3f9064db492987043695305de4af66fedc8d1900fcfb266b120f4883e2384303c9e4f2a208bee5
diff --git a/kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout-check.patch b/kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout-check.patch
new file mode 100644
index 000000000000..c476090ed1ea
--- /dev/null
+++ b/kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout-check.patch
@@ -0,0 +1,23 @@
+https://invent.kde.org/plasma/plasma-desktop/-/commit/7e1dec42ba12cdbf768ba7fba613e837d645b02c
+
+From 7e1dec42ba12cdbf768ba7fba613e837d645b02c Mon Sep 17 00:00:00 2001
+From: Marco Martin <notmart@gmail.com>
+Date: Sun, 25 Sep 2022 16:28:59 -0500
+Subject: [PATCH] remove the check for > 0
+
+--- a/containments/desktop/package/contents/ui/main.qml
++++ b/containments/desktop/package/contents/ui/main.qml
+@@ -85,10 +85,10 @@ FolderViewDropArea {
+ topMargin: (isContainment && plasmoid.availableScreenRect) ? plasmoid.availableScreenRect.y : 0
+
+ rightMargin: (isContainment && plasmoid.availableScreenRect) && parent
+- ? Math.max(0, parent.width - (plasmoid.availableScreenRect.x + plasmoid.availableScreenRect.width)) : 0
++ ? parent.width - (plasmoid.availableScreenRect.x + plasmoid.availableScreenRect.width) : 0
+
+ bottomMargin: (isContainment && plasmoid.availableScreenRect) && parent
+- ? Math.max(0, parent.height - (plasmoid.availableScreenRect.y + plasmoid.availableScreenRect.height)) : 0
++ ? parent.height - (plasmoid.availableScreenRect.y + plasmoid.availableScreenRect.height) : 0
+ }
+
+ Behavior on anchors.topMargin {
+GitLab
diff --git a/kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout.patch b/kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout.patch
new file mode 100644
index 000000000000..292712a8060e
--- /dev/null
+++ b/kde-plasma/plasma-desktop/files/plasma-desktop-5.25.5-lock-layout.patch
@@ -0,0 +1,48 @@
+https://invent.kde.org/plasma/plasma-desktop/-/commit/234cd860532449f017ecbbca6a8caad5473fcf8b
+
+From 234cd860532449f017ecbbca6a8caad5473fcf8b Mon Sep 17 00:00:00 2001
+From: Marco Martin <notmart@gmail.com>
+Date: Sun, 25 Sep 2022 16:27:13 -0500
+Subject: [PATCH] Use relayout locking
+
+This makes use of the layout locking freature introduced in
+
+The resize of the layout area can happen either by screen resolution
+change or available screen area change (a panel appears or is resized)
+This is not an atomic operation, as width and height are usually set in
+2 different operations, and even worse the layout area is resized to
+ match the available one with an animation, so many intermediate resizes
+that should never cause a relayout happen.
+A compression timer limits the actual relayouts to hopefully one,
+ but if the system is really slowed down
+(for instance, startup) the timer may expire and cause relayouts in
+non useful sizes, losing the needed configuration
+The lock blocks all relayout and config writes when the size of the
+layout area doesn't correspond to corona availablescreenrect, which are
+the only "settled" cases.
+
+BUG:413645
+--- a/containments/desktop/package/contents/ui/main.qml
++++ b/containments/desktop/package/contents/ui/main.qml
+@@ -85,10 +85,10 @@ FolderViewDropArea {
+ topMargin: (isContainment && plasmoid.availableScreenRect) ? plasmoid.availableScreenRect.y : 0
+
+ rightMargin: (isContainment && plasmoid.availableScreenRect) && parent
+- ? parent.width - (plasmoid.availableScreenRect.x + plasmoid.availableScreenRect.width) : 0
++ ? Math.max(0, parent.width - (plasmoid.availableScreenRect.x + plasmoid.availableScreenRect.width)) : 0
+
+ bottomMargin: (isContainment && plasmoid.availableScreenRect) && parent
+- ? parent.height - (plasmoid.availableScreenRect.y + plasmoid.availableScreenRect.height) : 0
++ ? Math.max(0, parent.height - (plasmoid.availableScreenRect.y + plasmoid.availableScreenRect.height)) : 0
+ }
+
+ Behavior on anchors.topMargin {
+@@ -263,6 +263,7 @@ FolderViewDropArea {
+ ContainmentLayoutManager.AppletsLayout {
+ id: appletsLayout
+ anchors.fill: parent
++ relayoutLock: width != plasmoid.availableScreenRect.width || height != plasmoid.availableScreenRect.height
+ // NOTE: use plasmoid.availableScreenRect and not own width and height as they are updated not atomically
+ configKey: "ItemGeometries-" + Math.round(plasmoid.screenGeometry.width) + "x" + Math.round(plasmoid.screenGeometry.height)
+ fallbackConfigKey: plasmoid.availableScreenRect.width > plasmoid.availableScreenRect.height ? "ItemGeometriesHorizontal" : "ItemGeometriesVertical"
+GitLab
diff --git a/kde-plasma/plasma-desktop/plasma-desktop-5.25.5-r2.ebuild b/kde-plasma/plasma-desktop/plasma-desktop-5.25.5-r2.ebuild
new file mode 100644
index 000000000000..355edbd21e9f
--- /dev/null
+++ b/kde-plasma/plasma-desktop/plasma-desktop-5.25.5-r2.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="true"
+KFMIN=5.99.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.5
+VIRTUALX_REQUIRED="test"
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="KDE Plasma desktop"
+XORGHDRS="${PN}-override-include-dirs-2"
+SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${XORGHDRS}.tar.xz"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="emoji ibus +kaccounts scim +semantic-desktop telemetry"
+
+COMMON_DEPEND="
+ >=dev-qt/qtconcurrent-${QTMIN}:5
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/attica-${KFMIN}:5
+ >=kde-frameworks/kactivities-${KFMIN}:5
+ >=kde-frameworks/kactivities-stats-${KFMIN}:5
+ >=kde-frameworks/karchive-${KFMIN}:5
+ >=kde-frameworks/kauth-${KFMIN}:5
+ >=kde-frameworks/kbookmarks-${KFMIN}:5
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kcodecs-${KFMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/kdeclarative-${KFMIN}:5
+ >=kde-frameworks/kded-${KFMIN}:5
+ >=kde-frameworks/kdelibs4support-${KFMIN}:5
+ >=kde-frameworks/kglobalaccel-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/kjobwidgets-${KFMIN}:5
+ >=kde-frameworks/knewstuff-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/knotifyconfig-${KFMIN}:5
+ >=kde-frameworks/kparts-${KFMIN}:5
+ >=kde-frameworks/krunner-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/plasma-${KFMIN}:5
+ >=kde-frameworks/solid-${KFMIN}:5
+ >=kde-frameworks/sonnet-${KFMIN}:5
+ >=kde-plasma/kwin-${PVCUT}:5
+ >=kde-plasma/libksysguard-${PVCUT}:5
+ >=kde-plasma/libkworkspace-${PVCUT}:5
+ >=kde-plasma/plasma-workspace-${PVCUT}:5
+ >=media-libs/phonon-4.11.0
+ x11-libs/libX11
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libxcb
+ x11-libs/libxkbfile
+ emoji? (
+ app-i18n/ibus[emoji]
+ dev-libs/glib:2
+ media-fonts/noto-emoji
+ )
+ ibus? (
+ app-i18n/ibus
+ dev-libs/glib:2
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ x11-libs/libxcb
+ x11-libs/xcb-util-keysyms
+ )
+ kaccounts? (
+ kde-apps/kaccounts-integration:5
+ net-libs/accounts-qt
+ )
+ scim? ( app-i18n/scim )
+ semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:5 )
+ telemetry? ( dev-libs/kuserfeedback:5 )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+ x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+ !kde-plasma/user-manager
+ >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+ >=kde-frameworks/qqc2-desktop-style-${KFMIN}:5
+ >=kde-plasma/kde-cli-tools-${PVCUT}:5
+ >=kde-plasma/oxygen-${PVCUT}:5
+ sys-apps/util-linux
+ x11-apps/setxkbmap
+ x11-misc/xdg-user-dirs
+ kaccounts? ( net-libs/signon-oauth2 )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${WORKDIR}/${XORGHDRS}/${PN}-5.24.6-override-include-dirs.patch" # downstream patch
+ "${FILESDIR}/${P}-desktoptoolbox-fix-flickering-on-close.patch" # KDE-bug 417849
+ "${FILESDIR}/${P}-folderview-fix-grid-overflow-property.patch" # KDE-bug 419878
+ "${FILESDIR}/${P}-lock-layout.patch" # KDE-bug 413645
+ "${FILESDIR}/${P}-lock-layout-check.patch"
+)
+
+src_prepare() {
+ ecm_src_prepare
+
+ if ! use ibus; then
+ sed -e "s/Qt5X11Extras_FOUND AND XCB_XCB_FOUND AND XCB_KEYSYMS_FOUND/false/" \
+ -i applets/kimpanel/backend/ibus/CMakeLists.txt || die
+ fi
+
+ use emoji || cmake_run_in applets/kimpanel/backend/ibus \
+ cmake_comment_add_subdirectory emojier
+
+ # TODO: try to get a build switch upstreamed
+ if ! use scim; then
+ sed -e "s/^pkg_check_modules.*SCIM/#&/" -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt5=ON # not packaged
+ -DEVDEV_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+ -DXORGLIBINPUT_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+ -DXORGSERVER_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+ -DSYNAPTICS_INCLUDE_DIRS="${WORKDIR}/${XORGHDRS}"/include
+ $(cmake_use_find_package kaccounts AccountsQt5)
+ $(cmake_use_find_package kaccounts KAccounts)
+ $(cmake_use_find_package semantic-desktop KF5Baloo)
+ $(cmake_use_find_package telemetry KUserFeedback)
+ )
+ if ! use emoji && ! use ibus; then
+ mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_GLIB2=ON )
+ fi
+
+ ecm_src_configure
+}
+
+src_test() {
+ # parallel tests fail, foldermodeltest,positionertest hang, bug #646890
+ # test_kio_fonts needs D-Bus, bug #634166
+ # lookandfeel-kcmTest is unreliable for a long time, bug #607918
+ local myctestargs=(
+ -j1
+ -E "(foldermodeltest|positionertest|test_kio_fonts|lookandfeel-kcmTest)"
+ )
+
+ ecm_src_test
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ optfeature "screen reader support" app-accessibility/orca
+ fi
+ ecm_pkg_postinst
+}
diff --git a/kde-plasma/plasma-workspace/Manifest b/kde-plasma/plasma-workspace/Manifest
index afac896d48a1..a1dcc310b0d5 100644
--- a/kde-plasma/plasma-workspace/Manifest
+++ b/kde-plasma/plasma-workspace/Manifest
@@ -5,10 +5,16 @@ AUX plasma-workspace-5.24.80-split-libkworkspace.patch 1175 BLAKE2B 74dabcc26da2
AUX plasma-workspace-5.25.5-delay-ksplash-until-after-env-setup.patch 2718 BLAKE2B 92a97286860d97a64f6bc19bfe0a1e42a85d594a7a9bc7d879ed08a92b3a0a1e03030c6c06315929534c51116e04c00a35330f0642e6fdd22dbb32353b9b58bd SHA512 2ec73f0c30a1bf2d73a4f63b76551bbbabff87462077e7137c699b0d65d6e5b52100d1bf66b279ce5cac8f52f5c54612a9a51e7b7ced91d09740cb8f79cc9497
AUX plasma-workspace-5.25.5-fix-setpassword.patch 1528 BLAKE2B af3c5aec87890e840848988e9528bfce639ebe8d0a1ad0919f4d75c0d798532d092aec1cc445e0ae85a71519c2eb1fbef7bd94b8c624cdb363885c2fd662a0ed SHA512 f72eec7b461d3f02c3548c5c754123cd70f6c0191cffff693c0f4c6882d43cd2754dd4ec1cd8b6c3fb190b37990aa0efe6c21828550fae4dd9d37db80f6b786a
AUX plasma-workspace-5.25.5-fonts-honor-and-present-system-defaults.patch 1920 BLAKE2B 0bf6253ad9b2d9fa83ddc04cf804311053ec310f6d5bed67a0b67f542957294da697dcf402c7b46984631d4a0aa830f52c8c90a753351fdb4dc25b1170c0f201 SHA512 8891594b6895dfc46968ece1d4dfb69b6eb2f9b6500cc72bcec1d1e7600a3b5225b84af8e7408e648908e7ed3022d271322bf983450f5f9af5f0bb249b5c1541
-AUX plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch 992 BLAKE2B bace8863e329cd23caa6770fe47d716701adc0245b437606545d0a286c48f54325b35a9ea70cc267cc1533f48de59fe3d4fe0a92c3ef6699cc24dc33276959d5 SHA512 1c3196b5309b234163e6c9dfca3788a958791f6b81a4b69e40ff1fbe60676875615dd85d6a769f94963af35028d2e8fdbf819d89c2bf4f16cf9ca070fd7a78be
+AUX plasma-workspace-5.25.5-geolocation-deadlock.patch 7871 BLAKE2B ba45904f36a9bb8d9a011dd479761f31c25b3841313f2a2ec5090e07993884bb92e618b86792618605869fe19d8eab3dfc7d1245ca5f19203256e42aaaf2f829 SHA512 6e1aa3625ebb14ce5217824b137478d88fa0d2f490fb5091e433566f57ba7d6f7f8c6aedb6e4653635c9a75e7168b5ee632f04cee637b29c5764bf6c21091146
+AUX plasma-workspace-5.25.5-layout-save.patch 1396 BLAKE2B 4b746dfe2c4f13f677c48b819901832a626044732d4f443cec843747de795c896a40d0f18b0c8405fb61cd4b2b152b2b51cdbf6f3aa4b05d455beb14de45fb59 SHA512 ca54f4e5c7be035c706b5373f29985f15265329d229525a762436648117b2f1011c2ba2d44c974d82316cdbd8a46d461be9f78963e81c89214a2a978e1df752b
+AUX plasma-workspace-5.25.5-lock-layout.patch 4481 BLAKE2B 6642c8c95d18857f1316d8a5aeb5553cb455933389bfa055e478b09e8dd0ba924877d1b0394e3cf59ca8d684c66ee5f78b27c70db51a5de9072355ed4108901a SHA512 6eaa8e1d801075fd1f26eee59c854c89b133612f80ceeea9ec754903d822215f6807a9278293729581ab13c15dded8e27c9f28bce1d73acaa81e1c2f8a0117b8
+AUX plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch 829 BLAKE2B 879f26a303552fe92efcc568ad72db2525079ef6e17d13d0a79eeff9ee56121d9fb68db20e1ea0ffaf64d5f04c8e9c63272023e9aec6d39a4b2328a7f26462ea SHA512 0d5c0dc881ebbcbb817715ee228e4cbee5c196d013b0efe1dd22f7ac243dd180f8890284249c9d4d781c45da42e91bad6d435a81b57c84cf62eab5d82a1a5196
+AUX plasma-workspace-5.25.5-relayout.patch 1029 BLAKE2B f48a25343ce5249a1687535d358ce048f1cf3a22606811702f82be3908d466ca42858906a215bf899152744587b069de2c129532790e2d0da8ab683f3ad1a665 SHA512 4cff2f1e2107db888557a9111f10d9d5184cf6fcac0cfa09eeb1bf805a6cf27cfd3c1933db539ad5c0fbefd1f82ce30b70888d5f654a9aad07f99fbf957e8a9b
+AUX plasma-workspace-5.25.5-systray-double-destroy.patch 831 BLAKE2B b20b0569c98ba525f7593b28ffe98eb07b5fe349284d491288080406c0cd3a2f75a0498a9a701c71a4a544ebef5fd90722b90557b687a180388bc9aa53ff1c31 SHA512 394ae8324281f9029fe6a4bbe92ffdaf0968e565d1e37a6d70a19e4855764f0277f45c54378b327f7f6716ea4eeeb3dd6e3a99ea908476c94d7cb8b0e27dd516
AUX plasma-workspace-5.25.5-widgetexplorer-recurse-containments.patch 1438 BLAKE2B d33271c8fafe0e7b14205009d541f6d7bba98e405a47f0d5c85fc60028d093a4e8b135dac122a18bc78288ed43d489adef6e66ff53e4ddc2098f74a1525126e6 SHA512 7f623ca5d8a184cb31af5039e49ac0a8a6a35cc9ada2959d2ae38fb2e4e1aafc44d3e684740a9d0c97b00e92af858b2ab374c2d5c793b17dac2e4808239dd0e0
DIST plasma-workspace-5.25.5.tar.xz 18638932 BLAKE2B f83aabf84b775c0bf9d1e60db03f94400e3363fa8f45767bdc471706682cda7323fae4948cffa156188cc7ed2d30d05349a385dd370ef941c16464ddddf8fa01 SHA512 0c6cf5104b584b34a8bcb45d57069fed3b25e871fccf1bfefd47d8fc1b595867c1c4f0fcfcc0e07847534e1e77ce8ed1f3be1ac6cb7eea8669a9c7649c8466cb
DIST plasma-workspace-5.26.4.1.tar.xz 17472540 BLAKE2B 84d30fe7345c1400d8ccb3b8f1c15503402e734bf26dbfe6b05581257cc0e489792bc1ea5389b9daa9e65348d3ae63eefab4a38424185d114485ce2c66a18fe9 SHA512 d4cef07da2802711265e04b1e5ebe284c59ab507e306041e290fd91687179141e42be678a4cd6473b59edfaefcd3edf603ae5cab1f7e85508f6e3d1abaa76784
EBUILD plasma-workspace-5.25.5-r4.ebuild 7034 BLAKE2B 3539851cf3cad460f3598a5e4ce0e1b997ea8d500fa2de304d7c3ca05bb1b81323519b4e11adfeebb7617d06dad9a90179d491aa209ed4b6ea873e20bf7c9943 SHA512 6cb92c9b73d02d4d543ba5c905c6569b205b762ebe6a6f9479c08398c545e7b3c3263dd63ed7de2eac699e281d8bce726ecf6bb2fc545ef1d90fe7293de9ac77
+EBUILD plasma-workspace-5.25.5-r5.ebuild 7413 BLAKE2B f24a09be5ac25a7536a2b1a5f259a02bc28f7b8f8ae2ae0f3c7e716c5f9872bb5d2b29500fd8a090c01b847d9fa97889471b8e529aa304a686c500945af2b01e SHA512 346ed055512b0d7ca297b22128a816d5c770b03581383b0d40b57b5f756a10314422be2e7b8a7ee057d35f93e308456e05bf21318aef3b5a4d480997c7a8b84d
EBUILD plasma-workspace-5.26.4.1.ebuild 6721 BLAKE2B a6531310141e8b6beffa5b3fd9e70fdf99ffb363a37500ddb0ec5db7ae501d5f7359cc3068a7128496e4abeec802c99947463bf8eeee43752ee512afe9d828db SHA512 59ddb5282490cd42337fc3e4d578a58c1c2d7fbee9e9e1a6741a7a3220e5004df70849e6f4dc13ed7b6ddfdabbd3b5f626e0ad7f2ce5ba2d4c327aa47de9917e
MISC metadata.xml 959 BLAKE2B 6513ae79e0cf24efd0bd33a16708950d36393770b51ea752c4c8c6e7ec63c7675dcf5e96dcfbb07d527ba910462b7c23afe35c55b4643ec69d1175660b245478 SHA512 8af28473216b00d4273be4bbb5d93adf8a4db79c46d9e97bd8b2822fa3920e8fc789042669bc93e6e9a6fa1c864a49fc23887be8456ea122a6d8b09e384dffbd
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-geolocation-deadlock.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-geolocation-deadlock.patch
new file mode 100644
index 000000000000..70bd28419472
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-geolocation-deadlock.patch
@@ -0,0 +1,194 @@
+https://invent.kde.org/plasma/plasma-workspace/-/commit/d693026676cc6bf2b7c23e9ff4b620679cf15d10
+
+From d693026676cc6bf2b7c23e9ff4b620679cf15d10 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Mon, 15 Aug 2022 18:36:56 +0200
+Subject: [PATCH] [dataengines/geolocation] Port from KIO::http_post to
+ QNetworkAccessManager
+
+Not only does this slightly simplify the code, it also avoids a deadlock in kded when automatic proxy detection is enabled
+
+BUG: 449984
+
+BUG: 457341
+(cherry picked from commit 98cadd48c21c89b81fdeb3499a557a6551a09d8a)
+---
+ dataengines/geolocation/CMakeLists.txt | 2 +-
+ dataengines/geolocation/location_ip.cpp | 84 ++++++++++---------------
+ 2 files changed, 35 insertions(+), 51 deletions(-)
+
+diff --git a/dataengines/geolocation/CMakeLists.txt b/dataengines/geolocation/CMakeLists.txt
+index 175687bd4d..6ae707643c 100644
+--- a/dataengines/geolocation/CMakeLists.txt
++++ b/dataengines/geolocation/CMakeLists.txt
+@@ -36,7 +36,7 @@ target_link_libraries(plasma_engine_geolocation
+ kcoreaddons_add_plugin(plasma-geolocation-ip SOURCES location_ip.cpp INSTALL_NAMESPACE plasma/geolocationprovider)
+ ecm_qt_declare_logging_category(plasma-geolocation-ip HEADER geolocdebug.h IDENTIFIER DATAENGINE_GEOLOCATION CATEGORY_NAME org.kde.plasma.dataengine.geolocation)
+ target_compile_definitions(plasma-geolocation-ip PRIVATE -DQT_NO_KEYWORDS)
+-target_link_libraries(plasma-geolocation-ip plasma-geolocation-interface KF5::KIOCore KF5::NetworkManagerQt)
++target_link_libraries(plasma-geolocation-ip plasma-geolocation-interface KF5::NetworkManagerQt)
+
+ pkg_check_modules(LIBGPS libgps IMPORTED_TARGET)
+
+diff --git a/dataengines/geolocation/location_ip.cpp b/dataengines/geolocation/location_ip.cpp
+index 27b530810c..3c5a202b89 100644
+--- a/dataengines/geolocation/location_ip.cpp
++++ b/dataengines/geolocation/location_ip.cpp
+@@ -12,15 +12,14 @@
+
+ #include "location_ip.h"
+ #include "geolocdebug.h"
+-#include <KIO/Job>
+-#include <KIO/TransferJob>
+-#include <KJob>
+ #include <KSharedConfig>
+ #include <NetworkManagerQt/Manager>
+ #include <NetworkManagerQt/WirelessDevice>
+ #include <QJsonArray>
+ #include <QJsonDocument>
+ #include <QJsonObject>
++#include <QNetworkAccessManager>
++#include <QNetworkReply>
+ #include <QUrl>
+
+ class Ip::Private : public QObject
+@@ -30,19 +29,21 @@ public:
+ Private(Ip *q)
+ : q(q)
+ {
++ m_nam.setRedirectPolicy(QNetworkRequest::NoLessSafeRedirectPolicy);
++ m_nam.setStrictTransportSecurityEnabled(true);
++ m_nam.enableStrictTransportSecurityStore(true,
++ QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation) + QLatin1String("/plasmashell/hsts/"));
+ }
+
+- void readGeoLocation(KJob *job)
++ void readGeoLocation(QNetworkReply *reply)
+ {
+ m_geoLocationResolved = true;
+- if (job && job->error()) {
+- qCCritical(DATAENGINE_GEOLOCATION) << "error: " << job->errorString();
+- m_geoLocationPayload.clear();
++ if (reply->error()) {
++ qCCritical(DATAENGINE_GEOLOCATION) << "error: " << reply->errorString();
+ checkUpdateData();
+ return;
+ }
+- const QJsonObject json = QJsonDocument::fromJson(m_geoLocationPayload).object();
+- m_geoLocationPayload.clear();
++ const QJsonObject json = QJsonDocument::fromJson(reply->readAll()).object();
+
+ auto accuracyIt = json.find(QStringLiteral("accuracy"));
+ if (accuracyIt != json.end()) {
+@@ -62,52 +63,28 @@ public:
+
+ void clear()
+ {
+- m_geoLocationPayload.clear();
+- m_countryPayload.clear();
+ m_countryResolved = false;
+ m_geoLocationResolved = false;
+ m_data.clear();
+ }
+
+- void geoLocationData(KIO::Job *job, const QByteArray &data)
+- {
+- Q_UNUSED(job)
+-
+- if (data.isEmpty()) {
+- return;
+- }
+- m_geoLocationPayload.append(data);
+- }
+-
+- void countryData(KIO::Job *job, const QByteArray &data)
+- {
+- Q_UNUSED(job)
+-
+- if (data.isEmpty()) {
+- return;
+- }
+- m_countryPayload.append(data);
+- }
+-
+- void readCountry(KJob *job)
++ void readCountry(QNetworkReply *reply)
+ {
+ m_countryResolved = true;
+- if (job && job->error()) {
+- qCCritical(DATAENGINE_GEOLOCATION) << "error: " << job->errorString();
+- m_countryPayload.clear();
++ if (reply->error()) {
++ qCCritical(DATAENGINE_GEOLOCATION) << "error: " << reply->errorString();
+ checkUpdateData();
+ return;
+ }
+
+- const QJsonObject json = QJsonDocument::fromJson(m_countryPayload).object();
+- m_countryPayload.clear();
++ const QJsonObject json = QJsonDocument::fromJson(reply->readAll()).object();
+
+ m_data[QStringLiteral("country")] = json.value(QStringLiteral("country_name")).toString();
+ m_data[QStringLiteral("country code")] = json.value(QStringLiteral("country_code")).toString();
++
+ checkUpdateData();
+ }
+
+-private:
+ void checkUpdateData()
+ {
+ if (!m_countryResolved || !m_geoLocationResolved) {
+@@ -117,11 +94,10 @@ private:
+ }
+
+ Ip *q;
+- QByteArray m_geoLocationPayload;
+- QByteArray m_countryPayload;
+ bool m_countryResolved = false;
+ bool m_geoLocationResolved = false;
+ Plasma::DataEngine::Data m_data;
++ QNetworkAccessManager m_nam;
+ };
+
+ Ip::Ip(QObject *parent, const QVariantList &args)
+@@ -176,18 +152,26 @@ void Ip::update()
+ }
+ const QByteArray postData = QJsonDocument(request).toJson(QJsonDocument::Compact);
+ const QString apiKey = QStringLiteral("60e8eae6-3988-4ada-ad48-2cfddddf216b");
+- KIO::TransferJob *datajob =
+- KIO::http_post(QUrl(QStringLiteral("https://location.services.mozilla.com/v1/geolocate?key=%1").arg(apiKey)), postData, KIO::HideProgressInfo);
+- datajob->addMetaData(QStringLiteral("content-type"), QStringLiteral("application/json"));
+
+ qCDebug(DATAENGINE_GEOLOCATION) << "Fetching https://location.services.mozilla.com/v1/geolocate";
+- connect(datajob, &KIO::TransferJob::data, d, &Ip::Private::geoLocationData);
+- connect(datajob, &KIO::TransferJob::result, d, &Ip::Private::readGeoLocation);
+-
+- datajob = KIO::http_post(QUrl(QStringLiteral("https://location.services.mozilla.com/v1/country?key=%1").arg(apiKey)), postData, KIO::HideProgressInfo);
+- datajob->addMetaData(QStringLiteral("content-type"), QStringLiteral("application/json"));
+- connect(datajob, &KIO::TransferJob::data, d, &Ip::Private::countryData);
+- connect(datajob, &KIO::TransferJob::result, d, &Ip::Private::readCountry);
++ QNetworkRequest locationRequest(QUrl(QStringLiteral("https://location.services.mozilla.com/v1/geolocate?key=%1").arg(apiKey)));
++ locationRequest.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/json"));
++ QNetworkReply *locationReply = d->m_nam.post(locationRequest, postData);
++
++ connect(locationReply, &QNetworkReply::finished, this, [this, locationReply] {
++ locationReply->deleteLater();
++ d->readGeoLocation(locationReply);
++ });
++
++ qCDebug(DATAENGINE_GEOLOCATION) << "Fetching https://location.services.mozilla.com/v1/country";
++ QNetworkRequest countryRequest(QUrl(QStringLiteral("https://location.services.mozilla.com/v1/country?key=%1").arg(apiKey)));
++ countryRequest.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/json"));
++ QNetworkReply *countryReply = d->m_nam.post(countryRequest, postData);
++
++ connect(countryReply, &QNetworkReply::finished, this, [this, countryReply] {
++ countryReply->deleteLater();
++ d->readCountry(countryReply);
++ });
+ }
+
+ K_PLUGIN_CLASS_WITH_JSON(Ip, "plasma-geolocation-ip.json")
+--
+GitLab
+
+
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-layout-save.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-layout-save.patch
new file mode 100644
index 000000000000..ed298549128a
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-layout-save.patch
@@ -0,0 +1,33 @@
+https://invent.kde.org/plasma/plasma-workspace/-/commit/b983f1c758552346083ffe0b3d47173b487ae426
+
+From b983f1c758552346083ffe0b3d47173b487ae426 Mon Sep 17 00:00:00 2001
+From: Aaron Rainbolt <arraybolt3@gmail.com>
+Date: Wed, 19 Oct 2022 14:16:26 -0500
+Subject: [PATCH] Save layout immediately after a resolution change triggered
+ relayout
+
+(cherry picked from commit f33cd92fbfb765299018bddc2a86ac5326731231)
+---
+ components/containmentlayoutmanager/appletslayout.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/components/containmentlayoutmanager/appletslayout.cpp b/components/containmentlayoutmanager/appletslayout.cpp
+index 70970e8919..c3e957cbd9 100644
+--- a/components/containmentlayoutmanager/appletslayout.cpp
++++ b/components/containmentlayoutmanager/appletslayout.cpp
+@@ -80,6 +80,11 @@ AppletsLayout::AppletsLayout(QQuickItem *parent)
+ } else if (!m_geometryBeforeResolutionChange.isEmpty()) {
+ m_layoutManager->layoutGeometryChanged(newGeom, m_geometryBeforeResolutionChange);
+ m_geometryBeforeResolutionChange = QRectF();
++
++ // If the user doesn't move a widget after this is done, the widget positions won't be saved and they will be in the wrong
++ // places on next login, so save them now.
++
++ save();
+ }
+ }
+ m_layoutChanges = NoChange;
+--
+GitLab
+
+
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-lock-layout.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-lock-layout.patch
new file mode 100644
index 000000000000..422b22a678dd
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-lock-layout.patch
@@ -0,0 +1,113 @@
+https://invent.kde.org/plasma/plasma-workspace/-/commit/0a01c8910309fb9f289fe0aa58492e106d154548
+
+From 0a01c8910309fb9f289fe0aa58492e106d154548 Mon Sep 17 00:00:00 2001
+From: Marco Martin <notmart@gmail.com>
+Date: Sun, 25 Sep 2022 16:47:31 -0500
+Subject: [PATCH] Introduce a lock that blocks relayouts and config writes
+
+The resize of the layout area can happen either by screen resolution
+change or available screen area change (a panel appears or is resized)
+This is not an atomic operation, as width and height are usually set in
+2 different operations, and even worse the layout area is resized to
+ match the available one with an animation, so many intermediate resizes
+that should never cause a relayout happen.
+In normal operation an event compression timer limits the actual
+relayouts to hopefully one, but if the system is really slowed down
+(for instance, startup) the timer may expire and cause relayouts in
+non useful sizes, losing the needed configuration
+In combination with
+
+The lock blocks all relayout and config writes when the size of the
+layout area doesn't correspond to corona availablescreenrect, which are
+the only "settled" cases.
+
+BUG:413645
+--- a/components/containmentlayoutmanager/appletslayout.cpp
++++ b/components/containmentlayoutmanager/appletslayout.cpp
+@@ -56,9 +56,10 @@ AppletsLayout::AppletsLayout(QQuickItem *parent)
+ connect(m_layoutChangeTimer, &QTimer::timeout, this, [this]() {
+ // We can't assume m_containment to be valid: if we load in a plasmoid that can run also
+ // in "applet" mode, m_containment will never be valid
+- if (!m_containment) {
++ if (!m_containment || width() <= 0 || height() <= 0 || m_relayoutLock) {
+ return;
+ }
++
+ const QString &serializedConfig = m_containment->config().readEntry(m_configKey, "");
+ if ((m_layoutChanges & ConfigKeyChange) && !serializedConfig.isEmpty()) {
+ if (!m_configKey.isEmpty() && m_containment) {
+@@ -169,6 +170,27 @@ void AppletsLayout::setFallbackConfigKey(const QString &key)
+ Q_EMIT fallbackConfigKeyChanged();
+ }
+
++bool AppletsLayout::relayoutLock() const
++{
++ return m_relayoutLock;
++}
++
++void AppletsLayout::setRelayoutLock(bool lock)
++{
++ if (lock == m_relayoutLock) {
++ return;
++ }
++
++ m_relayoutLock = lock;
++
++ if (!lock && m_layoutChanges != NoChange) {
++ m_layoutChangeTimer->start();
++ }
++
++ Q_EMIT relayoutLockChanged();
++}
++
++
+ QJSValue AppletsLayout::acceptsAppletCallback() const
+ {
+ return m_acceptsAppletCallback;
+@@ -468,7 +490,7 @@ void AppletsLayout::geometryChanged(const QRectF &newGeometry, const QRectF &old
+ }
+
+ // Only do a layouting procedure if we received a valid size
+- if (!newGeometry.isEmpty()) {
++ if (!newGeometry.isEmpty() && newGeometry != oldGeometry) {
+ m_layoutChanges |= SizeChange;
+ m_layoutChangeTimer->start();
+ }
+--- a/components/containmentlayoutmanager/appletslayout.h
++++ b/components/containmentlayoutmanager/appletslayout.h
+@@ -39,6 +39,8 @@ class AppletsLayout : public QQuickItem
+ // from the screen size and plasma starts on an "unexpected" size
+ Q_PROPERTY(QString fallbackConfigKey READ fallbackConfigKey WRITE setFallbackConfigKey NOTIFY fallbackConfigKeyChanged)
+
++ Q_PROPERTY(bool relayoutLock READ relayoutLock WRITE setRelayoutLock NOTIFY relayoutLockChanged)
++
+ Q_PROPERTY(PlasmaQuick::AppletQuickItem *containment READ containment WRITE setContainment NOTIFY containmentChanged)
+
+ Q_PROPERTY(QJSValue acceptsAppletCallback READ acceptsAppletCallback WRITE setAcceptsAppletCallback NOTIFY acceptsAppletCallbackChanged)
+@@ -103,6 +105,9 @@ public:
+ QString fallbackConfigKey() const;
+ void setFallbackConfigKey(const QString &key);
+
++ bool relayoutLock() const;
++ void setRelayoutLock(bool lock);
++
+ PlasmaQuick::AppletQuickItem *containment() const;
+ void setContainment(PlasmaQuick::AppletQuickItem *containment);
+
+@@ -162,6 +167,7 @@ Q_SIGNALS:
+
+ void configKeyChanged();
+ void fallbackConfigKeyChanged();
++ void relayoutLockChanged();
+ void containmentChanged();
+ void minimumItemWidthChanged();
+ void minimumItemHeightChanged();
+@@ -226,6 +232,7 @@ private:
+ QPointF m_mouseDownPosition = QPoint(-1, -1);
+ bool m_mouseDownWasEditMode = false;
+ bool m_editMode = false;
++ bool m_relayoutLock = false;
+ };
+
+ Q_DECLARE_OPERATORS_FOR_FLAGS(AppletsLayout::LayoutChanges)
+GitLab
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch
index 457470f0807c..ef94ed3afa00 100644
--- a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-prevent-panel-go-out-of-screen.patch
@@ -10,12 +10,6 @@ There is still a known culprit (duplicate display names) so the hack shouldn't b
CCBUG: 353975
CCBUG: 438114
----
- shell/panelview.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/shell/panelview.cpp b/shell/panelview.cpp
-index b5c87bbf71..4be1e26ca4 100644
--- a/shell/panelview.cpp
+++ b/shell/panelview.cpp
@@ -859,6 +859,9 @@ void PanelView::moveEvent(QMoveEvent *ev)
@@ -28,6 +22,4 @@ index b5c87bbf71..4be1e26ca4 100644
}
void PanelView::keyPressEvent(QKeyEvent *event)
---
GitLab
-
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-relayout.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-relayout.patch
new file mode 100644
index 000000000000..efd211c26de4
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-relayout.patch
@@ -0,0 +1,22 @@
+https://invent.kde.org/plasma/plasma-workspace/-/commit/f30431c9ed0bb70506cbc72ea337323660a0dc14
+
+From f30431c9ed0bb70506cbc72ea337323660a0dc14 Mon Sep 17 00:00:00 2001
+From: Aaron Rainbolt <arraybolt3@gmail.com>
+Date: Wed, 19 Oct 2022 14:15:16 -0500
+Subject: [PATCH] Remove unnecessary heuristic relayout function call
+
+(cherry picked from commit c344410a061862dd4802581a1ac3b9a09758ace0)
+--- a/components/containmentlayoutmanager/appletslayout.cpp
++++ b/components/containmentlayoutmanager/appletslayout.cpp
+@@ -80,10 +80,6 @@ AppletsLayout::AppletsLayout(QQuickItem *parent)
+ } else if (!m_geometryBeforeResolutionChange.isEmpty()) {
+ m_layoutManager->layoutGeometryChanged(newGeom, m_geometryBeforeResolutionChange);
+ m_geometryBeforeResolutionChange = QRectF();
+-
+- // Heuristically relayout items only when the plasma startup is fully completed
+- } else {
+- polish();
+ }
+ }
+ m_layoutChanges = NoChange;
+GitLab
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-systray-double-destroy.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-systray-double-destroy.patch
new file mode 100644
index 000000000000..3719f2dcae7a
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.25.5-systray-double-destroy.patch
@@ -0,0 +1,24 @@
+https://invent.kde.org/plasma/plasma-workspace/-/commit/432d7c4b51c5a1f17af327d770266b3fe81e5ae5
+
+From 432d7c4b51c5a1f17af327d770266b3fe81e5ae5 Mon Sep 17 00:00:00 2001
+From: Nicolas Fella <nicolas.fella@gmx.de>
+Date: Tue, 27 Sep 2022 18:04:51 +0200
+Subject: [PATCH] [applets/systemtray] Don't manually destroy innerContainment
+
+It's already destroyed by the corona
+
+BUG: 420245
+(cherry picked from commit 7baa4c221e45f161adf4e00d4cf0e36d6436e90c)
+--- a/applets/systemtray/container/systemtraycontainer.cpp
++++ b/applets/systemtray/container/systemtraycontainer.cpp
+@@ -20,9 +20,6 @@ SystemTrayContainer::SystemTrayContainer(QObject *parent, const KPluginMetaData
+
+ SystemTrayContainer::~SystemTrayContainer()
+ {
+- if (destroyed()) {
+- m_innerContainment->destroy();
+- }
+ }
+
+ void SystemTrayContainer::init()
+GitLab
diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.25.5-r5.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.25.5-r5.ebuild
new file mode 100644
index 000000000000..973ec86a90e6
--- /dev/null
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.25.5-r5.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="forceoptional"
+KFMIN=5.99.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.5
+VIRTUALX_REQUIRED="test"
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma workspace"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="appstream +calendar +fontconfig geolocation gps +policykit
+screencast +semantic-desktop telemetry"
+
+REQUIRED_USE="gps? ( geolocation )"
+RESTRICT="test"
+
+# slot op: various private QtWaylandClient headers
+COMMON_DEPEND="
+ dev-libs/icu:=
+ >=dev-libs/wayland-1.15
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
+ >=dev-qt/qtgui-${QTMIN}:5=[jpeg,libinput]
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwayland-${QTMIN}:5=
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kactivities-${KFMIN}:5
+ >=kde-frameworks/kactivities-stats-${KFMIN}:5
+ >=kde-frameworks/karchive-${KFMIN}:5
+ >=kde-frameworks/kauth-${KFMIN}:5
+ >=kde-frameworks/kbookmarks-${KFMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/kdeclarative-${KFMIN}:5
+ >=kde-frameworks/kded-${KFMIN}:5
+ >=kde-frameworks/kglobalaccel-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kidletime-${KFMIN}:5
+ >=kde-frameworks/kinit-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/kjobwidgets-${KFMIN}:5
+ >=kde-frameworks/knewstuff-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/knotifyconfig-${KFMIN}:5
+ >=kde-frameworks/kpackage-${KFMIN}:5
+ >=kde-frameworks/kpeople-${KFMIN}:5
+ >=kde-frameworks/krunner-${KFMIN}:5
+ >=kde-frameworks/kservice-${KFMIN}:5
+ >=kde-frameworks/ktexteditor-${KFMIN}:5
+ >=kde-frameworks/ktextwidgets-${KFMIN}:5
+ >=kde-frameworks/kunitconversion-${KFMIN}:5
+ >=kde-frameworks/kwallet-${KFMIN}:5
+ >=kde-frameworks/kwayland-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/plasma-${KFMIN}:5
+ >=kde-frameworks/prison-${KFMIN}:5[qml]
+ >=kde-frameworks/solid-${KFMIN}:5
+ >=kde-plasma/breeze-${PVCUT}:5
+ >=kde-plasma/kscreenlocker-${PVCUT}:5
+ >=kde-plasma/kwin-${PVCUT}:5
+ >=kde-plasma/layer-shell-qt-${PVCUT}:5
+ >=kde-plasma/libkscreen-${PVCUT}:5
+ >=kde-plasma/libksysguard-${PVCUT}:5
+ >=kde-plasma/libkworkspace-${PVCUT}:5
+ >=media-libs/phonon-4.11.0
+ sci-libs/libqalculate:=
+ sys-libs/zlib
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXcursor
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXtst
+ x11-libs/xcb-util
+ x11-libs/xcb-util-image
+ appstream? ( dev-libs/appstream[qt5] )
+ calendar? ( >=kde-frameworks/kholidays-${KFMIN}:5 )
+ fontconfig? (
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ media-libs/fontconfig
+ x11-libs/libXft
+ x11-libs/xcb-util-image
+ )
+ geolocation? ( >=kde-frameworks/networkmanager-qt-${KFMIN}:5 )
+ gps? ( sci-geosciences/gpsd )
+ policykit? ( virtual/libcrypt:= )
+ screencast? (
+ >=dev-qt/qtgui-${QTMIN}:5=[egl]
+ media-libs/libglvnd
+ >=media-video/pipewire-0.3:=
+ x11-libs/libdrm
+ )
+ semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:5 )
+ telemetry? ( dev-libs/kuserfeedback:5 )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.6.0
+ >=dev-qt/qtconcurrent-${QTMIN}:5
+ >=dev-util/wayland-scanner-1.19.0
+ x11-base/xorg-proto
+ fontconfig? ( x11-libs/libXrender )
+ test? ( >=dev-libs/wayland-protocols-1.24 )
+"
+RDEPEND="${COMMON_DEPEND}
+ app-text/iso-codes
+ >=dev-qt/qdbus-${QTMIN}:*
+ >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=dev-qt/qtpaths-${QTMIN}:5
+ >=dev-qt/qtquickcontrols-${QTMIN}:5[widgets]
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ kde-apps/kio-extras:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+ >=kde-frameworks/kquickcharts-${KFMIN}:5
+ >=kde-plasma/milou-${PVCUT}:5
+ >=kde-plasma/plasma-integration-${PVCUT}:5
+ sys-apps/dbus
+ x11-apps/xmessage
+ x11-apps/xprop
+ x11-apps/xrdb
+ x11-apps/xsetroot
+ !<kde-plasma/breeze-5.22.90:5
+ !<kde-plasma/plasma-desktop-5.23.90:5
+ policykit? ( sys-apps/accountsservice )
+"
+BDEPEND="
+ >=dev-qt/qtwaylandscanner-${QTMIN}:5
+ virtual/pkgconfig
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.24.80-split-libkworkspace.patch" # downstream
+ "${FILESDIR}/${PN}-5.22.5-krunner-cwd-at-home.patch" # TODO upstream: KDE-bug 432975, bug 767478
+ "${FILESDIR}/${P}-widgetexplorer-recurse-containments.patch" # https://mail.kde.org/pipermail/distributions/2022-September/001287.html
+ "${FILESDIR}/${P}-delay-ksplash-until-after-env-setup.patch" # KDE-bug 458865 w/ Qt 5.15.6
+ "${FILESDIR}/${P}-fonts-honor-and-present-system-defaults.patch" # KDE-bug 416140
+ "${FILESDIR}/${P}-prevent-panel-go-out-of-screen.patch" # git master and Plasma/5.24 branch double revert
+ "${FILESDIR}/${P}-fix-setpassword.patch" # Plasma/5.25 branch, KDE-bug 459309
+ "${FILESDIR}/${P}-systray-double-destroy.patch" # Plasma/5.24 branch, KDE-bug 420245
+ "${FILESDIR}/${P}-geolocation-deadlock.patch" # Plasma/5.24 branch, KDE-bug 449984, KDE-bug 457341
+ "${FILESDIR}/${P}-lock-layout.patch" # Plasma/5.24 branch, KDE-bug 413645
+ "${FILESDIR}/${P}-relayout.patch" # Plasma/5.24 branch
+ "${FILESDIR}/${P}-layout-save.patch" # Plasma/5.24 branch
+)
+
+src_prepare() {
+ ecm_src_prepare
+
+ cmake_comment_add_subdirectory libkworkspace
+ # delete colliding libkworkspace translations
+ if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ find po -type f -name "*po" -and -name "libkworkspace*" -delete || die
+ fi
+
+ # TODO: try to get a build switch upstreamed
+ if ! use screencast; then
+ sed -e "s/^pkg_check_modules.*PipeWire/#&/" -i CMakeLists.txt || die
+ fi
+
+ # TODO: try to get a build switch upstreamed
+ if use geolocation; then
+ use gps || sed -e "s/^pkg_check_modules.*LIBGPS/#&/" \
+ -i dataengines/geolocation/CMakeLists.txt || die
+ fi
+
+ if ! use policykit; then
+ cmake_run_in kcms cmake_comment_add_subdirectory users
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_xembed-sni-proxy=OFF
+ -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt5=ON
+ $(cmake_use_find_package appstream AppStreamQt)
+ $(cmake_use_find_package calendar KF5Holidays)
+ $(cmake_use_find_package fontconfig Fontconfig)
+ $(cmake_use_find_package geolocation KF5NetworkManagerQt)
+ $(cmake_use_find_package semantic-desktop KF5Baloo)
+ $(cmake_use_find_package telemetry KUserFeedback)
+ )
+
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+
+ # default startup and shutdown scripts
+ insinto /etc/xdg/plasma-workspace/env
+ doins "${FILESDIR}"/10-agent-startup.sh
+
+ insinto /etc/xdg/plasma-workspace/shutdown
+ doins "${FILESDIR}"/10-agent-shutdown.sh
+ fperms +x /etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh
+}
+
+pkg_postinst () {
+ ecm_pkg_postinst
+
+ elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
+ elog "edit ${EPREFIX}/etc/xdg/plasma-workspace/env/10-agent-startup.sh"
+ elog "and ${EPREFIX}/etc/xdg/plasma-workspace/shutdown/10-agent-shutdown.sh"
+}