diff options
Diffstat (limited to 'kde-plasma/kwin')
-rw-r--r-- | kde-plasma/kwin/Manifest | 14 | ||||
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch | 149 | ||||
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch | 193 | ||||
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch | 39 | ||||
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch | 73 | ||||
-rw-r--r-- | kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch | 162 | ||||
-rw-r--r-- | kde-plasma/kwin/kwin-5.18.5-r1.ebuild | 117 | ||||
-rw-r--r-- | kde-plasma/kwin/kwin-5.19.5-r1.ebuild (renamed from kde-plasma/kwin/kwin-5.19.5.ebuild) | 6 | ||||
-rw-r--r-- | kde-plasma/kwin/kwin-5.20.3.ebuild (renamed from kde-plasma/kwin/kwin-5.18.5-r3.ebuild) | 31 | ||||
-rw-r--r-- | kde-plasma/kwin/metadata.xml | 1 |
10 files changed, 188 insertions, 597 deletions
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest index 637fb73d9207..0ba1b4ae7bee 100644 --- a/kde-plasma/kwin/Manifest +++ b/kde-plasma/kwin/Manifest @@ -1,11 +1,7 @@ AUX kwin-5.16.80-gstreamer-optional.patch 963 BLAKE2B 7a65b1e36ba1261cd97c9cca8cca39a03f932ef23780c9d5f1104bdac665744dd03878a5b7f1ccc20dccab42facb8d97474c31548b602db0debb27e5490ac76e SHA512 2b1de2ceeeed51bcc691273caea969243ef08ced929030daa94c0f19bad2fb31a507e3efbb9018833a8bd3b66850380dfbefb9018fa39e00664a1295b9482183 -AUX kwin-5.18.5-dont-exec-QDialog.patch 5916 BLAKE2B a8506ca70519c5f4a0d57ee26b76897f292d2d62cfe72b04084a8f098c543db7c431cd0d7c86a5689a064b86bda3223ea200aa803605aa6708a3bc037498ecd3 SHA512 ea9b4715ae677f22f46d0ef8661b9f8c75b27eadab928307dad0093e9f60592f9866dcb38d84794e621b3304690d5226a139d172411dd75155088701090eeba9 -AUX kwin-5.18.5-mesa-21.patch 8683 BLAKE2B 87f8ffe26103586cc9514bac2e2723b26a53296e4583ed6c38ff79cbc08ee9b51764db6ac907885498cc0f3ecc501ca96e22131955302a7e284bde8ea780df67 SHA512 5ecdf8124126cd8853b8ff13e88fabf74b2a890ee2540ba22365bb41fcc9201392b72b13b2aaf4c3b67cb54403d8a5fb0cd894ea33a7bea90a9226e40145eba0 -AUX kwin-5.18.5-qt-5.15.patch 1718 BLAKE2B 8c1f51bfe1c91c588fb44bed8840ef216c0473fc41e7c5acaf0ad6e46280f1f5c843760351bf262638732b22aefdfa78c220acd65de389a79a948f39818755d1 SHA512 1995b8ec0de12576972c6a28db32dc108bf0d2f7a5a49eff007326fcea4fb070f4cbcca0783c2bb80389f92b64d3ad295107697a9363cf19f32f70e7202c507d -AUX kwin-5.18.5-wayland-lockscreen-greeter.patch 2254 BLAKE2B ce05dd3389e5de51ffa960215c963765170b72a439e1b9440f3614bc64fdb7949c040f686ff935b357f6a96d88aced49f5aa23a0e36b6065555bea59b3e58547 SHA512 5b72401deb460d3d09f444f1a120d5bf75c0c3ed7e75c609b57a5a46a84159ba80be8e9277b50a9c1796e46ce34712fc5bce8bb7021b9e4199d7b5a798e42efa -DIST kwin-5.18.5.tar.xz 6274772 BLAKE2B 1614515df60667fb6e8f45302db13dc43ca896c7266c2e2846fd1a1da75b4054cbe14a27b8b3f7d71ae6398e2cf4d9e8e2a68af1c1fa6809a271c5b29574a023 SHA512 b703891824ec31e8ae29df27a11499579ab95789a838e893d5904e40aeba27b0ddc04836038d5b4c062d75ceed277d07e67eeb1b4e957ccf414f03786037d562 +AUX kwin-5.19.5-safe-removal-of-X11-event-filters.patch 5327 BLAKE2B fd2982a92f2a2bdbdb2e718fcb4e3293245470877aa3021eb0b8da66a5018e79a68bf34034689919a156e8c8de1f1686797c3e355cb96330dfcd559ab27d2e43 SHA512 ffeb77e0f718e06a605ffd82708228ab63161d449ec21067eafc9d34b119bfcb80d9bb608c1e7cacd1bda0786618c475a2cf7977b94e7475482caa281000debe DIST kwin-5.19.5.tar.xz 6260188 BLAKE2B bcf3c8afc00af0df8cddeb49396bd23df6178e379ac4c3ba3c547a2c602d309202a72136b69b83f729434fc5691ba24699cf3f44d47b2c033623bca5d551bdb1 SHA512 97ad0096066d99b4bba3089416a6d3744b6f83d82a004caa8762b420cad34cac4221b3535678d4c6f1bcb43c4d97db56be5ac68c4ac501dc168f4472a6c0dad5 -EBUILD kwin-5.18.5-r1.ebuild 3171 BLAKE2B abf91e2d96656acb472fde3ce1ae1247d72a4720427e2faae702a41a669d0cb2dd7db9b1b12ec0b5cf34edd27b3d494c700d9faa566435f0fb9b6ee75b08e133 SHA512 ebef4cfc82c7a4318739b9eff76c5ce32f526b451a67b5e2b0f44448dc4d3dfe837d069dfcafc3ad6cc31251071a41ef4e3e3ac89d330eea04d748fb9bd7ad8c -EBUILD kwin-5.18.5-r3.ebuild 3280 BLAKE2B 8da770a19c7b40d1899c53a25e679d24037432fe7fb193bf99dc5eab2290f198462454f154120df9cbc2f89b1e60deff6bc106b1c006e4aa8ebe1e3f344847a6 SHA512 ce9379690dd33560d7dbdc2ee7a160781330fb1724b4f9a68eacbf1d32cdbd972e7e28cb4d1f608e96a75437a2568056ed213cf30e81a11bba8199dd248983f1 -EBUILD kwin-5.19.5.ebuild 3029 BLAKE2B 2f08a8e5f8e5b448204a39e6373b973dfafc74c5229d242f36eb09c5d68f78da73e1258a451c62902fa82f9ba6c8d361a79660056dbb29259d695fdf8701eb26 SHA512 ab60f7e29a73b7d0d8c1085353ade4732b0f1b038a3b97de75d8d25b326f0b80e3a2810f6f21025a2e37026da2fc668b08752201cceba00bc76a66045560c48e -MISC metadata.xml 347 BLAKE2B 9288920f1da9d97be4ba082678abbd6c404efdd6d7c6b997015e38e7d1f36f2b6201bda92799af0ac02287e86d2525c0a7e783e7efd305ed67ff8b96715ffe59 SHA512 e9e82ec176a53e1bea1eb323c1d1daffdcf900f1787ae76fd3de0434ffb8ac77429131ebbfc11080a1771ed03195e7d98c98be2ebf6a444de95d6cd0eb539824 +DIST kwin-5.20.3.tar.xz 6329376 BLAKE2B 11dfb77c147f9033850fa4592ec3e4baec425a32c377869c427591aae8239ce86452660063dbf1fbfa7ec311b73fcece8e2512fc8ae5bb84bcf169d5f4452965 SHA512 a156ef06fad48402a98e13dbaeeddf0f84e74b969198be631a3519fd36216968914ff4dca90e74b9d7a15b2ee7479791822006e13046e6ad4f1463faeac759e1 +EBUILD kwin-5.19.5-r1.ebuild 3116 BLAKE2B 705a3a61df8bf2b0c1e334b7aba8690ad5478f64f2956b1e3c8a863b8ac0773b95d69b75c94d23f91af0e6562f071d2a3a642257f07f041c9bf59fb58d3b8072 SHA512 ef47a3b4851d18f6dcc4615f290b98c87ce16a9655f08efc42f1f993878229f04ad7e591741baac5fb17efeceff7dae33a918115f144319b1818819db96ea67b +EBUILD kwin-5.20.3.ebuild 3374 BLAKE2B a87ab4235bada706974757ea02be652126f9dbfc9a0bd11085d4e91046cce28ad3c1d553216d737072d335473c39ee6e5f06af81561e8abc1de981b873f3ab36 SHA512 f988521d1bec7b8cf5089fb7953ea76cb8617bd36f0450528ffcdc2b2a42b4906df728ec36682ed5c10afbf7b6b6309c0f8a4fddad6c61172c37a4a182e648d9 +MISC metadata.xml 443 BLAKE2B e972639d031b3e32681af007b9d5daa44167bdbcb9b83ff557e7bcde84b588403240021f8880eb1cc852fbae37d9e8c5ffb392fa1aff19f2075d32876f5082af SHA512 cf0743ac8f3ed8a2ec354653cfbec6bbd5ef191227e46d5d56119f7c0b3ac5a388cfef44f7ce5f2ba9079f3eee897b29b52b726f4e99ee50e29cbb584ed19b3c diff --git a/kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch b/kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch deleted file mode 100644 index df65c32fb13a..000000000000 --- a/kde-plasma/kwin/files/kwin-5.18.5-dont-exec-QDialog.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 5ea54eda5d1f91428933d338ea8b950aea86d43a Mon Sep 17 00:00:00 2001 -From: Kai Uwe Broulik <kde@privat.broulik.de> -Date: Wed, 6 May 2020 15:15:03 +0200 -Subject: [kcmkwin/kwindecoration] Don't exec() QDialog - -Using nested event loops with QML is always troublesome. - -BUG: 421053 -FIXED-IN: 5.18.6 - -Differential Revision: https://phabricator.kde.org/D29473 ---- - .../declarative-plugin/previewbridge.cpp | 32 +++++++++++++++------- - .../declarative-plugin/previewbridge.h | 4 ++- - .../kwindecoration/package/contents/ui/Themes.qml | 3 +- - 3 files changed, 27 insertions(+), 12 deletions(-) - -diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp -index bad4cc1..83a9bd9 100644 ---- a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp -+++ b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.cpp -@@ -36,7 +36,11 @@ - #include <QDialog> - #include <QDialogButtonBox> - #include <QPushButton> -+#include <QQuickItem> -+#include <QQuickRenderControl> -+#include <QQuickWindow> - #include <QVBoxLayout> -+#include <QWindow> - - namespace KDecoration2 - { -@@ -173,15 +177,16 @@ DecorationButton *PreviewBridge::createButton(KDecoration2::Decoration *decorati - return m_factory->create<KDecoration2::DecorationButton>(QStringLiteral("button"), parent, QVariantList({QVariant::fromValue(type), QVariant::fromValue(decoration)})); - } - --void PreviewBridge::configure() -+void PreviewBridge::configure(QQuickItem *ctx) - { - if (!m_valid) { - return; - } - //setup the UI -- QDialog dialog; -+ QDialog *dialog = new QDialog(); -+ dialog->setAttribute(Qt::WA_DeleteOnClose); - if (m_lastCreatedClient) { -- dialog.setWindowTitle(m_lastCreatedClient->caption()); -+ dialog->setWindowTitle(m_lastCreatedClient->caption()); - } - - // create the KCModule through the plugintrader -@@ -189,7 +194,7 @@ void PreviewBridge::configure() - if (!m_theme.isNull()) { - args.insert(QStringLiteral("theme"), m_theme); - } -- KCModule *kcm = m_factory->create<KCModule>(QStringLiteral("kcmodule"), &dialog, QVariantList({args})); -+ KCModule *kcm = m_factory->create<KCModule>(QStringLiteral("kcmodule"), dialog, QVariantList({args})); - if (!kcm) { - return; - } -@@ -205,28 +210,35 @@ void PreviewBridge::configure() - QStringLiteral("reloadConfig")); - QDBusConnection::sessionBus().send(message); - }; -- connect(&dialog, &QDialog::accepted, this, save); -+ connect(dialog, &QDialog::accepted, this, save); - - QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | - QDialogButtonBox::Cancel | - QDialogButtonBox::RestoreDefaults | - QDialogButtonBox::Reset, -- &dialog); -+ dialog); - - QPushButton *reset = buttons->button(QDialogButtonBox::Reset); - reset->setEnabled(false); - // Here we connect our buttons with the dialog -- connect(buttons, &QDialogButtonBox::accepted, &dialog, &QDialog::accept); -- connect(buttons, &QDialogButtonBox::rejected, &dialog, &QDialog::reject); -+ connect(buttons, &QDialogButtonBox::accepted, dialog, &QDialog::accept); -+ connect(buttons, &QDialogButtonBox::rejected, dialog, &QDialog::reject); - connect(reset, &QPushButton::clicked, kcm, &KCModule::load); - auto changedSignal = static_cast<void(KCModule::*)(bool)>(&KCModule::changed); - connect(kcm, changedSignal, reset, &QPushButton::setEnabled); - connect(buttons->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, kcm, &KCModule::defaults); - -- QVBoxLayout *layout = new QVBoxLayout(&dialog); -+ QVBoxLayout *layout = new QVBoxLayout(dialog); - layout->addWidget(kcm); - layout->addWidget(buttons); -- dialog.exec(); -+ -+ if (ctx->window()) { -+ dialog->winId(); // so it creates windowHandle -+ dialog->windowHandle()->setTransientParent(QQuickRenderControl::renderWindowFor(ctx->window())); -+ dialog->setModal(true); -+ } -+ -+ dialog->show(); - } - - BridgeItem::BridgeItem(QObject *parent) -diff --git a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h -index 7e1d8f3..85fccbe 100644 ---- a/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h -+++ b/kcmkwin/kwindecoration/declarative-plugin/previewbridge.h -@@ -26,6 +26,8 @@ - #include <QList> - #include <QPointer> - -+class QQuickItem; -+ - class KPluginFactory; - - namespace KDecoration2 -@@ -70,7 +72,7 @@ public: - KDecoration2::DecorationButton *createButton(KDecoration2::Decoration *decoration, KDecoration2::DecorationButtonType type, QObject *parent = nullptr); - - public Q_SLOTS: -- void configure(); -+ void configure(QQuickItem *ctx); - - Q_SIGNALS: - void pluginChanged(); -diff --git a/kcmkwin/kwindecoration/package/contents/ui/Themes.qml b/kcmkwin/kwindecoration/package/contents/ui/Themes.qml -index 28e5899..1eeb4cd 100644 ---- a/kcmkwin/kwindecoration/package/contents/ui/Themes.qml -+++ b/kcmkwin/kwindecoration/package/contents/ui/Themes.qml -@@ -40,6 +40,7 @@ KCM.GridView { - view.implicitCellWidth: Kirigami.Units.gridUnit * 18 - - view.delegate: KCM.GridDelegate { -+ id: delegate - text: model.display - - thumbnailAvailable: true -@@ -101,7 +102,7 @@ KCM.GridView { - onTriggered: { - kcm.theme = index - view.currentIndex = index -- bridgeItem.bridge.configure() -+ bridgeItem.bridge.configure(delegate) - } - } - ] --- -cgit v1.1 diff --git a/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch b/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch deleted file mode 100644 index dc87b4045483..000000000000 --- a/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch +++ /dev/null @@ -1,193 +0,0 @@ -From 2c76cc4784382b3df9b5413860d0793ea26cea31 Mon Sep 17 00:00:00 2001 -From: Vlad Zahorodnii <vlad.zahorodnii@kde.org> -Date: Fri, 29 May 2020 16:01:27 +0300 -Subject: [wayland] Fix misuse of EGL/eglmesaext.h - -The recommended way to get all EGL extension defines is to include -EGL/eglext.h. EGL/eglmesaext.h is a private header that compositors -should not use. - -BUG: 422131 ---- - .../scenes/opengl/abstract_egl_backend.cpp | 11 +--- - platformsupport/scenes/opengl/egl_dmabuf.cpp | 41 +----------- - platformsupport/scenes/opengl/kwineglext.h | 76 ++++++++++++++++++++++ - 3 files changed, 78 insertions(+), 50 deletions(-) - create mode 100644 platformsupport/scenes/opengl/kwineglext.h - -diff --git a/platformsupport/scenes/opengl/abstract_egl_backend.cpp b/platformsupport/scenes/opengl/abstract_egl_backend.cpp -index 532ec27..e160ef3 100644 ---- a/platformsupport/scenes/opengl/abstract_egl_backend.cpp -+++ b/platformsupport/scenes/opengl/abstract_egl_backend.cpp -@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. - *********************************************************************/ - #include "abstract_egl_backend.h" - #include "egl_dmabuf.h" -+#include "kwineglext.h" - #include "texture.h" - #include "composite.h" - #include "egl_context_attribute_builder.h" -@@ -49,16 +50,6 @@ eglBindWaylandDisplayWL_func eglBindWaylandDisplayWL = nullptr; - eglUnbindWaylandDisplayWL_func eglUnbindWaylandDisplayWL = nullptr; - eglQueryWaylandBufferWL_func eglQueryWaylandBufferWL = nullptr; - --#ifndef EGL_WAYLAND_BUFFER_WL --#define EGL_WAYLAND_BUFFER_WL 0x31D5 --#endif --#ifndef EGL_WAYLAND_PLANE_WL --#define EGL_WAYLAND_PLANE_WL 0x31D6 --#endif --#ifndef EGL_WAYLAND_Y_INVERTED_WL --#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB --#endif -- - AbstractEglBackend::AbstractEglBackend() - : QObject(nullptr) - , OpenGLBackend() -diff --git a/platformsupport/scenes/opengl/egl_dmabuf.cpp b/platformsupport/scenes/opengl/egl_dmabuf.cpp -index 3f75bc7..753f15e 100644 ---- a/platformsupport/scenes/opengl/egl_dmabuf.cpp -+++ b/platformsupport/scenes/opengl/egl_dmabuf.cpp -@@ -21,10 +21,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. - #include "egl_dmabuf.h" - - #include "drm_fourcc.h" -+#include "kwineglext.h" - #include "../../../wayland_server.h" - - #include <unistd.h> --#include <EGL/eglmesaext.h> - - namespace KWin - { -@@ -34,45 +34,6 @@ typedef EGLBoolean (*eglQueryDmaBufModifiersEXT_func) (EGLDisplay dpy, EGLint fo - eglQueryDmaBufFormatsEXT_func eglQueryDmaBufFormatsEXT = nullptr; - eglQueryDmaBufModifiersEXT_func eglQueryDmaBufModifiersEXT = nullptr; - --#ifndef EGL_EXT_image_dma_buf_import --#define EGL_LINUX_DMA_BUF_EXT 0x3270 --#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 --#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 --#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 --#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 --#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 --#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 --#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 --#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 --#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 --#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A --#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B --#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C --#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D --#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E --#define EGL_ITU_REC601_EXT 0x327F --#define EGL_ITU_REC709_EXT 0x3280 --#define EGL_ITU_REC2020_EXT 0x3281 --#define EGL_YUV_FULL_RANGE_EXT 0x3282 --#define EGL_YUV_NARROW_RANGE_EXT 0x3283 --#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 --#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 --#endif // EGL_EXT_image_dma_buf_import -- --#ifndef EGL_EXT_image_dma_buf_import_modifiers --#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 --#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441 --#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442 --#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443 --#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444 --#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445 --#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446 --#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447 --#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448 --#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449 --#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A --#endif // EGL_EXT_image_dma_buf_import_modifiers -- - struct YuvPlane - { - int widthDivisor; -diff --git a/platformsupport/scenes/opengl/kwineglext.h b/platformsupport/scenes/opengl/kwineglext.h -new file mode 100644 -index 0000000..834701b ---- /dev/null -+++ b/platformsupport/scenes/opengl/kwineglext.h -@@ -0,0 +1,76 @@ -+/******************************************************************** -+ KWin - the KDE window manager -+ This file is part of the KDE project. -+ -+Copyright (C) 2018 Fredrik Höglund <fredrik@kde.org> -+Copyright (C) 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org> -+ -+This program is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 2 of the License, or -+(at your option) any later version. -+ -+This program is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with this program. If not, see <http://www.gnu.org/licenses/>. -+*********************************************************************/ -+ -+#ifndef KWINEGLEXT_H -+#define KWINEGLEXT_H -+ -+#include <EGL/eglext.h> -+ -+#ifndef EGL_WL_bind_wayland_display -+#define EGL_WAYLAND_BUFFER_WL 0x31D5 -+#define EGL_WAYLAND_PLANE_WL 0x31D6 -+#define EGL_TEXTURE_Y_U_V_WL 0x31D7 -+#define EGL_TEXTURE_Y_UV_WL 0x31D8 -+#define EGL_TEXTURE_Y_XUXV_WL 0x31D9 -+#define EGL_TEXTURE_EXTERNAL_WL 0x31DA -+#define EGL_WAYLAND_Y_INVERTED_WL 0x31DB -+#endif // EGL_WL_bind_wayland_display -+ -+#ifndef EGL_EXT_image_dma_buf_import -+#define EGL_LINUX_DMA_BUF_EXT 0x3270 -+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 -+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 -+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 -+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 -+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 -+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 -+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 -+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 -+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 -+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A -+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B -+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C -+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D -+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E -+#define EGL_ITU_REC601_EXT 0x327F -+#define EGL_ITU_REC709_EXT 0x3280 -+#define EGL_ITU_REC2020_EXT 0x3281 -+#define EGL_YUV_FULL_RANGE_EXT 0x3282 -+#define EGL_YUV_NARROW_RANGE_EXT 0x3283 -+#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 -+#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 -+#endif // EGL_EXT_image_dma_buf_import -+ -+#ifndef EGL_EXT_image_dma_buf_import_modifiers -+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440 -+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441 -+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442 -+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443 -+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444 -+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445 -+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446 -+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447 -+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448 -+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449 -+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A -+#endif // EGL_EXT_image_dma_buf_import_modifiers -+ -+#endif // KWINEGLEXT_H --- -cgit v1.1 - diff --git a/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch b/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch deleted file mode 100644 index eb8f6617026c..000000000000 --- a/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch +++ /dev/null @@ -1,39 +0,0 @@ -From ec602e0c2a676aed0707c7fb7edfe964516dbc77 Mon Sep 17 00:00:00 2001 -From: Fabian Vogt <fabian@ritter-vogt.de> -Date: Sun, 7 Jun 2020 18:05:21 +0200 -Subject: [PATCH] Fix the Plastik decoration with Qt 5.15 - -The trick in qmldir no longer works with Qt 5.15, so use a more reliable -approach. This way works with Qt 5.15 and also on previous versions of Qt. ---- - .../kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp | 3 ++- - plugins/kdecorations/aurorae/themes/plastik/code/qmldir | 3 --- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp b/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp -index 25d11251f..4304dcdc1 100644 ---- a/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp -+++ b/plugins/kdecorations/aurorae/themes/plastik/code/plastikplugin.cpp -@@ -20,7 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. - - void PlastikPlugin::registerTypes(const char *uri) - { -- Q_UNUSED(uri) -+ // Need to register something to tell Qt that it loaded (QTBUG-84571) -+ qmlRegisterModule(uri, 1, 0); - } - - void PlastikPlugin::initializeEngine(QQmlEngine *engine, const char *uri) -diff --git a/plugins/kdecorations/aurorae/themes/plastik/code/qmldir b/plugins/kdecorations/aurorae/themes/plastik/code/qmldir -index 49a4b402d..aa7bf16b3 100644 ---- a/plugins/kdecorations/aurorae/themes/plastik/code/qmldir -+++ b/plugins/kdecorations/aurorae/themes/plastik/code/qmldir -@@ -1,5 +1,2 @@ - module org.kde.kwin.decorations.plastik - plugin plastikplugin -- --# we need to have at least one element of Qt is not able to find the plugin *shrug* --Foo 1.0 Foo.qml --- -2.27.0 - diff --git a/kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch b/kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch deleted file mode 100644 index ac4b9d24c8e1..000000000000 --- a/kde-plasma/kwin/files/kwin-5.18.5-wayland-lockscreen-greeter.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 6f8b8efb338117ee197092e46b25b489b612257d Mon Sep 17 00:00:00 2001 -From: Vlad Zahorodnii <vlad.zahorodnii@kde.org> -Date: Fri, 8 May 2020 11:26:27 +0300 -Subject: [wayland] Place lockscreen greeter above other windows - -Summary: BUG: 420802 - -Reviewers: #kwin, davidedmundson - -Reviewed By: #kwin, davidedmundson - -Subscribers: apol, kwin - -Tags: #kwin - -Differential Revision: https://phabricator.kde.org/D29523 ---- - abstract_client.cpp | 2 ++ - autotests/integration/lockscreen.cpp | 19 +++++++++++++++++++ - 2 files changed, 21 insertions(+) - -diff --git a/abstract_client.cpp b/abstract_client.cpp -index ca6c422..48918e7 100644 ---- a/abstract_client.cpp -+++ b/abstract_client.cpp -@@ -275,6 +275,8 @@ Layer AbstractClient::belongsToLayer() const - // Since the desktop is also activated, nothing should be in the ActiveLayer, though - if (isInternal()) - return UnmanagedLayer; -+ if (isLockScreen()) -+ return UnmanagedLayer; - if (isDesktop()) - return workspace()->showingDesktop() ? AboveLayer : DesktopLayer; - if (isSplash()) // no damn annoying splashscreens -diff --git a/autotests/integration/lockscreen.cpp b/autotests/integration/lockscreen.cpp -index e258540..82cac09 100644 ---- a/autotests/integration/lockscreen.cpp -+++ b/autotests/integration/lockscreen.cpp -@@ -62,6 +62,7 @@ private Q_SLOTS: - void initTestCase(); - void init(); - void cleanup(); -+ void testStackingOrder(); - void testPointer(); - void testPointerButton(); - void testPointerAxis(); -@@ -223,6 +224,24 @@ void LockScreenTest::cleanup() - Test::destroyWaylandConnection(); - } - -+void LockScreenTest::testStackingOrder() -+{ -+ // This test verifies that the lockscreen greeter is placed above other windows. -+ -+ QSignalSpy clientAddedSpy(waylandServer(), &WaylandServer::shellClientAdded); -+ QVERIFY(clientAddedSpy.isValid()); -+ -+ LOCK -+ QVERIFY(clientAddedSpy.wait()); -+ -+ AbstractClient *client = clientAddedSpy.first().first().value<AbstractClient *>(); -+ QVERIFY(client); -+ QVERIFY(client->isLockScreen()); -+ QCOMPARE(client->layer(), UnmanagedLayer); -+ -+ UNLOCK -+} -+ - void LockScreenTest::testPointer() - { - using namespace KWayland::Client; --- -cgit v1.1 diff --git a/kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch b/kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch new file mode 100644 index 000000000000..7eeccf6e8c5f --- /dev/null +++ b/kde-plasma/kwin/files/kwin-5.19.5-safe-removal-of-X11-event-filters.patch @@ -0,0 +1,162 @@ +From c5880833d94330d022c4b6fc84c175aadeaf9632 Mon Sep 17 00:00:00 2001 +From: Vlad Zahorodnii <vlad.zahorodnii@kde.org> +Date: Tue, 22 Sep 2020 08:53:17 +0000 +Subject: [PATCH] x11: Make removal of X11 event filters safe + +If an X11 event filter has been activated and it unregisters another X11 +event filter, then the window manager may crash because the foreach macro +in Workspace::workspaceEvent() makes a copy of m_genericEventFilters or +m_eventFilters and we can call the event() method for an already defunct +filter. + +With this change, X11 event filters can be safely removed and installed +at any particular moment. + +BUG: 423319 + + +(cherry picked from commit a433fb08a3a9255802405a17dd4c8270c68fcb25) +--- + events.cpp | 52 +++++++++++++++++++++++++++++++++++++++++---------- + workspace.cpp | 10 ++++++++++ + workspace.h | 17 +++++++++++++++-- + 3 files changed, 67 insertions(+), 12 deletions(-) + +diff --git a/events.cpp b/events.cpp +index eb3572d13..2e8885d76 100644 +--- a/events.cpp ++++ b/events.cpp +@@ -165,18 +165,34 @@ QVector<QByteArray> s_xcbEerrors({ + + void Workspace::registerEventFilter(X11EventFilter *filter) + { +- if (filter->isGenericEvent()) +- m_genericEventFilters.append(filter); +- else +- m_eventFilters.append(filter); ++ if (filter->isGenericEvent()) { ++ m_genericEventFilters.append(new X11EventFilterContainer(filter)); ++ } else { ++ m_eventFilters.append(new X11EventFilterContainer(filter)); ++ } ++} ++ ++static X11EventFilterContainer *takeEventFilter(X11EventFilter *eventFilter, ++ QList<QPointer<X11EventFilterContainer>> &list) ++{ ++ for (int i = 0; i < list.count(); ++i) { ++ X11EventFilterContainer *container = list.at(i); ++ if (container->filter() == eventFilter) { ++ return list.takeAt(i); ++ } ++ } ++ return nullptr; + } + + void Workspace::unregisterEventFilter(X11EventFilter *filter) + { +- if (filter->isGenericEvent()) +- m_genericEventFilters.removeOne(filter); +- else +- m_eventFilters.removeOne(filter); ++ X11EventFilterContainer *container = nullptr; ++ if (filter->isGenericEvent()) { ++ container = takeEventFilter(filter, m_genericEventFilters); ++ } else { ++ container = takeEventFilter(filter, m_eventFilters); ++ } ++ delete container; + } + + +@@ -219,13 +235,29 @@ bool Workspace::workspaceEvent(xcb_generic_event_t *e) + if (eventType == XCB_GE_GENERIC) { + xcb_ge_generic_event_t *ge = reinterpret_cast<xcb_ge_generic_event_t *>(e); + +- foreach (X11EventFilter *filter, m_genericEventFilters) { ++ // We need to make a shadow copy of the event filter list because an activated event ++ // filter may mutate it by removing or installing another event filter. ++ const auto eventFilters = m_genericEventFilters; ++ ++ for (X11EventFilterContainer *container : eventFilters) { ++ if (!container) { ++ continue; ++ } ++ X11EventFilter *filter = container->filter(); + if (filter->extension() == ge->extension && filter->genericEventTypes().contains(ge->event_type) && filter->event(e)) { + return true; + } + } + } else { +- foreach (X11EventFilter *filter, m_eventFilters) { ++ // We need to make a shadow copy of the event filter list because an activated event ++ // filter may mutate it by removing or installing another event filter. ++ const auto eventFilters = m_eventFilters; ++ ++ for (X11EventFilterContainer *container : eventFilters) { ++ if (!container) { ++ continue; ++ } ++ X11EventFilter *filter = container->filter(); + if (filter->eventTypes().contains(eventType) && filter->event(e)) { + return true; + } +diff --git a/workspace.cpp b/workspace.cpp +index a87a622e9..fd3634b16 100644 +--- a/workspace.cpp ++++ b/workspace.cpp +@@ -66,6 +66,16 @@ namespace KWin + extern int screen_number; + extern bool is_multihead; + ++X11EventFilterContainer::X11EventFilterContainer(X11EventFilter *filter) ++ : m_filter(filter) ++{ ++} ++ ++X11EventFilter *X11EventFilterContainer::filter() const ++{ ++ return m_filter; ++} ++ + ColorMapper::ColorMapper(QObject *parent) + : QObject(parent) + , m_default(kwinApp()->x11DefaultScreen()->default_colormap) +diff --git a/workspace.h b/workspace.h +index 489d7bae4..61fb215a8 100644 +--- a/workspace.h ++++ b/workspace.h +@@ -55,6 +55,19 @@ class X11Client; + class X11EventFilter; + enum class Predicate; + ++class X11EventFilterContainer : public QObject ++{ ++ Q_OBJECT ++ ++public: ++ explicit X11EventFilterContainer(X11EventFilter *filter); ++ ++ X11EventFilter *filter() const; ++ ++private: ++ X11EventFilter *m_filter; ++}; ++ + class KWIN_EXPORT Workspace : public QObject + { + Q_OBJECT +@@ -654,8 +667,8 @@ private: + + QScopedPointer<KillWindow> m_windowKiller; + +- QList<X11EventFilter *> m_eventFilters; +- QList<X11EventFilter *> m_genericEventFilters; ++ QList<QPointer<X11EventFilterContainer>> m_eventFilters; ++ QList<QPointer<X11EventFilterContainer>> m_genericEventFilters; + QScopedPointer<X11EventFilter> m_movingClientFilter; + QScopedPointer<X11EventFilter> m_syncAlarmFilter; + +-- +GitLab + diff --git a/kde-plasma/kwin/kwin-5.18.5-r1.ebuild b/kde-plasma/kwin/kwin-5.18.5-r1.ebuild deleted file mode 100644 index 33ac47b0ae2a..000000000000 --- a/kde-plasma/kwin/kwin-5.18.5-r1.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -ECM_HANDBOOK="optional" -ECM_TEST="optional" -KFMIN=5.66.0 -PVCUT=$(ver_cut 1-3) -QTMIN=5.12.3 -VIRTUALX_REQUIRED="test" -inherit ecm kde.org - -DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" - -LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="amd64 ~arm arm64 ~ppc64 x86" -IUSE="caps gles2-only multimedia" - -COMMON_DEPEND=" - >=kde-frameworks/kactivities-${KFMIN}:5 - >=kde-frameworks/kauth-${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/kdeclarative-${KFMIN}:5 - >=kde-frameworks/kglobalaccel-${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/knewstuff-${KFMIN}:5 - >=kde-frameworks/knotifications-${KFMIN}:5 - >=kde-frameworks/kpackage-${KFMIN}:5 - >=kde-frameworks/kservice-${KFMIN}:5 - >=kde-frameworks/ktextwidgets-${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-plasma/breeze-${PVCUT}:5 - >=kde-plasma/kdecoration-${PVCUT}:5 - >=kde-plasma/kscreenlocker-${PVCUT}:5 - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtdeclarative-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5=[gles2-only=] - >=dev-qt/qtscript-${QTMIN}:5 - >=dev-qt/qtsensors-${QTMIN}:5 - >=dev-qt/qtwidgets-${QTMIN}:5 - >=dev-qt/qtx11extras-${QTMIN}:5 - >=dev-libs/libinput-1.9 - >=dev-libs/wayland-1.2 - media-libs/fontconfig - media-libs/freetype - media-libs/libepoxy - media-libs/mesa[egl,gbm,wayland,X(+)] - virtual/libudev:= - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXi - x11-libs/libdrm - >=x11-libs/libxcb-1.10 - >=x11-libs/libxkbcommon-0.7.0 - x11-libs/xcb-util-cursor - x11-libs/xcb-util-image - x11-libs/xcb-util-keysyms - x11-libs/xcb-util-wm - caps? ( sys-libs/libcap ) - gles2-only? ( media-libs/mesa[gles2] ) -" -RDEPEND="${COMMON_DEPEND} - >=kde-frameworks/kirigami-${KFMIN}:5 - >=dev-qt/qtquickcontrols-${QTMIN}:5 - >=dev-qt/qtquickcontrols2-${QTMIN}:5 - >=dev-qt/qtvirtualkeyboard-${QTMIN}:5 - multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] ) -" -DEPEND="${COMMON_DEPEND} - >=dev-qt/designer-${QTMIN}:5 - >=dev-qt/qtconcurrent-${QTMIN}:5 - x11-base/xorg-proto -" -PDEPEND=" - >=kde-plasma/kde-cli-tools-${PVCUT}:5 -" - -RESTRICT+=" test" - -PATCHES=( - # in Plasma/5.18 - "${FILESDIR}/${P}-dont-exec-QDialog.patch" # KDE-bug 421053 - "${FILESDIR}/${P}-wayland-lockscreen-greeter.patch" # KDE-bug 420802 -) - -src_prepare() { - ecm_src_prepare - use multimedia || eapply "${FILESDIR}/${PN}-5.16.80-gstreamer-optional.patch" - - # Access violations, bug #640432 - sed -e "s/^ecm_find_qmlmodule.*QtMultimedia/#&/" \ - -i CMakeLists.txt || die -} - -src_configure() { - local mycmakeargs=( - $(cmake_use_find_package caps Libcap) - ) - - ecm_src_configure -} diff --git a/kde-plasma/kwin/kwin-5.19.5.ebuild b/kde-plasma/kwin/kwin-5.19.5-r1.ebuild index 5ae8f73e4421..fc1182510000 100644 --- a/kde-plasma/kwin/kwin-5.19.5.ebuild +++ b/kde-plasma/kwin/kwin-5.19.5-r1.ebuild @@ -15,7 +15,7 @@ DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" LICENSE="GPL-2+" SLOT="5" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="amd64 ~arm arm64 ~ppc64 x86" IUSE="caps gles2-only multimedia" COMMON_DEPEND=" @@ -95,6 +95,10 @@ PDEPEND=" RESTRICT+=" test" +PATCHES=( + "${FILESDIR}"/${P}-safe-removal-of-X11-event-filters.patch # KDE-Bug 423319 +) + src_prepare() { ecm_src_prepare use multimedia || eapply "${FILESDIR}/${PN}-5.16.80-gstreamer-optional.patch" diff --git a/kde-plasma/kwin/kwin-5.18.5-r3.ebuild b/kde-plasma/kwin/kwin-5.20.3.ebuild index ed5d1d1f83c3..da2325921b7c 100644 --- a/kde-plasma/kwin/kwin-5.18.5-r3.ebuild +++ b/kde-plasma/kwin/kwin-5.20.3.ebuild @@ -5,9 +5,9 @@ EAPI=7 ECM_HANDBOOK="optional" ECM_TEST="optional" -KFMIN=5.66.0 +KFMIN=5.74.0 PVCUT=$(ver_cut 1-3) -QTMIN=5.12.3 +QTMIN=5.15.1 VIRTUALX_REQUIRED="test" inherit ecm kde.org @@ -16,10 +16,10 @@ DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux" LICENSE="GPL-2+" SLOT="5" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -IUSE="caps gles2-only multimedia" +IUSE="accessibility caps gles2-only multimedia screencast" COMMON_DEPEND=" - >=dev-libs/libinput-1.9 + >=dev-libs/libinput-1.14 >=dev-libs/wayland-1.2 >=dev-qt/qtdbus-${QTMIN}:5 >=dev-qt/qtdeclarative-${QTMIN}:5 @@ -41,7 +41,6 @@ COMMON_DEPEND=" >=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/knewstuff-${KFMIN}:5 >=kde-frameworks/knotifications-${KFMIN}:5 @@ -56,6 +55,7 @@ COMMON_DEPEND=" >=kde-plasma/breeze-${PVCUT}:5 >=kde-plasma/kdecoration-${PVCUT}:5 >=kde-plasma/kscreenlocker-${PVCUT}:5 + >=kde-plasma/kwayland-server-${PVCUT}:5 media-libs/fontconfig media-libs/freetype media-libs/libepoxy @@ -72,14 +72,18 @@ COMMON_DEPEND=" x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-wm + accessibility? ( media-libs/libqaccessibilityclient:5 ) caps? ( sys-libs/libcap ) gles2-only? ( media-libs/mesa[gles2] ) + screencast? ( >=media-video/pipewire-0.3:= ) " +# TODO: sys-apps/hwdata? not packaged yet; commit 33a1777a, Gentoo-bug 717216 RDEPEND="${COMMON_DEPEND} >=dev-qt/qtquickcontrols-${QTMIN}:5 >=dev-qt/qtquickcontrols2-${QTMIN}:5 >=dev-qt/qtvirtualkeyboard-${QTMIN}:5 >=kde-frameworks/kirigami-${KFMIN}:5 + >=kde-frameworks/kitemmodels-${KFMIN}:5[qml] multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] ) " DEPEND="${COMMON_DEPEND} @@ -93,25 +97,20 @@ PDEPEND=" RESTRICT+=" test" -PATCHES=( - # in Plasma/5.18 - "${FILESDIR}/${P}-dont-exec-QDialog.patch" # KDE-bug 421053 - "${FILESDIR}/${P}-wayland-lockscreen-greeter.patch" # KDE-bug 420802 - "${FILESDIR}/${P}-mesa-21.patch" # KDE-bug 422131 - "${FILESDIR}/${P}-qt-5.15.patch" # Plastik deco issue -) - src_prepare() { ecm_src_prepare use multimedia || eapply "${FILESDIR}/${PN}-5.16.80-gstreamer-optional.patch" - # Access violations, bug #640432 - sed -e "s/^ecm_find_qmlmodule.*QtMultimedia/#&/" \ - -i CMakeLists.txt || die + # TODO: try to get a build switch upstreamed + if ! use screencast; then + sed -e "s/^pkg_check_modules.*PipeWire/#&/" \ + -i CMakeLists.txt || die + fi } src_configure() { local mycmakeargs=( + $(cmake_use_find_package accessibility QAccessibilityClient) $(cmake_use_find_package caps Libcap) ) diff --git a/kde-plasma/kwin/metadata.xml b/kde-plasma/kwin/metadata.xml index 9b1b37b6a988..24eb99364154 100644 --- a/kde-plasma/kwin/metadata.xml +++ b/kde-plasma/kwin/metadata.xml @@ -7,5 +7,6 @@ </maintainer> <use> <flag name="multimedia">Enable effect video button in desktop effects KCM</flag> + <flag name="screencast">Enable screencast portal using <pkg>media-video/pipewire</pkg></flag> </use> </pkgmetadata> |