summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kwin')
-rw-r--r--kde-plasma/kwin/Manifest5
-rw-r--r--kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch193
-rw-r--r--kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch39
-rw-r--r--kde-plasma/kwin/kwin-5.18.5-r3.ebuild119
-rw-r--r--kde-plasma/kwin/kwin-5.19.0.ebuild112
5 files changed, 468 insertions, 0 deletions
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest
index 7dad8cb6151e..2fd2a3b6db0b 100644
--- a/kde-plasma/kwin/Manifest
+++ b/kde-plasma/kwin/Manifest
@@ -1,6 +1,11 @@
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
+DIST kwin-5.19.0.tar.xz 6260948 BLAKE2B 39c5b9c05176a3fa70684decc10e6225fe2516ca34fb8410452b75688f862574ce6fa1a209c30e96ad41e0e1714defde0d17c1129cd4281e14406a818c138420 SHA512 e7b0338390f63aeaf216974312b52474972ed857681bd8cebbf2cd13abf407b2b38baa2f75bdd3e930c6e13ecba80136889f33ceaaa8befd67987f3ec00baa4e
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.0.ebuild 3087 BLAKE2B 442602ed98b97d21f7ec1ee83319273b35a34b51b3de4ddb91baed0c5269922fc540b67a39f01c9d501060800c6f3fc433125aa6dfbbbc9054fbc555b2638076 SHA512 18d932fd577b9078313f32e5f5db866a56515a8826e57edc769da1dcd08e95921710c23272dee3bb7510615616774e71829a7b80e84fda166a1e974431e87077
MISC metadata.xml 347 BLAKE2B 9288920f1da9d97be4ba082678abbd6c404efdd6d7c6b997015e38e7d1f36f2b6201bda92799af0ac02287e86d2525c0a7e783e7efd305ed67ff8b96715ffe59 SHA512 e9e82ec176a53e1bea1eb323c1d1daffdcf900f1787ae76fd3de0434ffb8ac77429131ebbfc11080a1771ed03195e7d98c98be2ebf6a444de95d6cd0eb539824
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
new file mode 100644
index 000000000000..dc87b4045483
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch
@@ -0,0 +1,193 @@
+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
new file mode 100644
index 000000000000..eb8f6617026c
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch
@@ -0,0 +1,39 @@
+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/kwin-5.18.5-r3.ebuild b/kde-plasma/kwin/kwin-5.18.5-r3.ebuild
new file mode 100644
index 000000000000..ed5d1d1f83c3
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.18.5-r3.ebuild
@@ -0,0 +1,119 @@
+# 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="
+ >=dev-libs/libinput-1.9
+ >=dev-libs/wayland-1.2
+ >=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
+ >=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
+ 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}
+ >=dev-qt/qtquickcontrols-${QTMIN}:5
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=dev-qt/qtvirtualkeyboard-${QTMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}: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
+ "${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
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package caps Libcap)
+ )
+
+ ecm_src_configure
+}
diff --git a/kde-plasma/kwin/kwin-5.19.0.ebuild b/kde-plasma/kwin/kwin-5.19.0.ebuild
new file mode 100644
index 000000000000..1bba7ee2de89
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.19.0.ebuild
@@ -0,0 +1,112 @@
+# 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.70.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.14.1
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="caps gles2-only multimedia"
+
+COMMON_DEPEND="
+ >=dev-libs/libinput-1.14
+ >=dev-libs/wayland-1.2
+ >=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
+ >=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/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
+ >=kde-plasma/kwayland-server-${PVCUT}:5
+ 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] )
+"
+# 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
+ 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"
+
+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
+}