summaryrefslogtreecommitdiff
path: root/kde-frameworks/plasma
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2021-12-22 14:08:05 +0000
commit93a93e9a3b53c1a73142a305ea1f8136846942ee (patch)
treeb9791a06ab3284e27b568412c59316c66240c682 /kde-frameworks/plasma
parent2771f79232c273bc2a57d23bf335dd81ccf6af28 (diff)
gentoo resync : 22.12.2021
Diffstat (limited to 'kde-frameworks/plasma')
-rw-r--r--kde-frameworks/plasma/Manifest17
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-ExpandableListItem-overlapping.patch41
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch48
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-pinned-calendar-dots.patch37
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-plasma-scaling-w-int-scale-factors.patch44
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-svgicon-memleak.patch37
-rw-r--r--kde-frameworks/plasma/files/plasma-5.85.0-fix-theme-memleak.patch86
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch28
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch269
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch42
-rw-r--r--kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch29
-rw-r--r--kde-frameworks/plasma/plasma-5.88.0-r2.ebuild (renamed from kde-frameworks/plasma/plasma-5.85.0-r3.ebuild)12
-rw-r--r--kde-frameworks/plasma/plasma-5.88.0-r3.ebuild83
-rw-r--r--kde-frameworks/plasma/plasma-5.89.0.ebuild (renamed from kde-frameworks/plasma/plasma-5.88.0-r1.ebuild)6
14 files changed, 465 insertions, 314 deletions
diff --git a/kde-frameworks/plasma/Manifest b/kde-frameworks/plasma/Manifest
index 197cf2e41899..402aac2b84bd 100644
--- a/kde-frameworks/plasma/Manifest
+++ b/kde-frameworks/plasma/Manifest
@@ -1,14 +1,13 @@
-AUX plasma-5.85.0-fix-ExpandableListItem-overlapping.patch 1676 BLAKE2B 0335857db4528881056a10cd4037b0288fdacd3a1e55a90f01523071122f974c7925e49d841c8d1ef40bd6d7731e6d05c747dd116f18263ad156d557d79aeb78 SHA512 72a6a67a5f8bb713c5d5456af6d0c2d6d2837d9610068174528a239a88d5b75ee30a86133eeedc5793e55c856a52bf762337819c5a27f4c0196220263d8d1ed2
-AUX plasma-5.85.0-fix-cmake.patch 1752 BLAKE2B a148a2836ebc6dc6ff7c26e811b4406586e389ef9d5ae30e2f6996f7328a698493f198312c3b86894b36255689be9ccba3368a1e6b03c76b5646b70b039c3303 SHA512 227fb2817e2620cf120e8be94a1eb27b925ed65c8f8ab0327414d6aa391aa5cceecd944ee2f7a0804f5c3246b249ef4c25505a37621194875da982351bd1fe01
-AUX plasma-5.85.0-fix-pinned-calendar-dots.patch 1466 BLAKE2B 1d4f72269928e35e0364a325f9700cd0b265cf26b00d46b228aec9cb5fdc82cc652a572a3057720beb2acc783eb7ce451dbbe358f80ed7d48549cd144d4d6cf8 SHA512 4f6e331a3502b9d73c554a44569569989c7b8f33dfe7a4362654ed899dde302541024c30b98b7f31636fc40c19cb48e263266c6f89c27028bea6119d5f823071
-AUX plasma-5.85.0-fix-plasma-scaling-w-int-scale-factors.patch 1766 BLAKE2B 07e8f384a2dde888465b4c6e3317afdd511ddc03fbc18ccf6e76d235bd6552c9b0dbd292f19244e0792129c68b2284af9220f9ef54240bee1255e35a5e94d907 SHA512 5f452b6634bd53f7265dfad2a38e40aa46ff69d10081b51c47b1aed97cabd28d545e7fd985ff26412c07315214821f201e5ff2de3d895e8afde9523d187b932c
-AUX plasma-5.85.0-fix-svgicon-memleak.patch 1613 BLAKE2B be00da72ac0a1a8ce97cf771ea83db44fe97142ddadfc1a1b283cce5297568ec0566b7a2ce626ad7d7e4f7bbc82edf260dcda1db6ea8cf8ed1c132b3a25dedce SHA512 c8dbb37558ecf3491edbbbda6f93075d7ddea7561eb42b30416d61f7b7256966c609862fb8e0c746b9a93d2caff37b8afef9eff0d5db271d6e3cff8aef2d560b
-AUX plasma-5.85.0-fix-theme-memleak.patch 3873 BLAKE2B 8ec65e67dab0020febd483b4b369d26d4f9e7a1782b783c2910e80db643f92562559053a6319b57af4f905daeaa970db7d78e1a2c11b07dcdbc9d3bb74f52c10 SHA512 fe93829d4881a71bd4671af187a7210fb8fec1c92b29917d1530c58d1247976d59ea2e16eb0eec0c14e25824a9b15caebb7912f7db23b6088c1352e9925d15a9
AUX plasma-5.88.0-fix-centered-text.patch 5964 BLAKE2B 882776806b609517a0eeca3febf8defa11395efcfe216dc5dfd2e7d7f6b5ff949b137a73c4b69b286160760c0e3a9473d22ee48f4dd55286bddd209b3a539d52 SHA512 62d2e0df039011ede515e3e96980dfd2f1a8d1ae4d442a2b21e0f6c00c3480b19729cb321cda9b5ddafa0ae94fac1aed806c3f2501d4bef18819a5183ef4da52
AUX plasma-5.88.0-fix-misrenderings-with-transparency.patch 1262 BLAKE2B 89c5112182f20d1beda6f11c411720a991c490ee1082f1197012f4faca2309bce2f17a0792758006a0f9851060d2b641799835824dc24967b6a4afc0897f9737 SHA512 3ea8b7df68d99fcc9ea1bfd2f8ec291d2f46e64ebf91ce0e3a5cc0260f33107f88a8c167fd1e401ab2b5e2f4d88d7125208d8de497da2f7b6a9487ac6218691b
AUX plasma-5.88.0-make-OSD-an-actual-wayland-OSD.patch 1068 BLAKE2B 61fd267c09e56c1f4f71ad95644271078459a484c2c4a3afd9a1a60528f22694c19cf17ef7387a1931db5b3f900a29fb045eac155fb017cf9c01492a90552482 SHA512 e29ceffd67d587a45e23ef01f661343ed0b6d44bc97ad6d1f26061f1be0b61805d3aedf01a96c7a3e01619d5ca2c72f94e8785898cfa4d003e60c1ceebe93efb
-DIST plasma-framework-5.85.0.tar.xz 3145156 BLAKE2B 8a9257e3613ecc20051064af8eaa94cd30d07fd9c6349f6dd2aa1169ab661dbede1ff424ac1f96a30230270cf8f957731465c0a655270862c104987576b614ed SHA512 aba7e62ff3d9eff7c28c1736bd1b25e14c19502f021ed7f78025f7129abb728a066de0fff327098f52b84e78f78fbe87743563b78a4c91e2065187fb443eeb77
+AUX plasma-5.88.0-no-double-delete.patch 988 BLAKE2B 9d3fce0c542c557cddf12cea73929e7aec917772b484a37cb104db95cf2053b7670e52807f16180251a5d5ebf40981b78fad4f2026d4128faa50362bfc49cc25 SHA512 a6801128a66726501f619a355dd21a3cde07c4e571c8e8f38b2bdbff71c3a621e0be36eaf959ae662776e518a4d8ae7b694e9ce703ac27d4fbdceb026a7d32c6
+AUX plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch 9892 BLAKE2B b0804a3f5b568c518178ef703c002a58fd71dc8139259d2e3cf81aac67070a8c60fde6a7ebf048e5912a28ad1f3e0f135846a589192ef2223087e19835c8fe07 SHA512 367f76b3a2c8ea357506dbd2926d8bfe92b922edcc3ad78d2b52491aaf7fd13689be3c1554cad0a297bbb1ab6839a379926b47d2793ef1e58db0568a2b0c56f8
+AUX plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch 2027 BLAKE2B a0136afc58043cc49925a70bd24d73e2b9a5ee9d3c0474ba77a0c9d34daedd117c151c7376907220b176bc159935fe57edacd4fa885fcd082ccfb30f585baa8f SHA512 808643c91081d31e0e5579ef394858de0e82f74b44c01e39c6ebabd8a269809bd79f0666361d30ca370042e976880169dbb6b41dc1d008f31d64199260234739
+AUX plasma-5.88.0-update-after-clearing-actions.patch 1104 BLAKE2B f4fb2603d06760c77f2bd4e927d59f2aad9baace236ea1c58799158e99931027eaef9993f39bf2e768a590a0e2dc1cb2bced6c11a1c6374a5136b87f9cc562f5 SHA512 a3687beb4bfb2d3384b4921f13ab7c20b27ce12866741e574ce2225483a6905cf1b95d6647b976f44196909ff25232a430d2eae5f7158a1a39dac23d9ae42cda
DIST plasma-framework-5.88.0.tar.xz 3142640 BLAKE2B cbd0cc61b6c39e56a1bceed44d7f04f0033c0daaa3073760f04536b22760147b1bb82f5b85d70d48301083e9ae13e3f6bbebafa75e264762157e2fcaf658123d SHA512 b99c8d5722198d7f2096734f62f913f74471810331980a2722f1864602f3facf796c17a494d16fca7dbbe4389fd5db64b9fe82fd34f148f4ff6230ffde0ded93
-EBUILD plasma-5.85.0-r3.ebuild 2329 BLAKE2B eab27d4eea5e926738094e0e3f711369a229f87922aa1256f75e9b240111f0c6f8a430102c807ed4cb93dcfd392005f13c0f81f572134a51e0c47d32c49da4e1 SHA512 f40ddb75ef8316018d0eda6db3602ecea8958d26446517c790fed6776f297a78e7d22bbc113149f625b8b2f37b9ed98dcfad73fe7dd176db6e7c4388ecb8aafc
-EBUILD plasma-5.88.0-r1.ebuild 2153 BLAKE2B 6e4081e90377066182d6e46fa9de7aba401c289c9b85a15a4adcf96e52374a268b887aece51906a08a748445a88ee4180c421d928c7018f5b6247710aa37d25a SHA512 79292b0b55a982d17b87db87fdc21119198014b925d12147729c581481881707d6a9cef9c22493722a08c70b7896508db02682c74a52b6ae84a1fb9a31e31fad
+DIST plasma-framework-5.89.0.tar.xz 3144948 BLAKE2B 692ee0869a38c1712f864e035aa0182b653dde863afde727940bfbdda2c7c4b3e75fd6d9bebefbed28c31e031b47fab80dbc09dd391fbd62093b73cafd3cc8b7 SHA512 b51caf71ee678f5766a15acae45aae66de5852738c3a8378420d3aebc179f1430ae290902b2c3f79c80009e483bbbf604d5982a494b955339ba45181096488e5
+EBUILD plasma-5.88.0-r2.ebuild 2369 BLAKE2B 14e4deb3f5292674fcb30e824a386a0cc65538bde2deacd4a811983e7c16d3592627d08dc6f9584882eb4d2b839d25a88607398d0f1ee48c18ac0080ebdddd42 SHA512 7b58ac1d7120a87ab3588352ba6e7b9a529741ebd98ead6a5c7138dc685f2a64697b9e1985cd614da31adf5b61d04cef10128e6f3be5a2cf82be47f00b6268a1
+EBUILD plasma-5.88.0-r3.ebuild 2447 BLAKE2B 2a1471cb8dab390459b6745a038a56ecf9f5a08b3fbcc5ebe67b5b30442a8a20a3e7a892de120c0e336d4bf4fa5027220b10c656ed00ad61a6a2286cedfddf56 SHA512 bc975c57746ff89492db6fc1149c27478a3510422f0b58f46676a48701dcc93501b8cf83896fd481cbc3713657402f1562d9aaa06089b8fcf553bccc774e80b0
+EBUILD plasma-5.89.0.ebuild 1943 BLAKE2B 4f9cabe4ac6c36839d71bfbad8cd5b6652d22723eba67017ae7587941de3efb6595c4f472770bee802a4421f6c711e83832185e3a8d333e358a0b4cdb1a79526 SHA512 23aa0e6f6349402291049e4203dff1a9263fd797a749cb274e4d53b8032eac9931f1d457290499ae9694ef93dbbd82b329d9c55e707496906f89adc3f0b6c122
MISC metadata.xml 456 BLAKE2B 4392b1cc6f304778d71236d5eb557dfbbd530143eea5cad9a3c3034e3e8b22c835f6c7f980124a21cefd35a2dd1efd5110adc0a5342170f88dfd7418b12bee99 SHA512 7ba65331cad434e2dceee012a5458d268eb2a04e0f7276b265c15644e6db5209bc7eee7d9695aa0038c435711e0f6f0dc53c7bae9d773b48f01e22a22e4dbb80
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-ExpandableListItem-overlapping.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-ExpandableListItem-overlapping.patch
deleted file mode 100644
index 8063039b7626..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.85.0-fix-ExpandableListItem-overlapping.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f393bace87e5fc8c0e68eff9faf0656df64715ed Mon Sep 17 00:00:00 2001
-From: Nate Graham <nate@kde.org>
-Date: Wed, 1 Sep 2021 12:30:01 -0600
-Subject: [PATCH] ExpandableListItem: Fix overlapping entries with many
- expanded items
-
-A previous hack was done wrong, and was not taking into account disabled
-items.
-
-BUG: 428102
-FIXED-IN: 5.86
----
- .../plasmaextracomponents/qml/ExpandableListItem.qml | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml b/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml
-index 47b3e3684..851961a4c 100644
---- a/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml
-+++ b/src/declarativeimports/plasmaextracomponents/qml/ExpandableListItem.qml
-@@ -523,7 +523,7 @@ Item {
-
- // Container for actions list, so that we can add left and right margins to it
- Item {
-- height: actionsList.contentHeight
-+ height: actionsList.height
- width: mainRowLayout.width
-
- // TODO: Implement keyboard focus
-@@ -538,7 +538,8 @@ Item {
- anchors.leftMargin: listItemIcon.width + PlasmaCore.Units.smallSpacing
- anchors.rightMargin: listItemIcon.width + PlasmaCore.Units.smallSpacing * 2
-
-- height: PlasmaCore.Units.gridUnit * 2 * actionsList.count
-+ // Need to take into account disabled/invisible items
-+ height: PlasmaCore.Units.gridUnit * 2 * Array.from(contextualActionsModel).filter(item => item.enabled).length
-
- focus: true
- clip: true
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch
deleted file mode 100644
index 0eab0a772c08..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.85.0-fix-cmake.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From e496ef0440c92e119da0b1088f1ab788cebeae33 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Thu, 26 Aug 2021 19:12:00 +0200
-Subject: [PATCH] CMake: do not expand variables beforehand
-
-Fixes build when FindOpenGL is disabled, producing a syntax error:
-"Function invoked with incorrect arguments for function named: ADD_FEATURE_INFO"
-
-See also: https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/267
-
-Downstream report: https://bugs.gentoo.org/809815
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e27ebd914..25abbf921 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -110,20 +110,20 @@ set_package_properties(EGL PROPERTIES
- TYPE OPTIONAL
- )
-
--add_feature_info(GLX ${OpenGL_GLX_FOUND} "OpenGL GLX libraries.")
-+add_feature_info(GLX OpenGL_GLX_FOUND "OpenGL GLX libraries.")
- if(OpenGL_GLX_FOUND AND X11_FOUND AND (Qt5Gui_OPENGL_IMPLEMENTATION STREQUAL "GL"))
- set(HAVE_GLX 1)
- else()
- set(HAVE_GLX 0)
- endif()
-
--add_feature_info(EGL ${OpenGL_EGL_FOUND}
-+add_feature_info(EGL OpenGL_EGL_FOUND
- "A platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES and OpenVG.")
- # OpenGL_EGL_FOUND is defined by FindOpenGL
- if(TARGET OpenGL::EGL)
- set(HAVE_EGL ${OpenGL_EGL_FOUND})
- set(EGL_TARGET OpenGL::EGL)
--elseif(${EGL_FOUND})
-+elseif(EGL_FOUND)
- set(HAVE_EGL ${EGL_FOUND})
- set(EGL_TARGET EGL::EGL)
- message(STATUS "Switch to EGL compatibility target EGL::EGL because OpenGL::EGL is not available")
---
-2.33.0
-
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-pinned-calendar-dots.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-pinned-calendar-dots.patch
deleted file mode 100644
index 0342024ca89d..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.85.0-fix-pinned-calendar-dots.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 19fe24ef9377178413438d7749630053995af229 Mon Sep 17 00:00:00 2001
-From: Eugene Popov <popov895@ukr.net>
-Date: Mon, 9 Aug 2021 15:56:02 +0000
-Subject: [PATCH] [Calendar] Fix pinned calendar displaying the wrong number of
- dots
-
-Use assignment instead of binding for the rootIndex property of the DelegateModel.
-
-BUG: 440627
-FIXED-IN: 5.86
----
- src/declarativeimports/calendar/qml/DayDelegate.qml | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/declarativeimports/calendar/qml/DayDelegate.qml b/src/declarativeimports/calendar/qml/DayDelegate.qml
-index af31991db..3f7fc681b 100644
---- a/src/declarativeimports/calendar/qml/DayDelegate.qml
-+++ b/src/declarativeimports/calendar/qml/DayDelegate.qml
-@@ -81,13 +81,14 @@ PlasmaComponents3.AbstractButton {
- Repeater {
- model: DelegateModel {
- model: dayStyle.dayModel
-- rootIndex: modelIndex(index)
- delegate: Rectangle {
- width: PlasmaCore.Units.smallSpacing * 1.5
- height: width
- radius: width / 2
- color: model.eventColor ? Kirigami.ColorUtils.linearInterpolation(model.eventColor, PlasmaCore.Theme.textColor, 0.2) : PlasmaCore.Theme.highlightColor
- }
-+
-+ Component.onCompleted: rootIndex = modelIndex(index)
- }
- }
- }
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-plasma-scaling-w-int-scale-factors.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-plasma-scaling-w-int-scale-factors.patch
deleted file mode 100644
index 9c0e9046496a..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.85.0-fix-plasma-scaling-w-int-scale-factors.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 837bb6975f6a0661d211107823b7587808fc3d4e Mon Sep 17 00:00:00 2001
-From: Nate Graham <nate@kde.org>
-Date: Sun, 15 Aug 2021 09:33:10 -0600
-Subject: [PATCH] Fix Plasma (non-Qt) icon scaling with integer scale factors
-
-An embarrassing error in 4edb830f53aac4833ece024df59441029b01fde6
-caused the function which returns an appropriate scale factor for icons
-to both take and return integer values rather than floating point
-values, preventing it from working properly with any scale factor other
-than an integer scale factor (e.g. 200%). This commit fixes that issue.
----
- src/declarativeimports/core/units.cpp | 2 +-
- src/declarativeimports/core/units.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/declarativeimports/core/units.cpp b/src/declarativeimports/core/units.cpp
-index 6788ed952..fbcc6d888 100644
---- a/src/declarativeimports/core/units.cpp
-+++ b/src/declarativeimports/core/units.cpp
-@@ -174,7 +174,7 @@ int Units::roundToIconSize(int size)
- }
- }
-
--int Units::bestIconScaleForDevicePixelRatio(const int ratio)
-+qreal Units::bestIconScaleForDevicePixelRatio(const qreal ratio)
- {
- if (ratio < 1.5) {
- return 1;
-diff --git a/src/declarativeimports/core/units.h b/src/declarativeimports/core/units.h
-index c19cf0dd8..855738e7d 100644
---- a/src/declarativeimports/core/units.h
-+++ b/src/declarativeimports/core/units.h
-@@ -271,7 +271,7 @@ private:
- * Note that this function is only relevant when using Plasma scaling and
- * when using Qt scaling, it always returns 1.
- */
-- static int bestIconScaleForDevicePixelRatio(const int ratio);
-+ static qreal bestIconScaleForDevicePixelRatio(const qreal ratio);
-
- /**
- * @return The dpi-adjusted size for a given icon size
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-svgicon-memleak.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-svgicon-memleak.patch
deleted file mode 100644
index 89896911d0a2..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.85.0-fix-svgicon-memleak.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 73782c8b39d1cc41fef003acca8df75ccdf384e4 Mon Sep 17 00:00:00 2001
-From: Matt Whitlock <kde@mattwhitlock.name>
-Date: Mon, 16 Aug 2021 19:37:28 -0400
-Subject: [PATCH] avoid holding onto old Svg object when changing source of an
- IconItem
-
-A long-lived IconItem instance can have its source changed many times
-over its lifetime. Because SvgSource parents its internal Plasma::Svg
-instance to the IconItem instance, this means that such Plasma::Svg
-instance was not being destroyed when its responsible SvgSource
-instance is destroyed and indeed would not be destroyed until the
-IconItem instance is eventually destroyed, which could be arbitrarily
-much later. This commit adds an explicit call in the SvgSource
-destructor to delete the Plasma::Svg instance so it does not hang
-around in memory until the IconItem instance is destroyed. This fixes
-one of the major memory "leaks" in plasmashell.
----
- src/declarativeimports/core/iconitem.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/declarativeimports/core/iconitem.cpp b/src/declarativeimports/core/iconitem.cpp
-index 0db750acd..3f06b8b0e 100644
---- a/src/declarativeimports/core/iconitem.cpp
-+++ b/src/declarativeimports/core/iconitem.cpp
-@@ -196,6 +196,9 @@ public:
- {
- if (m_svgIcon) {
- QObject::disconnect(m_iconItem, nullptr, m_svgIcon, nullptr);
-+ // the parent IconItem can outlive this IconItemSource, so delete our Plasma::Svg object
-+ // explicitly to avoid leaving unreferenced Plasma::Svg objects parented to the IconItem
-+ delete m_svgIcon;
- }
- }
-
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.85.0-fix-theme-memleak.patch b/kde-frameworks/plasma/files/plasma-5.85.0-fix-theme-memleak.patch
deleted file mode 100644
index 1d7dc596c20e..000000000000
--- a/kde-frameworks/plasma/files/plasma-5.85.0-fix-theme-memleak.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 14b495f933dadace7832fa6cbc809c3abdb7c682 Mon Sep 17 00:00:00 2001
-From: Matt Whitlock <kde@mattwhitlock.name>
-Date: Mon, 28 Jun 2021 18:01:14 -0400
-Subject: [PATCH] don't make duplicate connections to
- ThemePrivate::onAppExitCleanup
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Plasma::Theme::Theme(…) and Plasma::Theme::setThemeName(…) were
-unconditionally connecting the QCoreApplication::aboutToQuit signal to
-the ThemePrivate::onAppExitCleanup slot, even though the ThemePrivate
-instances are cached and shared across multiple Theme instances. In
-long-running applications that make heavy use of the Svg class (such as
-plasmashell), a single ThemePrivate instance can be reused by huge
-numbers of Theme instances. If the reference count of that ThemePrivate
-instance never reaches zero, then the connections just keep piling up,
-contributing to excessive memory usage. This commit moves the relevant
-connect(…) call so that it only happens in the case that a new
-ThemePrivate instance is constructed. Thus, there will only ever be one
-connection from QCoreApplication::aboutToQuit to
-ThemePrivate::onAppExitCleanup per instance of ThemePrivate.
----
- src/plasma/theme.cpp | 18 +++++++++---------
- 1 file changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/plasma/theme.cpp b/src/plasma/theme.cpp
-index fabf98f4e..f403d393b 100644
---- a/src/plasma/theme.cpp
-+++ b/src/plasma/theme.cpp
-@@ -39,13 +39,13 @@ Theme::Theme(QObject *parent)
- if (!ThemePrivate::globalTheme) {
- ThemePrivate::globalTheme = new ThemePrivate;
- ThemePrivate::globalTheme->settingsChanged(false);
-+ if (QCoreApplication::instance()) {
-+ connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, ThemePrivate::globalTheme, &ThemePrivate::onAppExitCleanup);
-+ }
- }
- ThemePrivate::globalTheme->ref.ref();
- d = ThemePrivate::globalTheme;
-
-- if (QCoreApplication::instance()) {
-- connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, d, &ThemePrivate::onAppExitCleanup);
-- }
- connect(d, &ThemePrivate::themeChanged, this, &Theme::themeChanged);
- connect(d, &ThemePrivate::defaultFontChanged, this, &Theme::defaultFontChanged);
- connect(d, &ThemePrivate::smallestFontChanged, this, &Theme::smallestFontChanged);
-@@ -57,6 +57,9 @@ Theme::Theme(const QString &themeName, QObject *parent)
- auto &priv = ThemePrivate::themes[themeName];
- if (!priv) {
- priv = new ThemePrivate;
-+ if (QCoreApplication::instance()) {
-+ connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, priv, &ThemePrivate::onAppExitCleanup);
-+ }
- }
-
- priv->ref.ref();
-@@ -68,9 +71,6 @@ Theme::Theme(const QString &themeName, QObject *parent)
- d->setThemeName(themeName, false, false);
- d->cacheTheme = useCache;
- d->fixedName = true;
-- if (QCoreApplication::instance()) {
-- connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, d, &ThemePrivate::onAppExitCleanup);
-- }
- connect(d, &ThemePrivate::themeChanged, this, &Theme::themeChanged);
- }
-
-@@ -105,12 +105,12 @@ void Theme::setThemeName(const QString &themeName)
- auto &priv = ThemePrivate::themes[themeName];
- if (!priv) {
- priv = new ThemePrivate;
-+ if (QCoreApplication::instance()) {
-+ connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, priv, &ThemePrivate::onAppExitCleanup);
-+ }
- }
- priv->ref.ref();
- d = priv;
-- if (QCoreApplication::instance()) {
-- connect(QCoreApplication::instance(), &QCoreApplication::aboutToQuit, d, &ThemePrivate::onAppExitCleanup);
-- }
- connect(d, &ThemePrivate::themeChanged, this, &Theme::themeChanged);
- }
-
---
-GitLab
-
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch b/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch
new file mode 100644
index 000000000000..d3a03411b2cf
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch
@@ -0,0 +1,28 @@
+From 9b37459570f75e09f17aadf32f7abfe8b8d4d1e0 Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotmail@gmail.com>
+Date: Sat, 4 Dec 2021 17:16:30 +0800
+Subject: [PATCH] wallpaperinterface: Don't double delete action
+
+`removeAction` already deletes the action, it makes no sense to delete
+the action again and will crash plasmashell.
+
+CCBUG: 446195
+---
+ src/scriptengines/qml/plasmoid/wallpaperinterface.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+index 570cf8e45..65adf838e 100644
+--- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
++++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+@@ -229,7 +229,6 @@ void WallpaperInterface::removeAction(const QString &name)
+
+ if (action) {
+ m_actions->removeAction(action);
+- delete action;
+ }
+ setProperty("contextualActions", QVariant::fromValue(contextualActions()));
+ }
+--
+GitLab
+
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch b/kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch
new file mode 100644
index 000000000000..07d25c836bbf
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.88.0-reload-shared-renderers-if-changed-on-disk.patch
@@ -0,0 +1,269 @@
+From fe9e118ff2212d48a0ea5fcc0346d6312978f3ed Mon Sep 17 00:00:00 2001
+From: Marco Martin <notmart@gmail.com>
+Date: Mon, 29 Nov 2021 14:40:38 +0000
+Subject: [PATCH] Reload shared renderers when a file changed on disk
+
+When we have to render a new pixmap, compare the file date with the date of the last time the file was cached. if the dates are different (not only older, in order to allow downgrades) then force the svg renderer to be reloaded from the new file, otherwise the renderer with the old file still loaded will save in cache old graphics with the id derived from the date of the new file, causing a wrong cache entry
+
+BUG:445516
+---
+ src/plasma/private/svg_p.h | 15 +++++-
+ src/plasma/svg.cpp | 100 +++++++++++++++++++++++++++----------
+ 2 files changed, 86 insertions(+), 29 deletions(-)
+
+diff --git a/src/plasma/private/svg_p.h b/src/plasma/private/svg_p.h
+index 11b68f21c..d39f274b4 100644
+--- a/src/plasma/private/svg_p.h
++++ b/src/plasma/private/svg_p.h
+@@ -30,8 +30,14 @@ public:
+
+ SharedSvgRenderer(const QByteArray &contents, const QString &styleSheet, QHash<QString, QRectF> &interestingElements, QObject *parent = nullptr);
+
++ void reload();
++
+ private:
+ bool load(const QByteArray &contents, const QString &styleSheet, QHash<QString, QRectF> &interestingElements);
++
++ QString m_filename;
++ QString m_styleSheet;
++ QHash<QString, QRectF> m_interestingElements;
+ };
+
+ class SvgPrivate
+@@ -125,9 +131,8 @@ public:
+ bool findElementRect(SvgPrivate::CacheId cacheId, QRectF &rect);
+ bool findElementRect(uint id, const QString &filePath, QRectF &rect);
+
+- void loadImageFromCache(const QString &path, uint lastModified);
++ bool loadImageFromCache(const QString &path, uint lastModified);
+ void dropImageFromCache(const QString &path);
+- void expireCache(const QString &path);
+
+ void setNaturalSize(const QString &path, qreal scaleFactor, const QSizeF &size);
+ QSizeF naturalSize(const QString &path, qreal scaleFactor);
+@@ -140,10 +145,15 @@ public:
+
+ QStringList cachedKeysForPath(const QString &path) const;
+
++ unsigned int lastModifiedTimeFromCache(const QString &filePath);
++
+ void updateLastModified(const QString &filePath, unsigned int lastModified);
+
+ static const uint s_seed;
+
++Q_SIGNALS:
++ void lastModifiedChanged(const QString &filePath, unsigned int lastModified);
++
+ private:
+ QTimer *m_configSyncTimer = nullptr;
+ QString m_iconThemePath;
+@@ -156,6 +166,7 @@ private:
+ QHash<uint, QRectF> m_localRectCache;
+ QHash<QString, QSet<unsigned int>> m_invalidElements;
+ QHash<QString, QList<QSize>> m_sizeHintsForId;
++ QHash<QString, unsigned int> m_lastModifiedTimes;
+ };
+ }
+
+diff --git a/src/plasma/svg.cpp b/src/plasma/svg.cpp
+index 1749381b7..47cf142e1 100644
+--- a/src/plasma/svg.cpp
++++ b/src/plasma/svg.cpp
+@@ -73,6 +73,9 @@ SharedSvgRenderer::SharedSvgRenderer(const QString &filename, const QString &sty
+ if (!file.open(QIODevice::ReadOnly)) {
+ return;
+ }
++ m_filename = filename;
++ m_styleSheet = styleSheet;
++ m_interestingElements = interestingElements;
+ load(file.readAll(), styleSheet, interestingElements);
+ }
+
+@@ -82,6 +85,16 @@ SharedSvgRenderer::SharedSvgRenderer(const QByteArray &contents, const QString &
+ load(contents, styleSheet, interestingElements);
+ }
+
++void SharedSvgRenderer::reload()
++{
++ KCompressionDevice file(m_filename, KCompressionDevice::GZip);
++ if (!file.open(QIODevice::ReadOnly)) {
++ return;
++ }
++
++ load(file.readAll(), m_styleSheet, m_interestingElements);
++}
++
+ bool SharedSvgRenderer::load(const QByteArray &contents, const QString &styleSheet, QHash<QString, QRectF> &interestingElements)
+ {
+ // Apply the style sheet.
+@@ -161,21 +174,31 @@ void SvgRectsCache::insert(Plasma::SvgPrivate::CacheId cacheId, const QRectF &re
+
+ void SvgRectsCache::insert(uint id, const QString &filePath, const QRectF &rect, unsigned int lastModified)
+ {
+- if (m_localRectCache.contains(id)) {
++ const unsigned int savedTime = lastModifiedTimeFromCache(filePath);
++
++ if (savedTime == lastModified && m_localRectCache.contains(id)) {
+ return;
+ }
+
+ m_localRectCache.insert(id, rect);
+
++
+ KConfigGroup imageGroup(m_svgElementsCache, filePath);
+- imageGroup.writeEntry("LastModified", lastModified);
++
+ if (rect.isValid()) {
+ imageGroup.writeEntry(QString::number(id), rect);
+ } else {
+ m_invalidElements[filePath] << id;
+ imageGroup.writeEntry("Invalidelements", m_invalidElements[filePath].values());
+ }
++
+ QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
++
++ if (savedTime != lastModified) {
++ m_lastModifiedTimes[filePath] = lastModified;
++ imageGroup.writeEntry("LastModified", lastModified);
++ Q_EMIT lastModifiedChanged(filePath, lastModified);
++ }
+ }
+
+ bool SvgRectsCache::findElementRect(Plasma::SvgPrivate::CacheId cacheId, QRectF &rect)
+@@ -201,20 +224,21 @@ bool SvgRectsCache::findElementRect(uint id, const QString &filePath, QRectF &re
+ return true;
+ }
+
+-void SvgRectsCache::loadImageFromCache(const QString &path, uint lastModified)
++bool SvgRectsCache::loadImageFromCache(const QString &path, uint lastModified)
+ {
+ if (path.isEmpty()) {
+- return;
++ return false;
+ }
+
+ KConfigGroup imageGroup(m_svgElementsCache, path);
+
+- unsigned int savedTime = imageGroup.readEntry("LastModified", 0);
++ unsigned int savedTime = lastModifiedTimeFromCache(path);
+
+- if (lastModified > savedTime) {
++ // Reload even if is older, to support downgrades
++ if (lastModified != savedTime) {
+ imageGroup.deleteGroup();
+ QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
+- return;
++ return false;
+ }
+
+ auto &elements = m_invalidElements[path];
+@@ -231,6 +255,7 @@ void SvgRectsCache::loadImageFromCache(const QString &path, uint lastModified)
+ }
+ }
+ }
++ return true;
+ }
+
+ void SvgRectsCache::dropImageFromCache(const QString &path)
+@@ -302,22 +327,6 @@ void SvgRectsCache::setIconThemePath(const QString &path)
+ QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
+ }
+
+-void SvgRectsCache::expireCache(const QString &path)
+-{
+- KConfigGroup imageGroup(m_svgElementsCache, path);
+-
+- unsigned int savedTime = imageGroup.readEntry("LastModified", QDateTime().toSecsSinceEpoch());
+- QFileInfo info(path);
+- if (info.exists()) {
+- unsigned int lastModified = info.lastModified().toSecsSinceEpoch();
+- if (lastModified <= savedTime) {
+- return;
+- }
+- }
+-
+- imageGroup.deleteGroup();
+-}
+-
+ void SvgRectsCache::setNaturalSize(const QString &path, qreal scaleFactor, const QSizeF &size)
+ {
+ KConfigGroup imageGroup(m_svgElementsCache, path);
+@@ -349,11 +358,30 @@ QStringList SvgRectsCache::cachedKeysForPath(const QString &path) const
+ return filtered;
+ }
+
++unsigned int SvgRectsCache::lastModifiedTimeFromCache(const QString &filePath)
++{
++ const auto &i = m_lastModifiedTimes.constFind(filePath);
++ if (i != m_lastModifiedTimes.constEnd()) {
++ return i.value();
++ }
++
++ KConfigGroup imageGroup(m_svgElementsCache, filePath);
++ const unsigned int savedTime = imageGroup.readEntry("LastModified", 0);
++ m_lastModifiedTimes[filePath] = savedTime;
++ return savedTime;
++}
++
+ void SvgRectsCache::updateLastModified(const QString &filePath, unsigned int lastModified)
+ {
+ KConfigGroup imageGroup(m_svgElementsCache, filePath);
+- imageGroup.writeEntry("LastModified", lastModified);
+- QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
++ const unsigned int savedTime = lastModifiedTimeFromCache(filePath);
++
++ if (savedTime != lastModified) {
++ m_lastModifiedTimes[filePath] = lastModified;
++ imageGroup.writeEntry("LastModified", lastModified);
++ QMetaObject::invokeMethod(m_configSyncTimer, qOverload<>(&QTimer::start));
++ Q_EMIT lastModifiedChanged(filePath, lastModified);
++ }
+ }
+
+ SvgPrivate::SvgPrivate(Svg *svg)
+@@ -463,7 +491,17 @@ bool SvgPrivate::setImagePath(const QString &imagePath)
+
+ lastModified = lastModifiedDate.toSecsSinceEpoch();
+
+- SvgRectsCache::instance()->loadImageFromCache(path, lastModified);
++ const bool imageWasCached = SvgRectsCache::instance()->loadImageFromCache(path, lastModified);
++
++ if (!imageWasCached) {
++ auto i = s_renderers.constBegin();
++ while (i != s_renderers.constEnd()) {
++ if (i.key().contains(path)) {
++ i.value()->reload();
++ }
++ i++;
++ }
++ }
+
+ // check if svg wants colorscheme applied
+ checkColorHints();
+@@ -552,7 +590,8 @@ QPixmap SvgPrivate::findInCache(const QString &elementId, qreal ratio, const QSi
+ const QString id = cachePath(actualElementId, size);
+
+ QPixmap p;
+- if (cacheRendering && cacheAndColorsTheme()->findInCache(id, p, lastModified)) {
++ if (cacheRendering && lastModified == SvgRectsCache::instance()->lastModifiedTimeFromCache(path)
++ && cacheAndColorsTheme()->findInCache(id, p, lastModified)) {
+ p.setDevicePixelRatio(ratio);
+ // qCDebug(LOG_PLASMA) << "found cached version of " << id << p.size();
+ return p;
+@@ -845,6 +884,13 @@ Svg::Svg(QObject *parent)
+ : QObject(parent)
+ , d(new SvgPrivate(this))
+ {
++ connect(SvgRectsCache::instance(), &SvgRectsCache::lastModifiedChanged,
++ this, [this] (const QString &filePath, unsigned int lastModified) {
++ if (d->lastModified != lastModified && filePath == d->path) {
++ d->lastModified = lastModified;
++ Q_EMIT repaintNeeded();
++ }
++ });
+ }
+
+ Svg::~Svg()
+--
+GitLab
+
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch b/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch
new file mode 100644
index 000000000000..f735b392667b
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.88.0-svg-smaller-mask-to-hide-glitches.patch
@@ -0,0 +1,42 @@
+From 9ba4ed4da72a3d1bbec8920d93a547cf633cfacd Mon Sep 17 00:00:00 2001
+From: Marco Martin <notmart@gmail.com>
+Date: Wed, 10 Nov 2021 15:50:10 +0100
+Subject: [PATCH] smaller mask to hide glitches
+
+This makes the mask slightly maller than the frame. Since the svg will have antialiasing and the mask not,
+there will be artifacts at the corners, if they go under the svg they're less evident
+
+CCBUG:438644
+---
+ src/plasmaquick/dialog.cpp | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
+index 3254b8320..6b3963303 100644
+--- a/src/plasmaquick/dialog.cpp
++++ b/src/plasmaquick/dialog.cpp
+@@ -237,14 +237,19 @@ void DialogPrivate::updateTheme()
+ frameSvgItem->setImagePath(prefix + QStringLiteral("dialogs/background"));
+ }
+
+- KWindowEffects::enableBlurBehind(q, theme.blurBehindEnabled(), frameSvgItem->mask());
++ // This makes the mask slightly maller than the frame. Since the svg will have antialiasing and the mask not,
++ // there will be artifacts at the corners, if they go under the svg they're less evident
++ frameSvgItem->frameSvg()->resizeFrame(q->size() - QSize(2,2));
++ const QRegion mask = frameSvgItem->frameSvg()->mask().translated(1,1);
++ KWindowEffects::enableBlurBehind(q, theme.blurBehindEnabled(), mask);
+
+ KWindowEffects::enableBackgroundContrast(q,
+ theme.backgroundContrastEnabled(),
+ theme.backgroundContrast(),
+ theme.backgroundIntensity(),
+ theme.backgroundSaturation(),
+- frameSvgItem->mask());
++ mask);
++ frameSvgItem->frameSvg()->resizeFrame(q->size());
+
+ if (KWindowSystem::compositingActive()) {
+ if (hasMask) {
+--
+GitLab
+
diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch b/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch
new file mode 100644
index 000000000000..a30e9b6e5b1d
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch
@@ -0,0 +1,29 @@
+From 77fedf1f9919eb2cc07c8ecccdd70ad2a7343161 Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotmail@gmail.com>
+Date: Sat, 4 Dec 2021 18:08:43 +0800
+Subject: [PATCH] wallpaperinterface: Update "contextualActions" after clearing
+ actions
+
+After clearing the entire action collection, "contextualActions" needs
+to be updated to remove invalid action pointers.
+
+BUG: 446195
+---
+ src/scriptengines/qml/plasmoid/wallpaperinterface.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+index 65adf838e..49bdb9512 100644
+--- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
++++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+@@ -115,6 +115,7 @@ void WallpaperInterface::syncWallpaperPackage()
+ }
+
+ m_actions->clear();
++ setProperty("contextualActions", QVariant::fromValue(contextualActions()));
+ m_pkg = KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/Wallpaper"));
+ m_pkg.setPath(m_wallpaperPlugin);
+ if (!m_pkg.isValid()) {
+--
+GitLab
+
diff --git a/kde-frameworks/plasma/plasma-5.85.0-r3.ebuild b/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild
index e5f077ebe256..1954bafc268a 100644
--- a/kde-frameworks/plasma/plasma-5.85.0-r3.ebuild
+++ b/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild
@@ -60,12 +60,12 @@ DEPEND="${RDEPEND}
BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )"
PATCHES=(
- "${FILESDIR}"/${P}-fix-plasma-scaling-w-int-scale-factors.patch
- "${FILESDIR}"/${P}-fix-pinned-calendar-dots.patch # KDE-bug 440627
- "${FILESDIR}"/${P}-fix-cmake.patch # bug 809815
- "${FILESDIR}"/${P}-fix-ExpandableListItem-overlapping.patch # KDE-bug 428102
- "${FILESDIR}"/${P}-fix-theme-memleak.patch # in KF-5.86
- "${FILESDIR}"/${P}-fix-svgicon-memleak.patch # in KF-5.86
+ "${FILESDIR}"/${P}-make-OSD-an-actual-wayland-OSD.patch
+ "${FILESDIR}"/${P}-fix-misrenderings-with-transparency.patch # KDE-bug 305247
+ "${FILESDIR}"/${P}-fix-centered-text.patch # KDE-bug 442830
+ "${FILESDIR}"/${P}-reload-shared-renderers-if-changed-on-disk.patch # KDE-bug 445516
+ "${FILESDIR}"/${P}-no-double-delete.patch # KDE-bug 446195
+ "${FILESDIR}"/${P}-update-after-clearing-actions.patch # KDE-bug 446195
)
src_configure() {
diff --git a/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild b/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild
new file mode 100644
index 000000000000..a7454cdc9b4b
--- /dev/null
+++ b/kde-frameworks/plasma/plasma-5.88.0-r3.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_NAME="${PN}-framework"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Plasma framework"
+
+LICENSE="LGPL-2+"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+IUSE="gles2-only man wayland X"
+
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5[gles2-only=,X=]
+ >=dev-qt/qtquickcontrols-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ =kde-frameworks/kactivities-${PVCUT}*:5
+ =kde-frameworks/karchive-${PVCUT}*:5
+ =kde-frameworks/kconfig-${PVCUT}*:5
+ =kde-frameworks/kconfigwidgets-${PVCUT}*:5
+ =kde-frameworks/kcoreaddons-${PVCUT}*:5
+ =kde-frameworks/kdeclarative-${PVCUT}*:5
+ =kde-frameworks/kglobalaccel-${PVCUT}*:5
+ =kde-frameworks/kguiaddons-${PVCUT}*:5
+ =kde-frameworks/ki18n-${PVCUT}*:5
+ =kde-frameworks/kiconthemes-${PVCUT}*:5
+ =kde-frameworks/kio-${PVCUT}*:5
+ =kde-frameworks/kirigami-${PVCUT}*:5
+ =kde-frameworks/knotifications-${PVCUT}*:5
+ =kde-frameworks/kpackage-${PVCUT}*:5
+ =kde-frameworks/kservice-${PVCUT}*:5
+ =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+ =kde-frameworks/kwindowsystem-${PVCUT}*:5
+ =kde-frameworks/kxmlgui-${PVCUT}*:5
+ !gles2-only? ( media-libs/libglvnd[X?] )
+ wayland? (
+ =kde-frameworks/kwayland-${PVCUT}*:5
+ media-libs/libglvnd
+ )
+ X? (
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ x11-libs/libX11
+ x11-libs/libxcb
+ )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )
+"
+BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-make-OSD-an-actual-wayland-OSD.patch
+ "${FILESDIR}"/${P}-fix-misrenderings-with-transparency.patch # KDE-bug 305247
+ "${FILESDIR}"/${P}-fix-centered-text.patch # KDE-bug 442830
+ "${FILESDIR}"/${P}-reload-shared-renderers-if-changed-on-disk.patch # KDE-bug 445516
+ "${FILESDIR}"/${P}-no-double-delete.patch # KDE-bug 446195
+ "${FILESDIR}"/${P}-update-after-clearing-actions.patch # KDE-bug 446195
+ "${FILESDIR}"/${P}-svg-smaller-mask-to-hide-glitches.patch # KDE-bug 438644
+)
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package !gles2-only OpenGL)
+ $(cmake_use_find_package man KF5DocTools)
+ $(cmake_use_find_package wayland EGL)
+ $(cmake_use_find_package wayland KF5Wayland)
+ $(cmake_use_find_package X X11)
+ $(cmake_use_find_package X XCB)
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-frameworks/plasma/plasma-5.88.0-r1.ebuild b/kde-frameworks/plasma/plasma-5.89.0.ebuild
index 5a0e6848003e..1ccc68601353 100644
--- a/kde-frameworks/plasma/plasma-5.88.0-r1.ebuild
+++ b/kde-frameworks/plasma/plasma-5.89.0.ebuild
@@ -59,12 +59,6 @@ DEPEND="${RDEPEND}
"
BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )"
-PATCHES=(
- "${FILESDIR}"/${P}-make-OSD-an-actual-wayland-OSD.patch
- "${FILESDIR}"/${P}-fix-misrenderings-with-transparency.patch # KDE-bug 305247
- "${FILESDIR}"/${P}-fix-centered-text.patch # KDE-bug 442830
-)
-
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package !gles2-only OpenGL)