summaryrefslogtreecommitdiff
path: root/kde-plasma
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma')
-rw-r--r--kde-plasma/Manifest.gzbin9610 -> 9604 bytes
-rw-r--r--kde-plasma/discover/Manifest2
-rw-r--r--kde-plasma/discover/discover-5.27.8-r1.ebuild99
-rw-r--r--kde-plasma/discover/files/discover-5.27.8-flatpak-qrunnable-thread.patch187
-rw-r--r--kde-plasma/kscreen/Manifest2
-rw-r--r--kde-plasma/kscreen/files/kscreen-5.27.8-libinput-calibration-matrix.patch60
-rw-r--r--kde-plasma/kscreen/kscreen-5.27.8-r2.ebuild55
-rw-r--r--kde-plasma/plasma-workspace/Manifest2
-rw-r--r--kde-plasma/plasma-workspace/files/plasma-workspace-5.27.8-plasmacalendarintegration-holidayregion.patch81
-rw-r--r--kde-plasma/plasma-workspace/plasma-workspace-5.27.8-r1.ebuild232
10 files changed, 720 insertions, 0 deletions
diff --git a/kde-plasma/Manifest.gz b/kde-plasma/Manifest.gz
index b8d317223ea9..c8fbd93d28ee 100644
--- a/kde-plasma/Manifest.gz
+++ b/kde-plasma/Manifest.gz
Binary files differ
diff --git a/kde-plasma/discover/Manifest b/kde-plasma/discover/Manifest
index 96ba5f88d848..15cfca70346c 100644
--- a/kde-plasma/discover/Manifest
+++ b/kde-plasma/discover/Manifest
@@ -1,6 +1,8 @@
AUX discover-5.25.90-tests-optional.patch 3080 BLAKE2B 074ce41b4aee3fe8203f83fd63361189b78ddd4dc45a72a0d3e98a8ff50a92a463c680b93c7c7643e2bfc479e9374eda78148d41fed55c17035e751c0c584efa SHA512 bd82fe11d5ff1884c9457c655502831a3dab70ff172b5d49cdbdfa0cb6818735405ef1f4c519eaf46dd607bccf71077f11741cc11c85553f4e8f639125721767
+AUX discover-5.27.8-flatpak-qrunnable-thread.patch 6950 BLAKE2B d7b574f5c69119744b26f5eb6f5a362d2b238737b63fd0035b66f7be46f05d684dd29dfd4b76c4d2926e89d4f0b0a55e38b894172665deac91aa016b2ed24545 SHA512 ae1a269a3f572cddbfcb704bdf712fd0752fab163526b944084f223d1af2e25b0dec8c5f1dc055da093794b490c712cdba9b9f2d6125618bfa1afc2edb0e152a
DIST discover-5.27.7.tar.xz 868936 BLAKE2B 5ba3e5fd51ef3666b267c436f75f9a1291824c8d25e851cbdbe230ed7616f73e0db0c807374609ed4f7ee22d8a44618d2f9d6de0e742f428a991c032e5f4b4ba SHA512 5c691dfa1b0f83ce2063c2b5771faa22c87b3afdd6a5fcca50ccac84ec90d012c45f848e954ed9fe373110cb0ac0bb5d301656ec9b5566a68223af2728812242
DIST discover-5.27.8.tar.xz 869332 BLAKE2B 103494eb04fe539113ddaae207a1bc49320330d9c469cdcfb9342efd5a735eb419c18b5b0c76b72abf7cff2ff15d440eede0ed264c86446a298606d6c48a6433 SHA512 a6872b7a6979a3a31abf96cced686fd878889931ac0fef9aac47da564939f756d8cb8ebe877a9af322344ba01899f1c247858ddb2b9ea5778126d5bcb02e3042
EBUILD discover-5.27.7.ebuild 2761 BLAKE2B 9de16300b062b1d66accd5f2bd6c2bf064f7e8db3165fe2c989ee4643f15d420c7be3ce06155523bb17455edc4bcd9218a5529a3878a4142fa62dc71e100e119 SHA512 9a42b373adf4db8573b184db324b5a8bcc960c71783f5f48bcbcd20ee62f29f9bf3cd3ad475cab08b1dba15e9a8efd6cbdf0bc846b3303814c995431f5ae2944
+EBUILD discover-5.27.8-r1.ebuild 2833 BLAKE2B f146766f4aff0abe7c0368277e04c6c5eb24fbb7c61139b0c3ac8ccdfca2bd519b6b5cb9c138dcf9619727cdd3cc3a19f3922bf670ae2c6066941f3ec2803388 SHA512 c732f44ed270749fab4c2cc7e6b9420aa579436104a3272b4ca3637233ddc9a9f5d135bf7fe5cd452d942e8a4c4af00d5e81f1eef994b40b2dac6c31b24a7681
EBUILD discover-5.27.8.ebuild 2764 BLAKE2B 5d76d7330d7ab0507f279f1264bc45c07459bd74aacc5c0cb82b6b79386903509bd93876e6c2103a221c21e6ca4f68c240eda6796afe931ac704776501fe25b7 SHA512 1efae3aab5de8a8db05529cb7fd8aaa63a67301d987ceffd5556edeb6fb5ff363611433388bb444d00abafe77d131a7e3ad4c65625a46c7d780a08fb3c33ec96
MISC metadata.xml 845 BLAKE2B 87d892ce29180263400147d7a7b98e42093d613897bc09764b58e43712faff76bc13f0b9e09782faf6c6f8c78d02a555271159be54ccc5213241422931d43e65 SHA512 6fda677eb8dfe74813872cad68d234d7f272f7466f654b1d0a2725b6ceb6872f51887b5861f419cf5aeb09ffc593af230a923eafa22c0db9e1353b831a4a7187
diff --git a/kde-plasma/discover/discover-5.27.8-r1.ebuild b/kde-plasma/discover/discover-5.27.8-r1.ebuild
new file mode 100644
index 000000000000..2fabb5fd60ad
--- /dev/null
+++ b/kde-plasma/discover/discover-5.27.8-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma resources management GUI"
+HOMEPAGE="https://userbase.kde.org/Discover"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="+firmware flatpak snap telemetry webengine"
+
+# libmarkdown (app-text/discount) only used in PackageKitBackend
+DEPEND="
+ >=dev-libs/appstream-0.15.3:=
+ >=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/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/attica-${KFMIN}:5
+ >=kde-frameworks/kcmutils-${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/ki18n-${KFMIN}:5
+ >=kde-frameworks/kidletime-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+ >=kde-frameworks/knewstuff-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/purpose-${KFMIN}:5
+ firmware? ( >=sys-apps/fwupd-1.5.0 )
+ flatpak? ( sys-apps/flatpak )
+ snap? ( sys-libs/snapd-glib:=[qt5] )
+ telemetry? ( dev-libs/kuserfeedback:5 )
+ webengine? ( >=dev-qt/qtwebview-${QTMIN}:5 )
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ snap? ( app-containers/snapd )
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:5"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.25.90-tests-optional.patch"
+ "${FILESDIR}/${P}-flatpak-qrunnable-thread.patch" # KDE-bug 474231
+)
+
+src_prepare() {
+ ecm_src_prepare
+ # we don't need it with PackageKitBackend off
+ ecm_punt_kf_module Archive
+ # we don't do anything with this
+ sed -e "s/^pkg_check_modules.*RpmOstree/#&/" \
+ -e "s/^pkg_check_modules.*Ostree/#&/" \
+ -i CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ # TODO: Port PackageKit's portage back-end to python3
+ -DCMAKE_DISABLE_FIND_PACKAGE_packagekitqt5=ON
+ # Automated updates will not work for us
+ # https://invent.kde.org/plasma/discover/-/merge_requests/142
+ -DWITH_KCM=OFF
+ -DBUILD_DummyBackend=OFF
+ -DBUILD_FlatpakBackend=$(usex flatpak)
+ -DBUILD_FwupdBackend=$(usex firmware)
+ -DBUILD_RpmOstreeBackend=OFF
+ -DBUILD_SnapBackend=$(usex snap)
+ -DBUILD_SteamOSBackend=OFF
+ $(cmake_use_find_package telemetry KUserFeedback)
+ $(cmake_use_find_package webengine Qt5WebView)
+ )
+
+ ecm_src_configure
+}
+
+src_test() {
+ # bug 686392: needs network connection
+ local myctestargs=(
+ -E "(knsbackendtest|flatpaktest)"
+ )
+
+ ecm_src_test
+}
diff --git a/kde-plasma/discover/files/discover-5.27.8-flatpak-qrunnable-thread.patch b/kde-plasma/discover/files/discover-5.27.8-flatpak-qrunnable-thread.patch
new file mode 100644
index 000000000000..20525969b988
--- /dev/null
+++ b/kde-plasma/discover/files/discover-5.27.8-flatpak-qrunnable-thread.patch
@@ -0,0 +1,187 @@
+From 46d14515c3105e4e318d28db41057d9f1df3ce4d Mon Sep 17 00:00:00 2001
+From: Harald Sitter <sitter@kde.org>
+Date: Mon, 11 Sep 2023 07:05:52 +0200
+Subject: [PATCH] flatpak: make FlatpakTransactionThread a qrunnable instead
+
+we can't just have an unlimited number of threads for flatpak
+transactions. it'd eventually cause excessive load on both CPU and
+network to the point where things will start misbehaving. we also run
+risk of exhausting other software limited resources such as file
+descriptors.
+
+to resolve this problem we now treat the transactionthread as runnable
+and put it in a limited threadpool for concurrent execution. the new
+runnable has a finished signal that is emitted on every return from
+run() to match the QThread API.
+
+concurrency is limited to no more than 4 runnables at a time. that
+should still be plenty concurrent while generally unexpected to exhaust
+the default 1024 file descriptor limit - an install transaction appears
+to weigh between 60 and 100 fds
+
+other backends don't necessarily have this problem since they have
+daemons that do the work for us so we have way fewer open fds for them.
+
+BUG: 474231
+
+(cherry picked from commit db0ebc855517f189f64c1602a5d27e185cf02833)
+---
+ .../FlatpakBackend/FlatpakJobTransaction.cpp | 34 ++++++++++++++++---
+ .../FlatpakTransactionThread.cpp | 9 +++--
+ .../FlatpakBackend/FlatpakTransactionThread.h | 5 ++-
+ 3 files changed, 40 insertions(+), 8 deletions(-)
+
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp
+index 613563755..b2c1fcc20 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp
++++ b/libdiscover/backends/FlatpakBackend/FlatpakJobTransaction.cpp
+@@ -1,6 +1,7 @@
+ /*
+ * SPDX-FileCopyrightText: 2013 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
+ * SPDX-FileCopyrightText: 2017 Jan Grulich <jgrulich@redhat.com>
++ * SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+ */
+@@ -10,9 +11,30 @@
+ #include "FlatpakResource.h"
+ #include "FlatpakTransactionThread.h"
+
++#include <thread>
++
+ #include <QDebug>
+ #include <QTimer>
+
++namespace
++{
++class ThreadPool : public QThreadPool
++{
++public:
++ ThreadPool()
++ {
++ // Cap the amount of concurrency to prevent too many in-flight transactions. This in particular
++ // prevents running out of file descriptors or other limited resources.
++ // https://bugs.kde.org/show_bug.cgi?id=474231
++ constexpr auto arbitraryMaxConcurrency = 4U;
++ const auto concurrency = std::min(std::thread::hardware_concurrency(), arbitraryMaxConcurrency);
++ setMaxThreadCount(std::make_signed_t<decltype(concurrency)>(concurrency));
++ }
++};
++} // namespace
++
++Q_GLOBAL_STATIC(ThreadPool, s_pool);
++
+ FlatpakJobTransaction::FlatpakJobTransaction(FlatpakResource *app, Role role, bool delayStart)
+ : Transaction(app->backend(), app, role, {})
+ , m_app(app)
+@@ -27,11 +49,12 @@ FlatpakJobTransaction::FlatpakJobTransaction(FlatpakResource *app, Role role, bo
+
+ FlatpakJobTransaction::~FlatpakJobTransaction()
+ {
+- if (m_appJob->isRunning()) {
+- cancel();
+- m_appJob->wait();
++ cancel();
++ if (s_pool->tryTake(m_appJob)) { // immediately delete if the runnable hasn't started yet
++ delete m_appJob;
++ } else { // otherwise defer cleanup to the pool
++ m_appJob->setAutoDelete(true);
+ }
+- delete m_appJob;
+ }
+
+ void FlatpakJobTransaction::cancel()
+@@ -45,6 +68,7 @@ void FlatpakJobTransaction::start()
+
+ // App job will be added every time
+ m_appJob = new FlatpakTransactionThread(m_app, role());
++ m_appJob->setAutoDelete(false);
+ connect(m_appJob, &FlatpakTransactionThread::finished, this, &FlatpakJobTransaction::finishTransaction);
+ connect(m_appJob, &FlatpakTransactionThread::progressChanged, this, &FlatpakJobTransaction::setProgress);
+ connect(m_appJob, &FlatpakTransactionThread::speedChanged, this, &FlatpakJobTransaction::setDownloadSpeed);
+@@ -52,7 +76,7 @@ void FlatpakJobTransaction::start()
+ connect(m_appJob, &FlatpakTransactionThread::webflowStarted, this, &FlatpakJobTransaction::webflowStarted);
+ connect(m_appJob, &FlatpakTransactionThread::webflowDone, this, &FlatpakJobTransaction::webflowDone);
+
+- m_appJob->start();
++ s_pool->start(m_appJob);
+ }
+
+ void FlatpakJobTransaction::finishTransaction()
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp
+index 7072460ad..738a97a8c 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp
++++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.cpp
+@@ -1,5 +1,6 @@
+ /*
+ * SPDX-FileCopyrightText: 2017 Jan Grulich <jgrulich@redhat.com>
++ * SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+ */
+@@ -10,6 +11,7 @@
+ #include <KLocalizedString>
+ #include <QDebug>
+ #include <QDesktopServices>
++#include <QScopeGuard>
+
+ static int FLATPAK_CLI_UPDATE_FREQUENCY = 150;
+
+@@ -92,8 +94,7 @@ void FlatpakTransactionThread::webflowDoneCallback(FlatpakTransaction *transacti
+ }
+
+ FlatpakTransactionThread::FlatpakTransactionThread(FlatpakResource *app, Transaction::Role role)
+- : QThread()
+- , m_result(false)
++ : m_result(false)
+ , m_app(app)
+ , m_role(role)
+ {
+@@ -131,6 +132,10 @@ void FlatpakTransactionThread::cancel()
+
+ void FlatpakTransactionThread::run()
+ {
++ auto finish = qScopeGuard([this] {
++ Q_EMIT finished();
++ });
++
+ if (!m_transaction)
+ return;
+ g_autoptr(GError) localError = nullptr;
+diff --git a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h
+index 277c21902..8e3d0e2e2 100644
+--- a/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h
++++ b/libdiscover/backends/FlatpakBackend/FlatpakTransactionThread.h
+@@ -1,5 +1,6 @@
+ /*
+ * SPDX-FileCopyrightText: 2017 Jan Grulich <jgrulich@redhat.com>
++ * SPDX-FileCopyrightText: 2023 Harald Sitter <sitter@kde.org>
+ *
+ * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
+ */
+@@ -11,12 +12,13 @@
+ #include <glib.h>
+
+ #include <QMap>
++#include <QRunnable>
+ #include <QStringList>
+ #include <QThread>
+ #include <Transaction/Transaction.h>
+
+ class FlatpakResource;
+-class FlatpakTransactionThread : public QThread
++class FlatpakTransactionThread : public QObject, public QRunnable
+ {
+ Q_OBJECT
+ public:
+@@ -49,6 +51,7 @@ Q_SIGNALS:
+ void passiveMessage(const QString &msg);
+ void webflowStarted(const QUrl &url, int id);
+ void webflowDone(int id);
++ void finished();
+
+ private:
+ static gboolean
+--
+GitLab
+
diff --git a/kde-plasma/kscreen/Manifest b/kde-plasma/kscreen/Manifest
index f43dbb2a14ff..d107d740e6f4 100644
--- a/kde-plasma/kscreen/Manifest
+++ b/kde-plasma/kscreen/Manifest
@@ -1,6 +1,8 @@
AUX kscreen-5.27.8-cmake.patch 700 BLAKE2B dee1571184fc769af26a6e2bd85c19bde63cece2dd47b9635252bcd923d695ac26cc620f1c5d34fb825c5e344efa6ef07d85cdca43ba2e8702885eaca06ba071 SHA512 8bd75293b38fa8b60df085e4e2fc638470368f44a9b9c1f61716bde7ae7da0682d901b2f0f3e27ee4bf7f6f5a8dbf5059874018fab3dc563b42d5a2fdc262bc8
+AUX kscreen-5.27.8-libinput-calibration-matrix.patch 2304 BLAKE2B 3dca96079d99589c7c7cb52a7936b4eb5382d35f422b3fc5a0ebad03584621b6ae4493386bfff59783f5ee5258a9610f11a25abb9ab7a6c9e1d28f5c7d5672df SHA512 7f19112cddf80b93b2a0a37e236ab232e78f6f19da00b45be52c29f05328f0f6bbbbe0b67133acb5b509c60b7019465c3ff56079342e9b6fd9a48e2f0d6d4183
DIST kscreen-5.27.7.tar.xz 185132 BLAKE2B 752e4be58f3ef8f3781f84d17455b1b9c24964e8754dc4ff7c063f853097f82fcb5e9c2da8b2d5fa70725c1ac0f6b883410cbd4804aed3138c4cdfff8884ced0 SHA512 6c6c17066b320c4480534adfa0c39fb69d2b89e00b033613fd61a4d9ed6df112a750eef4b95301a42eddd4cbaec9e9e8bb77ffdc2dc9e377b07709afc67f0588
DIST kscreen-5.27.8.tar.xz 185204 BLAKE2B 71e8047cc1dc574e1b7b6781f14648166c93d87896db66014608a601407add48a948f4271b17da543687b1e127d8a57c77b4e27bd81854ffc41912fc3bf1bed2 SHA512 65ee754921374fd8bce504a7ad862d41f97817226f15830371e3fcc2998504fce3777271107e18e1d590a1295645884a0f8e42d17164f0377236e45b3cc0045d
EBUILD kscreen-5.27.7.ebuild 1349 BLAKE2B 5b26cbf36679a28e0609893349db488fc10a52bbfd702c9d92950f587172e47e8971c5f9c755b25a19d974fe230abb291f9f05434cab57dcc6ab1242a5915cc0 SHA512 186dafccbd398fce50090b35c3bb06726e162ec878e90e6cd3d0c79065effe2ee26ab70135d0098c2100d7a25e97e7c82688f18230abfee85d542dcdf4780305
EBUILD kscreen-5.27.8-r1.ebuild 1392 BLAKE2B 1f02c190d8a911a60b0c1d88bef5c7ab59d1b14a7fc85c67edec0ed3869f2a85e308693da60ea1bbc45f525bffbdc0769fd3d0dbf15fe29d5ac7b540deddf41e SHA512 8c7188a4e7085fff604d819661abcd8a5db9860859258882d7a9edf02ee99fce8b971cfa715217889cce47db9d37ae3f1055a666bc3f212bf62cd9f5f3192b2b
+EBUILD kscreen-5.27.8-r2.ebuild 1464 BLAKE2B d31d861aa6d02b8990229d608fa50d5f6fc9f91918a5e02f0e83f996a5f69c4c8916b9ad0ada58a2fafc2af72abb616612dabf19bde38668bc9ec24c92ff59b8 SHA512 c4c68aefe360b786a03e2875bb75a40af74c6a63fcbf828dc5f708ef3309e7abb75707bf6a176becd485658c6df91fe7ee3ed51847cda087c0c21c9da5e87cbf
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/kde-plasma/kscreen/files/kscreen-5.27.8-libinput-calibration-matrix.patch b/kde-plasma/kscreen/files/kscreen-5.27.8-libinput-calibration-matrix.patch
new file mode 100644
index 000000000000..f6e404ae1d52
--- /dev/null
+++ b/kde-plasma/kscreen/files/kscreen-5.27.8-libinput-calibration-matrix.patch
@@ -0,0 +1,60 @@
+From 49dbf9b9fb021d63ef5b712460483e6fe8c23a1c Mon Sep 17 00:00:00 2001
+From: theofficial gman <dofficialgman@gmail.com>
+Date: Sun, 24 Sep 2023 11:59:21 +0000
+Subject: [PATCH] Only modify `Coordinate Transformation Matrix`
+
+Allow `libinput Calibration Matrix` to exist as whatever it has set to by default.
+This allows for a UDEV rule to be made to set the calibration matrix in cases where
+the display and touchscreen do not have the same orientation or pixel sizing.
+This now matches the mutter implementation.
+
+BUG: 474110
+
+If my authorship is unsuitable (no real name used), I give permission for you to pick and reauthor at your wish.
+
+
+(cherry picked from commit c8f33c8fa3b194c883443457801119016cbbfe9f)
+---
+ kded/daemon.cpp | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/kded/daemon.cpp b/kded/daemon.cpp
+index f7cadee2..63ddf51a 100644
+--- a/kded/daemon.cpp
++++ b/kded/daemon.cpp
+@@ -483,7 +483,6 @@ void KScreenDaemon::alignX11TouchScreen()
+ if (matrixAtom == 0) {
+ return;
+ }
+- auto calibrationMatrixAtom = getAtom(connection, "libinput Calibration Matrix");
+ auto floatAtom = getAtom(connection, "FLOAT");
+ if (floatAtom == 0) {
+ return;
+@@ -532,23 +531,17 @@ void KScreenDaemon::alignX11TouchScreen()
+ std::unique_ptr<Atom, XDeleter> properties(XIListProperties(display, info->id, &nProperties));
+
+ bool matrixAtomFound = false;
+- bool libInputCalibrationAtomFound = false;
+
+ Atom *atom = properties.get();
+ Atom *atomEnd = properties.get() + nProperties;
+ for (; atom != atomEnd; atom++) {
+ if (!internalOutputRect.isEmpty() && *atom == matrixAtom) {
+ matrixAtomFound = true;
+- } else if (!internalOutputRect.isEmpty() && *atom == calibrationMatrixAtom) {
+- libInputCalibrationAtomFound = true;
+ }
+ }
+
+- if (libInputCalibrationAtomFound) {
+- setMatrixAtom(info, calibrationMatrixAtom, transform);
+- }
+ if (matrixAtomFound) {
+- setMatrixAtom(info, matrixAtom, libInputCalibrationAtomFound ? QTransform() : transform);
++ setMatrixAtom(info, matrixAtom, transform);
+ }
+
+ // For now we assume there is only one touchscreen
+--
+GitLab
+
diff --git a/kde-plasma/kscreen/kscreen-5.27.8-r2.ebuild b/kde-plasma/kscreen/kscreen-5.27.8-r2.ebuild
new file mode 100644
index 000000000000..4016d62b3484
--- /dev/null
+++ b/kde-plasma/kscreen/kscreen-5.27.8-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=5.106.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.9
+inherit ecm plasma.kde.org
+
+DESCRIPTION="KDE Plasma screen management"
+HOMEPAGE="https://invent.kde.org/plasma/kscreen"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# bug #580440, last checked 5.6.3
+RESTRICT="test"
+
+DEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtsensors-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ >=kde-frameworks/kcmutils-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kdeclarative-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/kglobalaccel-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/plasma-${KFMIN}:5
+ >=kde-plasma/layer-shell-qt-${PVCUT}:5
+ >=kde-plasma/libkscreen-${PVCUT}:5=
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/libXi
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+ >=kde-plasma/kde-cli-tools-${PVCUT}:5
+"
+BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:5"
+
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch" # bug 914142
+ "${FILESDIR}/${P}-libinput-calibration-matrix.patch" # KDE-bug 474110
+)
diff --git a/kde-plasma/plasma-workspace/Manifest b/kde-plasma/plasma-workspace/Manifest
index 07fefe2f69e7..6f32cf3796da 100644
--- a/kde-plasma/plasma-workspace/Manifest
+++ b/kde-plasma/plasma-workspace/Manifest
@@ -2,9 +2,11 @@ AUX 10-agent-shutdown.sh 398 BLAKE2B f6c06021040aee856421ba536b96b81f119153f099c
AUX 10-agent-startup.sh 2139 BLAKE2B 7ea9ee0e6d949eecbdfbc41bd0286919094b6d6837e4c7a6ba1a8d223e890ca2287f9c842019e04ead5015840d6d2f9b9d89320a7b0f6c20197b1d90d56506b4 SHA512 718feed12544deb1750730bebf1d618cbccdec9a4815a28b9f17278fdc9c21466b098778b9a20785625b99b5eb930049a84a67a0c033b684610ec8eb5b5ec678
AUX plasma-workspace-5.22.5-krunner-cwd-at-home.patch 804 BLAKE2B 4bb337ea04037f8992988b70a40896166a2e10b2b557fa5518e3c2bd7129a221fe2efe064465cbffcc3db4abebb13d354599f44884eaf8c1bc029646280921bb SHA512 e49635bbb42c1beeaa9eee6a803f8c96497bc6e768a72d93886281edec922cb641a373fc0a1a482cedb36bd1f400f77b0030247f621373ebc141760a97ef5bbd
AUX plasma-workspace-5.24.80-split-libkworkspace.patch 1175 BLAKE2B 74dabcc26da223fb46bd97c2d07b5913ad51ab85a20062835dbb80b2a555129029996f99129ea9d99af76399722a404cf9baabbea48de4ab4392f068539f3c9f SHA512 95a63a106242449cdf605f943e794e07834b5d1e8fff2ad4e6a025fd68cc20fc6725ec0f0389898c4fe8c87587c7a51381b343cf116b2ff812236f0fe95ed314
+AUX plasma-workspace-5.27.8-plasmacalendarintegration-holidayregion.patch 3194 BLAKE2B 5828fbc7d20880cc1a0582c144c76735b3b80ca06dc7e4c5ee3cb71c4d1d7962265eb166ba4cc0de5b6563cbffb0a847218dec265321604af97c8dac88556c5b SHA512 88e652e20c4e3e07b0eec585436c4d1f42f165db957653b52d298f93ff24689392e407cdd90f98ba213e8afca2a912e297e0c159f4830f5b2c0c79069b60ddcc
DIST plasma-workspace-5.27.7-patchset-1.tar.xz 2816 BLAKE2B 167142839927092b35d52407c81522d6eddfd49f563df2312512fd465f2959c4d7f97a6bdf2ea2cecaa575c84f219d7e418cfff89adfd1af92289a7b3a61d102 SHA512 2db99d64dd806a4193983a0dc17208b6c477dda065b58b03801ea32faf38815c692d326518fdffa0949aa107a447cd9cd043d9e53b3ad13eca723829ee8adfdc
DIST plasma-workspace-5.27.7.tar.xz 19465984 BLAKE2B e6b1a4aac29798f6aa2f18b1877d00e33ae6e8ca2daa5999b34a1d29bc149c870486f2e4021e6308d7e848df3a0af83f2bc0298f1def4100f17e4b69c6a7a0ae SHA512 7359d087cb94280ed0c191b0328b8aa2ec42460a6eb057a06bae0de3abcfa8e3cd7c374b47a4b1d08b56fc292892bac4c0f501527574e2c799c3d4c87591892f
DIST plasma-workspace-5.27.8.tar.xz 19465764 BLAKE2B 61ac21353482ad7eea4de975be83755d4feed2ff1bb188f4b1b8e333c8aac8469691017c1c394eec90fdbd8cc44ad1015dccc0cb74fae5a249ee6c832b02b05b SHA512 d75da7d8cea3124f921813643ebda333376d3cc2ecbe2aaeee86e54a828e6a9767fa84b76991cfe282efdbf583abebee4a0bfe54a6b590c184ceb3d2995e9fcb
EBUILD plasma-workspace-5.27.7-r1.ebuild 6915 BLAKE2B a3cccb2ffde51200228be42954ad1a6a21bfb0d1b3679a4569ff903faab64c72f40fbd1e0444de45bd4fb4fa3826839d8a6a1847b6472e337ba30a14c928137f SHA512 cbfa349e835e016e800d6374fe9b3b5d82f9aff61a8accf9fc867c23ac36daaf7f05d1040037f18c806c739786caedb7db1cc20651c10cb65a948a1e25b42acf
+EBUILD plasma-workspace-5.27.8-r1.ebuild 7009 BLAKE2B 23820c95635a77c3f6000ad0dc187094a77826c821793d3da1ec2179f35c800185e48a3f1fc5703174a390cdde1388ba3bec79cc1c3cc448aeae92029994ad48 SHA512 ded5d0efbe79e20363e4aac987e72b99933554c2cbfe95427bd08bf3ba4a13e7a9cdf735bcb80dbb7d94f8e1087e59bfa05a5350e6374d133f088e0fc103c383
EBUILD plasma-workspace-5.27.8.ebuild 6926 BLAKE2B db6edc7cad54259d3be0b8dce64312a0788437dce1667c53820692c0755ad5e315f3b6d28ac2b96ab8ea0402d1ca59215215a91854fcd49080e0f54149576b1e SHA512 37f66d3fd3b8641af2988ca14d85b3c0efce3436f221e55bcf31c930d68e719abc553e6f9798caa953f989f6e0b8b61f1f9616aad88cede58104ea0ed2f0037a
MISC metadata.xml 959 BLAKE2B 6513ae79e0cf24efd0bd33a16708950d36393770b51ea752c4c8c6e7ec63c7675dcf5e96dcfbb07d527ba910462b7c23afe35c55b4643ec69d1175660b245478 SHA512 8af28473216b00d4273be4bbb5d93adf8a4db79c46d9e97bd8b2822fa3920e8fc789042669bc93e6e9a6fa1c864a49fc23887be8456ea122a6d8b09e384dffbd
diff --git a/kde-plasma/plasma-workspace/files/plasma-workspace-5.27.8-plasmacalendarintegration-holidayregion.patch b/kde-plasma/plasma-workspace/files/plasma-workspace-5.27.8-plasmacalendarintegration-holidayregion.patch
new file mode 100644
index 000000000000..d9fc57716763
--- /dev/null
+++ b/kde-plasma/plasma-workspace/files/plasma-workspace-5.27.8-plasmacalendarintegration-holidayregion.patch
@@ -0,0 +1,81 @@
+From 51dcf82db5990dde9cf3e6b3132dfff2c129bee5 Mon Sep 17 00:00:00 2001
+From: Eugene Popov <popov895@ukr.net>
+Date: Thu, 21 Sep 2023 10:31:48 +0000
+Subject: [PATCH] [plasmacalendarintegration] Fix selected regions are randomly
+ reset to default
+
+Check whether we are reading the selected regions from the group we need.
+
+BUG: 472483
+FIXED-IN: 5.27.9
+
+(cherry picked from commit 72444337c24dac114765ff28768bd55f7e5018c5)
+---
+ plasmacalendarintegration/holidaysevents.cpp | 19 +++++++++----------
+ plasmacalendarintegration/holidaysevents.h | 1 -
+ 2 files changed, 9 insertions(+), 11 deletions(-)
+
+diff --git a/plasmacalendarintegration/holidaysevents.cpp b/plasmacalendarintegration/holidaysevents.cpp
+index 1e632a602e..605c1bd214 100644
+--- a/plasmacalendarintegration/holidaysevents.cpp
++++ b/plasmacalendarintegration/holidaysevents.cpp
+@@ -7,18 +7,19 @@
+ #include "holidaysevents.h"
+
+ #include <KConfigGroup>
+-#include <QDebug>
+
+ HolidaysEventsPlugin::HolidaysEventsPlugin(QObject *parent)
+ : CalendarEvents::CalendarEventsPlugin(parent)
+ {
+- KSharedConfig::Ptr m_config = KSharedConfig::openConfig(QStringLiteral("plasma_calendar_holiday_regions"));
+- const KConfigGroup regionsConfig = m_config->group("General");
+- updateSettings(regionsConfig);
++ KSharedConfig::Ptr config = KSharedConfig::openConfig(QStringLiteral("plasma_calendar_holiday_regions"), KConfig::NoGlobals);
++ updateSettings(config->group("General"));
+
+- m_configWatcher = KConfigWatcher::create(m_config);
+- connect(m_configWatcher.get(), &KConfigWatcher::configChanged, this, [this](const KConfigGroup &config) {
+- updateSettings(config);
++ m_configWatcher = KConfigWatcher::create(config);
++ connect(m_configWatcher.get(), &KConfigWatcher::configChanged, this, [this](const KConfigGroup &configGroup) {
++ if (configGroup.name() != QLatin1String("General")) {
++ return;
++ }
++ updateSettings(configGroup);
+ loadEventsForDateRange(m_lastStartDate, m_lastEndDate);
+ });
+ }
+@@ -35,9 +36,7 @@ void HolidaysEventsPlugin::loadEventsForDateRange(const QDate &startDate, const
+ return;
+ }
+
+- m_lastData.clear();
+ QMultiHash<QDate, CalendarEvents::EventData> data;
+-
+ for (KHolidays::HolidayRegion *region : qAsConst(m_regions)) {
+ const KHolidays::Holiday::List holidays = region->rawHolidays(startDate, endDate);
+
+@@ -61,7 +60,7 @@ void HolidaysEventsPlugin::loadEventsForDateRange(const QDate &startDate, const
+ m_lastEndDate = endDate;
+ m_lastData = data;
+
+- Q_EMIT dataReady(data);
++ Q_EMIT dataReady(m_lastData);
+ }
+
+ void HolidaysEventsPlugin::updateSettings(const KConfigGroup &regionsConfig)
+diff --git a/plasmacalendarintegration/holidaysevents.h b/plasmacalendarintegration/holidaysevents.h
+index 93067049f8..1658d9d122 100644
+--- a/plasmacalendarintegration/holidaysevents.h
++++ b/plasmacalendarintegration/holidaysevents.h
+@@ -32,6 +32,5 @@ private:
+ QDate m_lastEndDate;
+ QList<KHolidays::HolidayRegion *> m_regions;
+ QMultiHash<QDate, CalendarEvents::EventData> m_lastData;
+- KSharedConfig::Ptr m_config;
+ KConfigWatcher::Ptr m_configWatcher;
+ };
+--
+GitLab
+
diff --git a/kde-plasma/plasma-workspace/plasma-workspace-5.27.8-r1.ebuild b/kde-plasma/plasma-workspace/plasma-workspace-5.27.8-r1.ebuild
new file mode 100644
index 000000000000..ed47ad95dff2
--- /dev/null
+++ b/kde-plasma/plasma-workspace/plasma-workspace-5.27.8-r1.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="forceoptional"
+KFMIN=5.106.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.9
+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 +wallpaper-metadata"
+
+REQUIRED_USE="gps? ( geolocation )"
+RESTRICT="test"
+
+# kde-frameworks/kwindowsystem[X]: Uses KX11Extras
+# 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/kcmutils-${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/kparts-${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[X]
+ >=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
+ 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? (
+ sys-auth/polkit-qt
+ virtual/libcrypt:=
+ )
+ screencast? (
+ >=dev-qt/qtgui-${QTMIN}:5=[egl]
+ >=kde-plasma/kpipewire-${PVCUT}:5
+ media-libs/libglvnd
+ >=media-video/pipewire-0.3:=
+ x11-libs/libdrm
+ )
+ semantic-desktop? ( >=kde-frameworks/baloo-${KFMIN}:5 )
+ telemetry? ( dev-libs/kuserfeedback:5 )
+ wallpaper-metadata? ( kde-apps/libkexiv2:5 )
+"
+DEPEND="${COMMON_DEPEND}
+ >=dev-libs/plasma-wayland-protocols-1.6.0
+ >=dev-libs/wayland-protocols-1.31
+ >=dev-qt/qtconcurrent-${QTMIN}:5
+ x11-base/xorg-proto
+ fontconfig? ( x11-libs/libXrender )
+"
+RDEPEND="${COMMON_DEPEND}
+ !<kde-plasma/breeze-5.22.90:5
+ !<kde-plasma/plasma-desktop-5.27.0:5
+ 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
+ policykit? ( sys-apps/accountsservice )
+"
+BDEPEND="
+ >=dev-qt/qtwaylandscanner-${QTMIN}:5
+ >=dev-util/wayland-scanner-1.19.0
+ >=kde-frameworks/kcmutils-${KFMIN}: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}-plasmacalendarintegration-holidayregion.patch" # KDE-bug 472483
+)
+
+src_prepare() {
+ ecm_src_prepare
+
+ cmake_comment_add_subdirectory libkworkspace
+ # delete colliding libkworkspace translations
+ find po -type f -name "*po" -and -name "libkworkspace*" -delete || die
+
+ # TODO: try to get a build switch upstreamed
+ if ! use screencast; then
+ ecm_punt_bogus_dep KPipeWire
+ 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
+
+ if ! use fontconfig; then
+ ecm_punt_bogus_dep XCB IMAGE
+ sed -e "s/check_X11_lib(Xft)/#&/" -i CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_xembed-sni-proxy=OFF
+ -DGLIBC_LOCALE_GEN=$(usex policykit)
+ $(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)
+ $(cmake_use_find_package wallpaper-metadata KF5KExiv2)
+ )
+
+ 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"
+}