public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2022-08-07 20:58 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2022-08-07 20:58 UTC (permalink / raw
  To: gentoo-commits

commit:     74884494b7e14ffb754087704badfa70750e593a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  7 17:23:14 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Aug  7 20:38:44 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74884494

kde-plasma/kwin: backends/drm: fix blob updating

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=449285

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/kwin-5.24.6-drm-fix-blob-updating.patch  | 38 ++++++++++++++++++++++
 .../files/kwin-5.25.4-drm-fix-blob-updating.patch  | 38 ++++++++++++++++++++++
 kde-plasma/kwin/kwin-5.24.6-r2.ebuild              |  1 +
 kde-plasma/kwin/kwin-5.25.4-r1.ebuild              |  2 ++
 4 files changed, 79 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch b/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch
new file mode 100644
index 000000000000..45d231a70f1b
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.6-drm-fix-blob-updating.patch
@@ -0,0 +1,38 @@
+From 3af37c8a29af36eb773b0684237d61b2bd6b81f9 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Thu, 4 Aug 2022 15:36:26 +0200
+Subject: [PATCH] backends/drm: fix blob updating
+
+Two things about the code were wrong:
+1. m_current is used in updateBlob() but was only updated afterwards
+2. the assumption that the property having the same ID means it has the
+same blob contents is not always true
+
+BUG: 449285
+
+
+(cherry picked from commit 97939ceae864aef2f50e117496f548555877b4ea)
+---
+ src/backends/drm/drm_property.cpp | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/backends/drm/drm_property.cpp b/src/backends/drm/drm_property.cpp
+index 8ab0dc0e5a..b2a2deda12 100644
+--- a/src/backends/drm/drm_property.cpp
++++ b/src/backends/drm/drm_property.cpp
+@@ -112,10 +112,8 @@ bool DrmProperty::needsCommit() const
+ 
+ void DrmProperty::setCurrent(uint64_t value)
+ {
+-    if (m_current != value) {
+-        updateBlob();
+-        m_current = value;
+-    }
++    m_current = value;
++    updateBlob();
+ }
+ 
+ uint64_t DrmProperty::current() const
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.25.4-drm-fix-blob-updating.patch b/kde-plasma/kwin/files/kwin-5.25.4-drm-fix-blob-updating.patch
new file mode 100644
index 000000000000..282913620c7b
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.25.4-drm-fix-blob-updating.patch
@@ -0,0 +1,38 @@
+From 9a81567777f94e2e6c1a121f1d86dd2bdea83adf Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Thu, 4 Aug 2022 15:36:26 +0200
+Subject: [PATCH] backends/drm: fix blob updating
+
+Two things about the code were wrong:
+1. m_current is used in updateBlob() but was only updated afterwards
+2. the assumption that the property having the same ID means it has the
+same blob contents is not always true
+
+BUG: 449285
+
+
+(cherry picked from commit 97939ceae864aef2f50e117496f548555877b4ea)
+---
+ src/backends/drm/drm_property.cpp | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/backends/drm/drm_property.cpp b/src/backends/drm/drm_property.cpp
+index c9f7718abd..cee80d043a 100644
+--- a/src/backends/drm/drm_property.cpp
++++ b/src/backends/drm/drm_property.cpp
+@@ -112,10 +112,8 @@ bool DrmProperty::needsCommit() const
+ 
+ void DrmProperty::setCurrent(uint64_t value)
+ {
+-    if (m_current != value) {
+-        updateBlob();
+-        m_current = value;
+-    }
++    m_current = value;
++    updateBlob();
+ }
+ 
+ uint64_t DrmProperty::current() const
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.24.6-r2.ebuild b/kde-plasma/kwin/kwin-5.24.6-r2.ebuild
index 7fd2b9654114..bb3d86644b6b 100644
--- a/kde-plasma/kwin/kwin-5.24.6-r2.ebuild
+++ b/kde-plasma/kwin/kwin-5.24.6-r2.ebuild
@@ -102,6 +102,7 @@ PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
 PATCHES=(
 	"${FILESDIR}/${P}-emit-rowsChanged.patch"
 	"${FILESDIR}/${P}-fix-color-picker.patch" # KDE-bug 454974
+	"${FILESDIR}/${P}-drm-fix-blob-updating.patch" # KDE-bug 449285
 )
 
 src_prepare() {

diff --git a/kde-plasma/kwin/kwin-5.25.4-r1.ebuild b/kde-plasma/kwin/kwin-5.25.4-r1.ebuild
index ca0aa6e8d72d..44b1802e9117 100644
--- a/kde-plasma/kwin/kwin-5.25.4-r1.ebuild
+++ b/kde-plasma/kwin/kwin-5.25.4-r1.ebuild
@@ -102,6 +102,8 @@ BDEPEND="
 "
 PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
 
+PATCHES=( "${FILESDIR}/${P}-drm-fix-blob-updating.patch" ) # KDE-bug 449285
+
 src_prepare() {
 	ecm_src_prepare
 	use multimedia || eapply "${FILESDIR}/${PN}-5.21.80-gstreamer-optional.patch"


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2024-06-13  0:46 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2024-06-13  0:46 UTC (permalink / raw
  To: gentoo-commits

commit:     abbe800563fc9c87b9072e14387cab15feb9ab8a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 13 00:45:36 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 13 00:46:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=abbe8005

kde-plasma/kwin: fix USE=systemd w/ libcxx

Already merged upstream in https://invent.kde.org/plasma/kwin/-/merge_requests/5811
but filed a backport MR which is pending at https://invent.kde.org/plasma/kwin/-/merge_requests/5892.

Closes: https://bugs.gentoo.org/933120
Signed-off-by: Sam James <sam <AT> gentoo.org>

 kde-plasma/kwin/files/kwin-6.0.90.1-libcxx.patch | 27 ++++++++++++++++++++++++
 kde-plasma/kwin/kwin-6.0.90.1-r3.ebuild          |  4 ++++
 2 files changed, 31 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-6.0.90.1-libcxx.patch b/kde-plasma/kwin/files/kwin-6.0.90.1-libcxx.patch
new file mode 100644
index 000000000000..8ba9615adaeb
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-6.0.90.1-libcxx.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/933120
+https://invent.kde.org/plasma/kwin/-/merge_requests/5892
+
+From b9ec66615f08e2bad3928b8b207be904ab62e745 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 2 Jun 2024 00:25:26 +0100
+Subject: [PATCH] watchdog: add includes for geteuid
+
+05a3e2bad9a3baf27293f0b5ed4bef4f38952804 added `geteuid` use but didn't
+add the needed headers. This works by chance on libstdc++ systems via
+transitive includes, but it doesn't work on libc++ systems, as reported
+downstream in Gentoo at https://bugs.gentoo.org/933120.
+
+(cherry picked from commit 31a3961c4cd387aa4aa1a0c7bf197445a346e5f0)
+--- a/src/watchdog.cpp
++++ b/src/watchdog.cpp
+@@ -8,6 +8,8 @@
+ */
+ 
+ #include "watchdoglogging.h"
++#include <unistd.h>
++#include <sys/types.h>
+ #include <QCoreApplication>
+ #include <QTimer>
+ #include <systemd/sd-daemon.h>
+-- 
+GitLab

diff --git a/kde-plasma/kwin/kwin-6.0.90.1-r3.ebuild b/kde-plasma/kwin/kwin-6.0.90.1-r3.ebuild
index 5e6849f9371d..cb02d4f27603 100644
--- a/kde-plasma/kwin/kwin-6.0.90.1-r3.ebuild
+++ b/kde-plasma/kwin/kwin-6.0.90.1-r3.ebuild
@@ -118,6 +118,10 @@ BDEPEND="
 "
 PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-6.0.90.1-libcxx.patch
+)
+
 src_prepare() {
 	ecm_src_prepare
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2024-03-13 21:17 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2024-03-13 21:17 UTC (permalink / raw
  To: gentoo-commits

commit:     02995e8e16cd8f164acc4ac86afcfd3675df85a4
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 13 21:00:01 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Mar 13 21:16:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02995e8e

kde-plasma/kwin: Add dev-qt/qtbase:6[accessibility=] USEdep

Upstream commit ade5d72c3a7e2078025ecbb3c9a354c20a8d9c90

Backporting to 6.0.

Closes: https://bugs.gentoo.org/926935
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kwin-6.0.2-qtgui-accessibility-optional.patch  | 41 ++++++++++++++++++++++
 kde-plasma/kwin/kwin-6.0.2-r1.ebuild               |  6 +++-
 2 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/kwin/files/kwin-6.0.2-qtgui-accessibility-optional.patch b/kde-plasma/kwin/files/kwin-6.0.2-qtgui-accessibility-optional.patch
new file mode 100644
index 000000000000..3bf872a6e30f
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-6.0.2-qtgui-accessibility-optional.patch
@@ -0,0 +1,41 @@
+From ade5d72c3a7e2078025ecbb3c9a354c20a8d9c90 Mon Sep 17 00:00:00 2001
+From: Aleix Pol Gonzalez <aleixpol@kde.org>
+Date: Wed, 21 Feb 2024 12:25:09 +0000
+Subject: [PATCH] qpa: Don't build SPI support if Qt wasn't build with it
+
+Signed-off-by: Falko Becker <falko.becker@mbition.io>
+---
+ src/plugins/qpa/integration.cpp | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/qpa/integration.cpp b/src/plugins/qpa/integration.cpp
+index 9a9195d8173..238a2e60628 100644
+--- a/src/plugins/qpa/integration.cpp
++++ b/src/plugins/qpa/integration.cpp
+@@ -33,9 +33,12 @@
+ #include <QtGui/private/qgenericunixeventdispatcher_p.h>
+ #include <QtGui/private/qgenericunixfontdatabase_p.h>
+ #include <QtGui/private/qgenericunixthemes_p.h>
+-#include <QtGui/private/qspiaccessiblebridge_p.h>
+ #include <QtGui/private/qunixeventdispatcher_qpa_p.h>
+ 
++#if !defined(QT_NO_ACCESSIBILITY_ATSPI_BRIDGE)
++#include <QtGui/private/qspiaccessiblebridge_p.h>
++#endif
++
+ namespace KWin
+ {
+ 
+@@ -160,7 +163,9 @@ QPlatformOpenGLContext *Integration::createPlatformOpenGLContext(QOpenGLContext
+ QPlatformAccessibility *Integration::accessibility() const
+ {
+     if (!m_accessibility) {
++#if !defined(QT_NO_ACCESSIBILITY_ATSPI_BRIDGE)
+         m_accessibility.reset(new QSpiAccessibleBridge());
++#endif
+     }
+     return m_accessibility.get();
+ }
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-6.0.2-r1.ebuild b/kde-plasma/kwin/kwin-6.0.2-r1.ebuild
index 41629d06895d..e3510abd0ff4 100644
--- a/kde-plasma/kwin/kwin-6.0.2-r1.ebuild
+++ b/kde-plasma/kwin/kwin-6.0.2-r1.ebuild
@@ -24,7 +24,7 @@ COMMON_DEPEND="
 	>=dev-libs/libinput-1.19:=
 	>=dev-libs/wayland-1.22.0
 	>=dev-qt/qt5compat-${QTMIN}:6[qml]
-	>=dev-qt/qtbase-${QTMIN}:6=[dbus,gles2-only=,gui,libinput,opengl,widgets]
+	>=dev-qt/qtbase-${QTMIN}:6=[accessibility=,dbus,gles2-only=,gui,libinput,opengl,widgets]
 	>=dev-qt/qtdeclarative-${QTMIN}:6
 	>=dev-qt/qtsensors-${QTMIN}:6
 	>=dev-qt/qtshadertools-${QTMIN}:6
@@ -111,6 +111,10 @@ BDEPEND="
 "
 PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
 
+PATCHES=(
+	"${FILESDIR}/${PN}-6.0.2-qtgui-accessibility-optional.patch" # bug 926935, 6.1
+)
+
 src_prepare() {
 	ecm_src_prepare
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2023-12-16  9:10 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2023-12-16  9:10 UTC (permalink / raw
  To: gentoo-commits

commit:     36940d9b0d476a5523d3de8af04d16d3f3e95e5b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 16 08:58:24 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 16 09:09:49 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36940d9b

kde-plasma/kwin: Backport crash and freeze fixes

xdgshellwindow: make maxSize always >= minSize by enforcing the same minimum
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=478269

backends/drm: commit m_next state properly
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=477451

Bug: https://bugs.gentoo.org/919763
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-5.27.10-backends-drm-commit-m_next-state.patch |  34 +++++
 ...in-5.27.10-xdgshellwindow-enforce-minSize.patch |  38 ++++++
 kde-plasma/kwin/kwin-5.27.10-r1.ebuild             | 141 +++++++++++++++++++++
 3 files changed, 213 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch b/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch
new file mode 100644
index 000000000000..dd51fd2ae1b8
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch
@@ -0,0 +1,34 @@
+From 5b7183c77a2be9c3c26f9f209e783cb1a34118e0 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Thu, 7 Dec 2023 14:40:40 +0100
+Subject: [PATCH] backends/drm: commit m_next state properly
+
+Without this, atomic test failures might restore state that's out of date.
+
+BUG: 477451
+---
+ src/backends/drm/drm_pipeline.cpp | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/backends/drm/drm_pipeline.cpp b/src/backends/drm/drm_pipeline.cpp
+index e0e0b2f0195..84ee4d16557 100644
+--- a/src/backends/drm/drm_pipeline.cpp
++++ b/src/backends/drm/drm_pipeline.cpp
+@@ -433,13 +433,12 @@ void DrmPipeline::atomicCommitSuccessful()
+             m_pending.crtc->cursorPlane()->commit();
+         }
+     }
+-    m_current = m_pending;
++    m_current = m_next = m_pending;
+ }
+ 
+ void DrmPipeline::atomicModesetSuccessful()
+ {
+     atomicCommitSuccessful();
+-    m_pending.needsModeset = false;
+     if (activePending()) {
+         pageFlipped(std::chrono::steady_clock::now().time_since_epoch());
+     }
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch b/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch
new file mode 100644
index 000000000000..8f3dac004816
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch
@@ -0,0 +1,38 @@
+From 0d59f48fbf2cbbcc71556f0ce005d939c604f2c4 Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Mon, 11 Dec 2023 18:06:31 +0100
+Subject: [PATCH] xdgshellwindow: make maxSize always >= minSize by enforcing
+ the same minimum
+
+BUG: 478269
+
+
+(cherry picked from commit d228dc173a24bc27a895d4924936a1d91d7c25b9)
+---
+ src/xdgshellwindow.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/xdgshellwindow.cpp b/src/xdgshellwindow.cpp
+index 29d8623cac3..525481f00dd 100644
+--- a/src/xdgshellwindow.cpp
++++ b/src/xdgshellwindow.cpp
+@@ -601,12 +601,14 @@ MaximizeMode XdgToplevelWindow::requestedMaximizeMode() const
+ QSizeF XdgToplevelWindow::minSize() const
+ {
+     const int enforcedMinimum = m_nextDecoration ? 150 : 20;
+-    return rules()->checkMinSize(QSize(std::max(enforcedMinimum, m_shellSurface->minimumSize().width()), std::max(enforcedMinimum, m_shellSurface->minimumSize().height())));
++    return rules()->checkMinSize(m_shellSurface->minimumSize()).expandedTo(QSizeF(enforcedMinimum, enforcedMinimum));
+ }
+ 
+ QSizeF XdgToplevelWindow::maxSize() const
+ {
+-    return rules()->checkMaxSize(m_shellSurface->maximumSize());
++    // enforce the same minimum as for minSize, so that maxSize is always bigger than minSize
++    const int enforcedMinimum = m_nextDecoration ? 150 : 20;
++    return rules()->checkMaxSize(m_shellSurface->maximumSize()).expandedTo(QSizeF(enforcedMinimum, enforcedMinimum));
+ }
+ 
+ bool XdgToplevelWindow::isFullScreen() const
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.27.10-r1.ebuild b/kde-plasma/kwin/kwin-5.27.10-r1.ebuild
new file mode 100644
index 000000000000..1611692d886b
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.27.10-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.106.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.9
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only lock multimedia plasma screencast"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+	>=dev-libs/libinput-1.19:=
+	>=dev-libs/wayland-1.21.0
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=[accessibility,egl,gles2-only=,libinput]
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtx11extras-${QTMIN}:5
+	>=kde-frameworks/kauth-${KFMIN}:5
+	>=kde-frameworks/kcmutils-${KFMIN}:5
+	>=kde-frameworks/kconfig-${KFMIN}:5[qml]
+	>=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/kglobalaccel-${KFMIN}:5=[X(+)]
+	>=kde-frameworks/ki18n-${KFMIN}:5
+	>=kde-frameworks/kidletime-${KFMIN}:5=
+	>=kde-frameworks/knewstuff-${KFMIN}:5
+	>=kde-frameworks/knotifications-${KFMIN}:5
+	>=kde-frameworks/kpackage-${KFMIN}:5
+	>=kde-frameworks/kservice-${KFMIN}:5
+	>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+	>=kde-frameworks/kwindowsystem-${KFMIN}:5=[X]
+	>=kde-frameworks/kxmlgui-${KFMIN}:5
+	>=kde-plasma/breeze-${PVCUT}:5
+	>=kde-plasma/kdecoration-${PVCUT}:5
+	>=kde-plasma/kwayland-${KFMIN}:5
+	>=kde-plasma/libplasma-${KFMIN}:5
+	>=kde-plasma/plasma-activities-${KFMIN}:5
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/lcms:2
+	media-libs/libepoxy
+	media-libs/libglvnd
+	>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	x11-libs/libX11
+	x11-libs/libXi
+	>=x11-libs/libdrm-2.4.112
+	>=x11-libs/libxcb-1.10:=
+	>=x11-libs/libxcvt-0.1.1
+	>=x11-libs/libxkbcommon-1.5.0
+	x11-libs/xcb-util-cursor
+	x11-libs/xcb-util-keysyms
+	x11-libs/xcb-util-wm
+	accessibility? ( media-libs/libqaccessibilityclient:5 )
+	gles2-only? ( media-libs/mesa[gles2] )
+	lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:5 )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	screencast? ( >=media-video/pipewire-0.3:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	!kde-plasma/kwayland-server
+	>=dev-qt/qtquickcontrols-${QTMIN}:5
+	>=dev-qt/qtquickcontrols2-${QTMIN}:5
+	>=kde-frameworks/kirigami-${KFMIN}:5
+	>=kde-frameworks/kitemmodels-${KFMIN}:5[qml]
+	sys-apps/hwdata
+	x11-base/xwayland
+	multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] )
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-libs/plasma-wayland-protocols-1.9
+	>=dev-libs/wayland-protocols-1.31
+	>=dev-qt/designer-${QTMIN}:5
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	>=dev-qt/qtwayland-${QTMIN}:5
+	x11-base/xorg-proto
+	x11-libs/xcb-util-image
+	caps? ( sys-libs/libcap )
+"
+BDEPEND="
+	>=dev-qt/qtwaylandscanner-${QTMIN}:5
+	dev-util/wayland-scanner
+	>=kde-frameworks/kcmutils-${KFMIN}:5
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
+
+PATCHES=(
+	"${FILESDIR}/${P}-xdgshellwindow-enforce-minSize.patch" # KDE-bug 478269
+	"${FILESDIR}/${P}-backends-drm-commit-m_next-state.patch" # KDE-bug 477451
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"
+
+	# 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=(
+		# KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
+		$(cmake_use_find_package accessibility QAccessibilityClient)
+		$(cmake_use_find_package caps Libcap)
+		-DKWIN_BUILD_SCREENLOCKER=$(usex lock)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2023-09-30 10:00 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2023-09-30 10:00 UTC (permalink / raw
  To: gentoo-commits

commit:     af0d71c16dee63b1e30b89e2ff257b771f362202
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 28 20:09:14 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 30 09:57:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af0d71c1

kde-plasma/kwin: fix segfault in EglGbmBackend::textureForOutput

Upstream commit e6b20c47ea2d3dfc38632958e0be295a0d376e1f

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kwin-5.27.8-fix-segfalt-in-EglGbmBackend.patch |  27 ++++
 kde-plasma/kwin/kwin-5.27.8-r3.ebuild              | 142 +++++++++++++++++++++
 2 files changed, 169 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.8-fix-segfalt-in-EglGbmBackend.patch b/kde-plasma/kwin/files/kwin-5.27.8-fix-segfalt-in-EglGbmBackend.patch
new file mode 100644
index 000000000000..91f42a6d58b1
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.8-fix-segfalt-in-EglGbmBackend.patch
@@ -0,0 +1,27 @@
+From e6b20c47ea2d3dfc38632958e0be295a0d376e1f Mon Sep 17 00:00:00 2001
+From: Aki Sakurai <kde@aki.tw>
+Date: Thu, 28 Sep 2023 23:50:32 +0800
+Subject: [PATCH] fix segfault in  EglGbmBackend::textureForOutput
+
+(cherry picked from commit 0f1da589ebc90d7436d4f6e8a418be76c10258c6)
+---
+ src/backends/drm/drm_egl_backend.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/backends/drm/drm_egl_backend.cpp b/src/backends/drm/drm_egl_backend.cpp
+index 3b22ef21db2..d6adbe83f04 100644
+--- a/src/backends/drm/drm_egl_backend.cpp
++++ b/src/backends/drm/drm_egl_backend.cpp
+@@ -214,6 +214,9 @@ OutputLayer *EglGbmBackend::primaryLayer(Output *output)
+ std::shared_ptr<GLTexture> EglGbmBackend::textureForOutput(Output *output) const
+ {
+     const auto drmOutput = static_cast<DrmAbstractOutput *>(output);
++    if (const auto virtualLayer = dynamic_cast<VirtualEglGbmLayer *>(drmOutput->primaryLayer())) {
++        return virtualLayer->texture();
++    }
+     return static_cast<EglGbmLayer *>(drmOutput->primaryLayer())->texture();
+ }
+ 
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.27.8-r3.ebuild b/kde-plasma/kwin/kwin-5.27.8-r3.ebuild
new file mode 100644
index 000000000000..64251666db60
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.27.8-r3.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.106.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.9
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only lock multimedia plasma screencast"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+	>=dev-libs/libinput-1.19:=
+	>=dev-libs/wayland-1.21.0
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=[egl,gles2-only=,libinput]
+	>=dev-qt/qtnetwork-${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/kconfig-${KFMIN}:5[qml]
+	>=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/kglobalaccel-${KFMIN}:5=[X]
+	>=kde-frameworks/ki18n-${KFMIN}:5
+	>=kde-frameworks/kidletime-${KFMIN}:5=
+	>=kde-frameworks/knewstuff-${KFMIN}:5
+	>=kde-frameworks/knotifications-${KFMIN}:5
+	>=kde-frameworks/kpackage-${KFMIN}:5
+	>=kde-frameworks/kservice-${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
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/lcms:2
+	media-libs/libepoxy
+	media-libs/libglvnd
+	>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	x11-libs/libX11
+	x11-libs/libXi
+	>=x11-libs/libdrm-2.4.112
+	>=x11-libs/libxcb-1.10:=
+	>=x11-libs/libxcvt-0.1.1
+	>=x11-libs/libxkbcommon-1.5.0
+	x11-libs/xcb-util-cursor
+	x11-libs/xcb-util-keysyms
+	x11-libs/xcb-util-wm
+	accessibility? ( media-libs/libqaccessibilityclient:5 )
+	gles2-only? ( media-libs/mesa[gles2] )
+	lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:5 )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	screencast? ( >=media-video/pipewire-0.3:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	!kde-plasma/kwayland-server
+	>=dev-qt/qtquickcontrols-${QTMIN}:5
+	>=dev-qt/qtquickcontrols2-${QTMIN}:5
+	>=kde-frameworks/kirigami-${KFMIN}:5
+	>=kde-frameworks/kitemmodels-${KFMIN}:5[qml]
+	sys-apps/hwdata
+	x11-base/xwayland
+	multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] )
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-libs/plasma-wayland-protocols-1.9
+	>=dev-libs/wayland-protocols-1.31
+	>=dev-qt/designer-${QTMIN}:5
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	>=dev-qt/qtwayland-${QTMIN}:5
+	x11-base/xorg-proto
+	x11-libs/xcb-util-image
+	caps? ( sys-libs/libcap )
+"
+BDEPEND="
+	>=dev-qt/qtwaylandscanner-${QTMIN}:5
+	dev-util/wayland-scanner
+	>=kde-frameworks/kcmutils-${KFMIN}:5
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+	"${FILESDIR}/${P}-cmake.patch" # bug 914143
+	"${FILESDIR}/${P}-crashfix.patch" # KDE-bug 471562
+	"${FILESDIR}/${P}-fix-segfalt-in-EglGbmBackend.patch"
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"
+
+	# 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=(
+		# KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
+		$(cmake_use_find_package accessibility QAccessibilityClient)
+		$(cmake_use_find_package caps Libcap)
+		-DKWIN_BUILD_SCREENLOCKER=$(usex lock)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2023-09-20 13:15 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2023-09-20 13:15 UTC (permalink / raw
  To: gentoo-commits

commit:     21b45e42e481f57be46a91ffa1ae26ed4c739eca
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 20 09:17:03 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Sep 20 13:14:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21b45e42

kde-plasma/kwin: Backport 5.27.9 wayland crashfix

Upstream commit 099b206b6d8cffee1b410a51e540d3750c4a0af
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=471562

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-plasma/kwin/files/kwin-5.27.8-crashfix.patch |  39 +++++++
 kde-plasma/kwin/kwin-5.27.8-r2.ebuild            | 141 +++++++++++++++++++++++
 2 files changed, 180 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.8-crashfix.patch b/kde-plasma/kwin/files/kwin-5.27.8-crashfix.patch
new file mode 100644
index 000000000000..e8d6cca37fee
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.8-crashfix.patch
@@ -0,0 +1,39 @@
+From f099b206b6d8cffee1b410a51e540d3750c4a0af Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Tue, 12 Sep 2023 16:23:15 +0200
+Subject: [PATCH] backends/drm: check activePending instead of active for when
+ applying a new gamma ramp is allowed
+
+The crtc may not be set yet in some cases
+
+BUG: 471562
+(cherry picked from commit 57fae99f33aa5d092ebb82e9924fbd7fbb932fc7)
+---
+ src/backends/drm/drm_output.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/backends/drm/drm_output.cpp b/src/backends/drm/drm_output.cpp
+index 558de1f7c4b..c55c4c1832f 100644
+--- a/src/backends/drm/drm_output.cpp
++++ b/src/backends/drm/drm_output.cpp
+@@ -466,7 +466,7 @@ DrmOutputLayer *DrmOutput::primaryLayer() const
+ 
+ bool DrmOutput::setGammaRamp(const std::shared_ptr<ColorTransformation> &transformation)
+ {
+-    if (!m_pipeline->active()) {
++    if (!m_pipeline->activePending()) {
+         return false;
+     }
+     m_pipeline->setGammaRamp(transformation);
+@@ -483,7 +483,7 @@ bool DrmOutput::setGammaRamp(const std::shared_ptr<ColorTransformation> &transfo
+ 
+ bool DrmOutput::setCTM(const QMatrix3x3 &ctm)
+ {
+-    if (!m_pipeline->active()) {
++    if (!m_pipeline->activePending()) {
+         return false;
+     }
+     m_pipeline->setCTM(ctm);
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.27.8-r2.ebuild b/kde-plasma/kwin/kwin-5.27.8-r2.ebuild
new file mode 100644
index 000000000000..8afa7812f381
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.27.8-r2.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.106.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.9
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only lock multimedia plasma screencast"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+	>=dev-libs/libinput-1.19:=
+	>=dev-libs/wayland-1.21.0
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=[egl,gles2-only=,libinput]
+	>=dev-qt/qtnetwork-${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/kconfig-${KFMIN}:5[qml]
+	>=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/kglobalaccel-${KFMIN}:5=[X]
+	>=kde-frameworks/ki18n-${KFMIN}:5
+	>=kde-frameworks/kidletime-${KFMIN}:5=
+	>=kde-frameworks/knewstuff-${KFMIN}:5
+	>=kde-frameworks/knotifications-${KFMIN}:5
+	>=kde-frameworks/kpackage-${KFMIN}:5
+	>=kde-frameworks/kservice-${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
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/lcms:2
+	media-libs/libepoxy
+	media-libs/libglvnd
+	>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	x11-libs/libX11
+	x11-libs/libXi
+	>=x11-libs/libdrm-2.4.112
+	>=x11-libs/libxcb-1.10:=
+	>=x11-libs/libxcvt-0.1.1
+	>=x11-libs/libxkbcommon-1.5.0
+	x11-libs/xcb-util-cursor
+	x11-libs/xcb-util-keysyms
+	x11-libs/xcb-util-wm
+	accessibility? ( media-libs/libqaccessibilityclient:5 )
+	gles2-only? ( media-libs/mesa[gles2] )
+	lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:5 )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	screencast? ( >=media-video/pipewire-0.3:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	!kde-plasma/kwayland-server
+	>=dev-qt/qtquickcontrols-${QTMIN}:5
+	>=dev-qt/qtquickcontrols2-${QTMIN}:5
+	>=kde-frameworks/kirigami-${KFMIN}:5
+	>=kde-frameworks/kitemmodels-${KFMIN}:5[qml]
+	sys-apps/hwdata
+	x11-base/xwayland
+	multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] )
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-libs/plasma-wayland-protocols-1.9
+	>=dev-libs/wayland-protocols-1.31
+	>=dev-qt/designer-${QTMIN}:5
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	>=dev-qt/qtwayland-${QTMIN}:5
+	x11-base/xorg-proto
+	x11-libs/xcb-util-image
+	caps? ( sys-libs/libcap )
+"
+BDEPEND="
+	>=dev-qt/qtwaylandscanner-${QTMIN}:5
+	dev-util/wayland-scanner
+	>=kde-frameworks/kcmutils-${KFMIN}:5
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+	"${FILESDIR}/${P}-cmake.patch" # bug 914143
+	"${FILESDIR}/${P}-crashfix.patch" # KDE-bug 471562
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"
+
+	# 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=(
+		# KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
+		$(cmake_use_find_package accessibility QAccessibilityClient)
+		$(cmake_use_find_package caps Libcap)
+		-DKWIN_BUILD_SCREENLOCKER=$(usex lock)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2023-05-12 20:42 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2023-05-12 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     d8329f9c951ac31c93d32b3af9de2c1221b33354
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 20:38:00 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri May 12 20:41:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8329f9c

kde-plasma/kwin: Fix cursor position snap back regression in games

Revert "wayland: Avoid pointer warp if constraint region is invalid"
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=469555

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kwin/files/kwin-5.27.5-revert-7c91c4ba.patch   |  49 +++++++
 kde-plasma/kwin/kwin-5.27.5-r2.ebuild              | 144 +++++++++++++++++++++
 2 files changed, 193 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.27.5-revert-7c91c4ba.patch b/kde-plasma/kwin/files/kwin-5.27.5-revert-7c91c4ba.patch
new file mode 100644
index 000000000000..f7c2047818b3
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.5-revert-7c91c4ba.patch
@@ -0,0 +1,49 @@
+From 3d62e7548955e2ddf298c61a55fcd26007ea27bb Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Thu, 11 May 2023 22:56:32 +0300
+Subject: [PATCH] Revert "wayland: Avoid pointer warp if constraint region is
+ invalid"
+
+This reverts commit 7c91c4bad9ee709eebfdf9d5b3997fa00ca7cd13.
+
+It created regressions in some video games. After a closer look at the
+pointer constraint region handling, there are some issues, but it might
+be safer to fix them in master.
+
+In meanwhile, let's revert 7c91c4bad because it breaks more things than
+it fixes.
+
+CCBUG: 457021
+BUG: 469555
+
+
+(cherry picked from commit 07da1796b8388b00275d8281fac476bde71cd02b)
+---
+ src/pointer_input.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/pointer_input.cpp b/src/pointer_input.cpp
+index 2b582649a61..d47b5bc47d3 100644
+--- a/src/pointer_input.cpp
++++ b/src/pointer_input.cpp
+@@ -669,7 +669,7 @@ void PointerInputRedirection::updatePointerConstraints()
+                 lock->setLocked(false);
+                 m_locked = false;
+                 disconnectLockedPointerAboutToBeUnboundConnection();
+-                if (!(hint.x() < 0 || hint.y() < 0 || !lock->region().contains(hint.toPoint())) && focus()) {
++                if (!(hint.x() < 0 || hint.y() < 0) && focus()) {
+                     processMotionAbsolute(focus()->mapFromLocal(hint), waylandServer()->seat()->timestamp());
+                 }
+             }
+@@ -684,7 +684,7 @@ void PointerInputRedirection::updatePointerConstraints()
+             // In this case the cached cursor position hint must be fetched before the resource goes away
+             m_lockedPointerAboutToBeUnboundConnection = connect(lock, &KWaylandServer::LockedPointerV1Interface::aboutToBeDestroyed, this, [this, lock]() {
+                 const auto hint = lock->cursorPositionHint();
+-                if (hint.x() < 0 || hint.y() < 0 || !lock->region().contains(hint.toPoint()) || !focus()) {
++                if (hint.x() < 0 || hint.y() < 0 || !focus()) {
+                     return;
+                 }
+                 auto globalHint = focus()->mapFromLocal(hint);
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.27.5-r2.ebuild b/kde-plasma/kwin/kwin-5.27.5-r2.ebuild
new file mode 100644
index 000000000000..8b3d63a473fd
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.27.5-r2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.102.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.7
+VIRTUALX_REQUIRED="test"
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only lock multimedia plasma screencast"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+	>=dev-libs/libinput-1.19
+	>=dev-libs/wayland-1.21.0
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=[egl,gles2-only=,libinput]
+	>=dev-qt/qtwayland-${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/kconfig-${KFMIN}:5[qml]
+	>=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/kglobalaccel-${KFMIN}:5=[X]
+	>=kde-frameworks/ki18n-${KFMIN}:5
+	>=kde-frameworks/kidletime-${KFMIN}:5=
+	>=kde-frameworks/kitemviews-${KFMIN}:5
+	>=kde-frameworks/knewstuff-${KFMIN}:5
+	>=kde-frameworks/knotifications-${KFMIN}:5
+	>=kde-frameworks/kpackage-${KFMIN}:5
+	>=kde-frameworks/kservice-${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
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/lcms:2
+	media-libs/libepoxy
+	media-libs/libglvnd
+	>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	x11-libs/libX11
+	x11-libs/libXi
+	>=x11-libs/libdrm-2.4.112
+	>=x11-libs/libxcb-1.10
+	>=x11-libs/libxcvt-0.1.1
+	>=x11-libs/libxkbcommon-1.5.0
+	x11-libs/xcb-util-cursor
+	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] )
+	lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:5 )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	screencast? ( >=media-video/pipewire-0.3:= )
+"
+RDEPEND="${COMMON_DEPEND}
+	!kde-plasma/kwayland-server
+	>=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]
+	sys-apps/hwdata
+	x11-base/xwayland
+	multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] )
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-libs/plasma-wayland-protocols-1.9
+	>=dev-libs/wayland-protocols-1.31
+	>=dev-qt/designer-${QTMIN}:5
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	x11-base/xorg-proto
+"
+BDEPEND="
+	>=dev-qt/qtwaylandscanner-${QTMIN}:5
+	dev-util/wayland-scanner
+	>=kde-frameworks/kcmutils-${KFMIN}:5
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+	"${FILESDIR}/${P}-fix-xcbutils-nativeFloor.patch" #KDE-bug 459373
+	"${FILESDIR}/${P}-revert-7c91c4ba.patch" #KDE-bug 469555
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"
+
+	# 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=(
+		# KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
+		$(cmake_use_find_package accessibility QAccessibilityClient)
+		$(cmake_use_find_package caps Libcap)
+		-DKWIN_BUILD_SCREENLOCKER=$(usex lock)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2022-07-26 12:08 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2022-07-26 12:08 UTC (permalink / raw
  To: gentoo-commits

commit:     901f280f4d7588a28776209d430fd2fea507f893
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 26 11:44:13 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Jul 26 12:04:52 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=901f280f

kde-plasma/kwin: effects/colorpicker: Fix picking colors

Also: Emit rowsChanged signal to fix default state highlighting.

Upstream commits:
4305425cb221139a7d9ed6cb954eb8e0b5627f5a
aa5fc42349052d040f45aca40749edce80ff8f1f

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=454974

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kwin/files/kwin-5.24.6-emit-rowsChanged.patch  |  30 +++++
 .../kwin/files/kwin-5.24.6-fix-color-picker.patch  |  40 ++++++
 kde-plasma/kwin/kwin-5.24.6-r1.ebuild              | 138 +++++++++++++++++++++
 3 files changed, 208 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.24.6-emit-rowsChanged.patch b/kde-plasma/kwin/files/kwin-5.24.6-emit-rowsChanged.patch
new file mode 100644
index 000000000000..79ee3cc547ce
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.6-emit-rowsChanged.patch
@@ -0,0 +1,30 @@
+From 4f419afe307f808ab648a6d6c473ff3cd0b9d836 Mon Sep 17 00:00:00 2001
+From: ivan tkachenko <me@ratijas.tk>
+Date: Sun, 10 Jul 2022 15:17:26 +0300
+Subject: [PATCH] [kcm/kwindesktop] Emit rowsChanged signal to fix default
+ state highlighting
+
+Without this, the rowsChanged signal wasn't emitting at startup, so the
+binding `highlight: kcm.desktopsModel.rows !== 2` didn't work correctly.
+
+FIXED-IN: 5.24.7 5.25.3 5.26
+---
+ src/kcmkwin/kwindesktop/desktopsmodel.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/kcmkwin/kwindesktop/desktopsmodel.cpp b/src/kcmkwin/kwindesktop/desktopsmodel.cpp
+index cf147a7981..f8dd8d6260 100644
+--- a/src/kcmkwin/kwindesktop/desktopsmodel.cpp
++++ b/src/kcmkwin/kwindesktop/desktopsmodel.cpp
+@@ -457,6 +457,8 @@ void DesktopsModel::getAllAndConnect(const QDBusMessage &msg)
+         m_names = m_serverSideNames;
+         m_rows = m_serverSideRows;
+         endResetModel();
++
++        Q_EMIT rowsChanged();
+     }
+ 
+     Q_EMIT readyChanged();
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.24.6-fix-color-picker.patch b/kde-plasma/kwin/files/kwin-5.24.6-fix-color-picker.patch
new file mode 100644
index 000000000000..545bc96d0230
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.24.6-fix-color-picker.patch
@@ -0,0 +1,40 @@
+From aa5fc42349052d040f45aca40749edce80ff8f1f Mon Sep 17 00:00:00 2001
+From: ivan tkachenko <me@ratijas.tk>
+Date: Fri, 22 Jul 2022 18:43:45 +0300
+Subject: [PATCH] effects/colorpicker: Fix picking colors
+
+Due to the wrong buffer format, the function failed with
+GL_INVALID_OPERATION error, which was silently ignored by the effect.
+It resulted in the constant phantom color being returned over and over
+again.
+
+Co-Authored-By: David Edmundson <kde@davidedmundson.co.uk>
+BUG: 454974
+FIXED-IN: 5.24.7, 5.25.4, 5.26
+(cherry picked from commit df6331b60aa03e65f146e93d0229cdc6dc956bbd)
+---
+ src/effects/colorpicker/colorpicker.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/effects/colorpicker/colorpicker.cpp b/src/effects/colorpicker/colorpicker.cpp
+index bc60225838..0625b3de47 100644
+--- a/src/effects/colorpicker/colorpicker.cpp
++++ b/src/effects/colorpicker/colorpicker.cpp
+@@ -61,12 +61,12 @@ void ColorPickerEffect::postPaintScreen()
+     effects->postPaintScreen();
+ 
+     if (m_scheduledPosition != QPoint(-1, -1) && (!m_paintedScreen || m_paintedScreen->geometry().contains(m_scheduledPosition))) {
+-        uint8_t data[3];
++        uint8_t data[4];
+         const QRect geo = GLRenderTarget::virtualScreenGeometry();
+         const QPoint screenPosition(m_scheduledPosition.x() - geo.x(), m_scheduledPosition.y() - geo.y());
+         const QPoint texturePosition(screenPosition.x() * GLRenderTarget::virtualScreenScale(), (geo.height() - screenPosition.y()) * GLRenderTarget::virtualScreenScale());
+ 
+-        glReadnPixels(texturePosition.x(), texturePosition.y(), 1, 1, GL_RGB, GL_UNSIGNED_BYTE, 3, data);
++        glReadnPixels(texturePosition.x(), texturePosition.y(), 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, 4, data);
+         QDBusConnection::sessionBus().send(m_replyMessage.createReply(QColor(data[0], data[1], data[2])));
+         m_picking = false;
+         m_scheduledPosition = QPoint(-1, -1);
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.24.6-r1.ebuild b/kde-plasma/kwin/kwin-5.24.6-r1.ebuild
new file mode 100644
index 000000000000..7c9960a24375
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.24.6-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.92.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.4
+VIRTUALX_REQUIRED="test"
+inherit ecm plasma.kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only multimedia plasma screencast"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+	>=dev-libs/libinput-1.19
+	>=dev-libs/wayland-1.2
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=[gles2-only=,libinput]
+	>=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/kdbusaddons-${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/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/lcms:2
+	media-libs/libepoxy
+	>=media-libs/mesa-21.1[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	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
+	accessibility? ( media-libs/libqaccessibilityclient:5 )
+	caps? ( sys-libs/libcap )
+	gles2-only? ( media-libs/mesa[gles2] )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	screencast? ( >=media-video/pipewire-0.3:= )
+"
+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]
+	sys-apps/hwdata
+	x11-base/xwayland
+	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
+	test? (
+		dev-libs/plasma-wayland-protocols
+		>=dev-libs/wayland-protocols-1.19
+	)
+"
+BDEPEND="test? ( >=dev-qt/qtwaylandscanner-${QTMIN}:5 )"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+	"${FILESDIR}/${P}-emit-rowsChanged.patch"
+	"${FILESDIR}/${P}-fix-color-picker.patch" # KDE-bug 454974
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.21.80-gstreamer-optional.patch"
+
+	# 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)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2021-12-10 14:58 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2021-12-10 14:58 UTC (permalink / raw
  To: gentoo-commits

commit:     fdc345a74e390b0a01204a77f8f4827610d3b238
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 10 14:12:32 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 10 14:58:21 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdc345a7

kde-plasma/kwin: wayland: fix client window size, input; scripting

Upstream commit 6a84b9454c869a16c2fa5fd49a8fac4a9497f30f
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=444962

Upstream commit 8a0036fdee0eaa7dc5808dfe2dfc516fc32dfd8e
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=446699

Scripting fix:
Upstream commit fd8d01d9892f12c48a82c6e2ab675396bf6ec113
See also: https://invent.kde.org/plasma/kwin/-/merge_requests/1762

Package-Manager: Portage-3.0.29, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...remove-dpms-filter-when-outputs-are-added.patch |  30 +++++
 ...ripting-fix-KWinComponents-Workspace-type.patch |  34 +++++
 ...land-resize-to-last-requested-client-size.patch | 100 +++++++++++++++
 kde-plasma/kwin/kwin-5.23.4-r1.ebuild              | 137 +++++++++++++++++++++
 4 files changed, 301 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.23.4-drm-remove-dpms-filter-when-outputs-are-added.patch b/kde-plasma/kwin/files/kwin-5.23.4-drm-remove-dpms-filter-when-outputs-are-added.patch
new file mode 100644
index 000000000000..cc323e4540f6
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.23.4-drm-remove-dpms-filter-when-outputs-are-added.patch
@@ -0,0 +1,30 @@
+From 8a0036fdee0eaa7dc5808dfe2dfc516fc32dfd8e Mon Sep 17 00:00:00 2001
+From: Xaver Hugl <xaver.hugl@gmail.com>
+Date: Thu, 9 Dec 2021 12:51:55 +0100
+Subject: [PATCH] platforms/drm: remove the dpms filter when outputs are added
+
+When the dpms filter is active and an output is hotunplugged, or
+is momentarily detected as hotunplugged, adding a new output should
+remove the dpms filter again.
+
+BUG: 446699
+FIXED-IN: 5.23.5
+---
+ src/plugins/platforms/drm/drm_backend.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/plugins/platforms/drm/drm_backend.cpp b/src/plugins/platforms/drm/drm_backend.cpp
+index a99b720177..d7908f6332 100644
+--- a/src/plugins/platforms/drm/drm_backend.cpp
++++ b/src/plugins/platforms/drm/drm_backend.cpp
+@@ -321,6 +321,7 @@ void DrmBackend::addOutput(DrmAbstractOutput *o)
+         primaryGpu()->removeVirtualOutput(m_placeHolderOutput);
+         m_placeHolderOutput = nullptr;
+     }
++    checkOutputsAreOn();
+ }
+ 
+ void DrmBackend::removeOutput(DrmAbstractOutput *o)
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.23.4-scripting-fix-KWinComponents-Workspace-type.patch b/kde-plasma/kwin/files/kwin-5.23.4-scripting-fix-KWinComponents-Workspace-type.patch
new file mode 100644
index 000000000000..6ec6a59cd59f
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.23.4-scripting-fix-KWinComponents-Workspace-type.patch
@@ -0,0 +1,34 @@
+From fd8d01d9892f12c48a82c6e2ab675396bf6ec113 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Sun, 5 Dec 2021 18:24:35 +0200
+Subject: [PATCH] scripting: Fix type of KWinComponents.Workspace
+
+Currently, the workspace.clients property doesn't work in declarative
+scripts because wrong workspace wrapper is used.
+
+
+(cherry picked from commit 29a85e830cdca5ae483b411e942e7a5bf85f6140)
+---
+ src/scripting/scripting.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/scripting/scripting.cpp b/src/scripting/scripting.cpp
+index b901db7455..929c94afab 100644
+--- a/src/scripting/scripting.cpp
++++ b/src/scripting/scripting.cpp
+@@ -650,10 +650,10 @@ void KWin::Scripting::init()
+     qmlRegisterType<ScriptingModels::V3::ClientModel>("org.kde.kwin", 3, 0, "ClientModel");
+     qmlRegisterType<ScriptingModels::V3::ClientFilterModel>("org.kde.kwin", 3, 0, "ClientFilterModel");
+ 
+-    qmlRegisterSingletonType<QtScriptWorkspaceWrapper>("org.kde.kwin", 3, 0, "Workspace", [](QQmlEngine *qmlEngine, QJSEngine *jsEngine) {
++    qmlRegisterSingletonType<DeclarativeScriptWorkspaceWrapper>("org.kde.kwin", 3, 0, "Workspace", [](QQmlEngine *qmlEngine, QJSEngine *jsEngine) {
+         Q_UNUSED(qmlEngine)
+         Q_UNUSED(jsEngine)
+-        return new QtScriptWorkspaceWrapper();
++        return new DeclarativeScriptWorkspaceWrapper();
+     });
+ 
+     qmlRegisterType<KWin::AbstractClient>();
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/files/kwin-5.23.4-wayland-resize-to-last-requested-client-size.patch b/kde-plasma/kwin/files/kwin-5.23.4-wayland-resize-to-last-requested-client-size.patch
new file mode 100644
index 000000000000..7846681ed528
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.23.4-wayland-resize-to-last-requested-client-size.patch
@@ -0,0 +1,100 @@
+From 6a84b9454c869a16c2fa5fd49a8fac4a9497f30f Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Tue, 7 Dec 2021 09:32:33 +0200
+Subject: [PATCH] wayland: Resize the client to last requested client size if
+ decoration is destroyed
+
+If the decoration is destroyed before the window is mapped, kwin can
+respond with a configure event that has 0x0 size. New tests check that
+problematic case.
+
+BUG: 444962
+(cherry picked from commit 9cc80d7468c92a2800daf98319e626e022ff1045)
+---
+ autotests/integration/xdgshellclient_test.cpp | 48 +++++++++++++++++++
+ src/abstract_client.cpp                       |  3 +-
+ 2 files changed, 50 insertions(+), 1 deletion(-)
+
+diff --git a/autotests/integration/xdgshellclient_test.cpp b/autotests/integration/xdgshellclient_test.cpp
+index c00e4ebb2d..eabed754dd 100644
+--- a/autotests/integration/xdgshellclient_test.cpp
++++ b/autotests/integration/xdgshellclient_test.cpp
+@@ -104,6 +104,8 @@ private Q_SLOTS:
+     void testPointerInputTransform();
+     void testReentrantSetFrameGeometry();
+     void testDoubleMaximize();
++    void testMaximizeAndChangeDecorationModeAfterInitialCommit();
++    void testFullScreenAndChangeDecorationModeAfterInitialCommit();
+ };
+ 
+ void TestXdgShellClient::testXdgWindowReactive()
+@@ -1839,5 +1841,51 @@ void TestXdgShellClient::testMaximizeFull()
+     QVERIFY(Test::waitForWindowDestroyed(client));
+ }
+ 
++void TestXdgShellClient::testMaximizeAndChangeDecorationModeAfterInitialCommit()
++{
++    // Ideally, the app would initialize the xdg-toplevel surface before the initial commit, but
++    // many don't do it. They initialize the surface after the first commit.
++    // This test verifies that the client will receive a configure event with correct size
++    // if an xdg-toplevel surface is set maximized and decoration mode changes after initial commit.
++
++    QScopedPointer<KWayland::Client::Surface> surface(Test::createSurface());
++    QScopedPointer<Test::XdgToplevel> shellSurface(Test::createXdgToplevelSurface(surface.data())); // will wait for the first configure event
++    QScopedPointer<Test::XdgToplevelDecorationV1> decoration(Test::createXdgToplevelDecorationV1(shellSurface.data()));
++    QSignalSpy toplevelConfigureRequestedSpy(shellSurface.data(), &Test::XdgToplevel::configureRequested);
++    QSignalSpy surfaceConfigureRequestedSpy(shellSurface->xdgSurface(), &Test::XdgSurface::configureRequested);
++
++    // Request maximized mode and set decoration mode, i.e. perform late initialization.
++    shellSurface->set_maximized();
++    decoration->set_mode(Test::XdgToplevelDecorationV1::mode_client_side);
++
++    // The compositor will respond with a new configure event, which should contain maximized state.
++    QVERIFY(surfaceConfigureRequestedSpy.wait());
++    QCOMPARE(toplevelConfigureRequestedSpy.last().at(0).value<QSize>(), QSize(1280, 1024));
++    QCOMPARE(toplevelConfigureRequestedSpy.last().at(1).value<Test::XdgToplevel::States>(), Test::XdgToplevel::State::Maximized);
++}
++
++void TestXdgShellClient::testFullScreenAndChangeDecorationModeAfterInitialCommit()
++{
++    // Ideally, the app would initialize the xdg-toplevel surface before the initial commit, but
++    // many don't do it. They initialize the surface after the first commit.
++    // This test verifies that the client will receive a configure event with correct size
++    // if an xdg-toplevel surface is set fullscreen and decoration mode changes after initial commit.
++
++    QScopedPointer<KWayland::Client::Surface> surface(Test::createSurface());
++    QScopedPointer<Test::XdgToplevel> shellSurface(Test::createXdgToplevelSurface(surface.data())); // will wait for the first configure event
++    QScopedPointer<Test::XdgToplevelDecorationV1> decoration(Test::createXdgToplevelDecorationV1(shellSurface.data()));
++    QSignalSpy toplevelConfigureRequestedSpy(shellSurface.data(), &Test::XdgToplevel::configureRequested);
++    QSignalSpy surfaceConfigureRequestedSpy(shellSurface->xdgSurface(), &Test::XdgSurface::configureRequested);
++
++    // Request fullscreen mode and set decoration mode, i.e. perform late initialization.
++    shellSurface->set_fullscreen(nullptr);
++    decoration->set_mode(Test::XdgToplevelDecorationV1::mode_client_side);
++
++    // The compositor will respond with a new configure event, which should contain fullscreen state.
++    QVERIFY(surfaceConfigureRequestedSpy.wait());
++    QCOMPARE(toplevelConfigureRequestedSpy.last().at(0).value<QSize>(), QSize(1280, 1024));
++    QCOMPARE(toplevelConfigureRequestedSpy.last().at(1).value<Test::XdgToplevel::States>(), Test::XdgToplevel::State::Fullscreen);
++}
++
+ WAYLANDTEST_MAIN(TestXdgShellClient)
+ #include "xdgshellclient_test.moc"
+diff --git a/src/abstract_client.cpp b/src/abstract_client.cpp
+index 79c079109a..95576de0b1 100644
+--- a/src/abstract_client.cpp
++++ b/src/abstract_client.cpp
+@@ -2361,8 +2361,9 @@ void AbstractClient::createDecoration(const QRect &oldGeometry)
+ 
+ void AbstractClient::destroyDecoration()
+ {
++    const QSize clientSize = frameSizeToClientSize(moveResizeGeometry().size());
+     setDecoration(nullptr);
+-    resize(clientSizeToFrameSize(clientSize()));
++    resize(clientSize);
+ }
+ 
+ void AbstractClient::setDecoration(KDecoration2::Decoration *decoration)
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.23.4-r1.ebuild b/kde-plasma/kwin/kwin-5.23.4-r1.ebuild
new file mode 100644
index 000000000000..443291e3462a
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.23.4-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.86.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only multimedia plasma screencast"
+
+RESTRICT="test"
+
+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=,libinput]
+	>=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/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/lcms:2
+	media-libs/libepoxy
+	>=media-libs/mesa-21.1[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	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
+	accessibility? ( media-libs/libqaccessibilityclient:5 )
+	caps? ( sys-libs/libcap )
+	gles2-only? ( media-libs/mesa[gles2] )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	screencast? ( >=media-video/pipewire-0.3:= )
+"
+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]
+	sys-apps/hwdata
+	x11-base/xwayland
+	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
+	test? (
+		>=dev-libs/wayland-protocols-1.19
+		>=dev-qt/qtwayland-${QTMIN}:5
+	)
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-wayland-resize-to-last-requested-client-size.patch # KDE-bug 444962
+	"${FILESDIR}"/${P}-scripting-fix-KWinComponents-Workspace-type.patch
+	"${FILESDIR}"/${P}-drm-remove-dpms-filter-when-outputs-are-added.patch # KDE-bug 446699
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.21.80-gstreamer-optional.patch"
+
+	# 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)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2021-11-23 14:59 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2021-11-23 14:59 UTC (permalink / raw
  To: gentoo-commits

commit:     d8a6ce0f6db9297cb47efccfe21555e9706e424c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 15 14:13:15 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Nov 23 14:59:13 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8a6ce0f

kde-plasma/kwin: Fix XWayland abstract socket address

Upstream commit 5a9a3e96898bd29ccbf31d9ff92dfb80274ce265

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=442362
Reported-by: Benn Snyder <benn.snyder <AT> gmail.com>
Bug: https://bugs.gentoo.org/813888
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...-5.23.3-fix-xwayland-abstract-socket-addr.patch |  49 ++++++++
 kde-plasma/kwin/kwin-5.23.3-r1.ebuild              | 138 +++++++++++++++++++++
 2 files changed, 187 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.23.3-fix-xwayland-abstract-socket-addr.patch b/kde-plasma/kwin/files/kwin-5.23.3-fix-xwayland-abstract-socket-addr.patch
new file mode 100644
index 000000000000..7cd8d135ab28
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.23.3-fix-xwayland-abstract-socket-addr.patch
@@ -0,0 +1,49 @@
+From 5a9a3e96898bd29ccbf31d9ff92dfb80274ce265 Mon Sep 17 00:00:00 2001
+From: Weng Xuetian <wengxt@gmail.com>
+Date: Thu, 11 Nov 2021 12:25:13 -0800
+Subject: [PATCH] Fix XWayland abstract socket address.
+
+NUL-termination byte is not needed for abstract socket. This leads to
+XWayland listening to a wrong address.
+
+Confirmed with lsof.
+
+BUG: 442362
+
+
+(cherry picked from commit 83a036e9d40475d5c07177bf2e8bba9bc0fd4aa5)
+---
+ src/xwl/lib/xwaylandsocket.cpp | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/src/xwl/lib/xwaylandsocket.cpp b/src/xwl/lib/xwaylandsocket.cpp
+index 786ab5cbbf..7cf9310584 100644
+--- a/src/xwl/lib/xwaylandsocket.cpp
++++ b/src/xwl/lib/xwaylandsocket.cpp
+@@ -42,19 +42,18 @@ UnixSocketAddress::UnixSocketAddress(const QString &socketPath, Type type)
+     const QByteArray encodedSocketPath = QFile::encodeName(socketPath);
+ 
+     int byteCount = offsetof(sockaddr_un, sun_path) + encodedSocketPath.size() + 1;
+-    if (type == Type::Abstract) {
+-        byteCount++; // For the first '\0'.
+-    }
+     m_buffer.resize(byteCount);
+ 
+     sockaddr_un *address = reinterpret_cast<sockaddr_un *>(m_buffer.data());
+     address->sun_family = AF_UNIX;
+ 
+     if (type == Type::Unix) {
+-        qstrcpy(address->sun_path, encodedSocketPath);
++        memcpy(address->sun_path, encodedSocketPath.data(), encodedSocketPath.size());
++        address->sun_path[encodedSocketPath.size()] = '\0';
+     } else {
++        // Abstract domain socket does not need the NUL-termination byte.
+         *address->sun_path = '\0';
+-        qstrcpy(address->sun_path + 1, encodedSocketPath);
++        memcpy(address->sun_path + 1, encodedSocketPath.data(), encodedSocketPath.size());
+     }
+ }
+ 
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.23.3-r1.ebuild b/kde-plasma/kwin/kwin-5.23.3-r1.ebuild
new file mode 100644
index 000000000000..cf0d965820df
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.23.3-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.86.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org optfeature
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="accessibility caps gles2-only multimedia plasma screencast"
+
+RESTRICT="test"
+
+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=,libinput]
+	>=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/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/lcms:2
+	media-libs/libepoxy
+	>=media-libs/mesa-21.1[egl(+),gbm(+),wayland,X]
+	virtual/libudev:=
+	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
+	accessibility? ( media-libs/libqaccessibilityclient:5 )
+	caps? ( sys-libs/libcap )
+	gles2-only? ( media-libs/mesa[gles2] )
+	plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
+	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]
+	|| (
+		x11-base/xwayland
+		x11-base/xorg-server[wayland(-)]
+	)
+	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
+	test? (
+		>=dev-libs/wayland-protocols-1.19
+		>=dev-qt/qtwayland-${QTMIN}:5
+	)
+"
+PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:5"
+
+PATCHES=(
+	"${FILESDIR}/${P}-fix-xwayland-abstract-socket-addr.patch" # KDE-bug 442362, bug 813888
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.21.80-gstreamer-optional.patch"
+
+	# 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)
+		$(cmake_use_find_package plasma KF5Runner)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	optfeature "color management support" x11-misc/colord
+	elog
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2021-09-21 18:44 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2021-09-21 18:44 UTC (permalink / raw
  To: gentoo-commits

commit:     bb0d4f0f8e79ae8fb203418417177378231497db
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 19 14:01:55 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 21 18:43:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb0d4f0f

kde-plasma/kwin: Fix build on 32-bit

Upstream commits:
38e24ecd6416a975db0989c21b70d6a4cc242f35
e26ea6bf2313c021db7e5ca5454cd8b1e2e2037f

Bug: https://bugs.gentoo.org/810511
Bug: https://bugs.gentoo.org/813228
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-plasma/kwin/files/kwin-5.22.5-32bit.patch      | 29 ----------------------
 .../kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch    |  6 ++++-
 kde-plasma/kwin/kwin-5.22.5.ebuild                 |  3 +--
 3 files changed, 6 insertions(+), 32 deletions(-)

diff --git a/kde-plasma/kwin/files/kwin-5.22.5-32bit.patch b/kde-plasma/kwin/files/kwin-5.22.5-32bit.patch
deleted file mode 100644
index 7c40b207ca8..00000000000
--- a/kde-plasma/kwin/files/kwin-5.22.5-32bit.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 38e24ecd6416a975db0989c21b70d6a4cc242f35 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 15 Sep 2021 19:06:23 +0200
-Subject: [PATCH] Fix build with 32-bit
-
-Follow-up to 839710201c389b7f4ed248cb3818e755a37ce977
-
-Tested-by: David Flogeras <dflogeras2@gmail.com>
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- src/plugins/platforms/x11/common/eglonxbackend.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/plugins/platforms/x11/common/eglonxbackend.cpp b/src/plugins/platforms/x11/common/eglonxbackend.cpp
-index d2900c7c3..c8acefe82 100644
---- a/src/plugins/platforms/x11/common/eglonxbackend.cpp
-+++ b/src/plugins/platforms/x11/common/eglonxbackend.cpp
-@@ -214,7 +214,7 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t window)
-     }
- 
-     // Window is 64 bits on a 64-bit architecture whereas xcb_window_t is always 32 bits.
--    unsigned long nativeWindow = window;
-+    uintptr_t nativeWindow = window;
- 
-     EGLSurface surface = EGL_NO_SURFACE;
-     if (havePlatformBase()) {
--- 
-2.33.0
-

diff --git a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
index bdca6e2081b..6db52bdd749 100644
--- a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
+++ b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
@@ -8,6 +8,10 @@ EGL_NO_PLATFORM_SPECIFIC_TYPES, EGLNativeWindowType is defined as an
 opaque pointer, i.e. void*.
 
 BUG: 440372
+
+* asturm 2021-09-21: Merged with upstream commits:
+38e24ecd6416a975db0989c21b70d6a4cc242f35 "Fix build with 32-bit"
+e26ea6bf2313c021db7e5ca5454cd8b1e2e2037f "Fix build on 32bit platforms"
 ---
  src/plugins/platforms/x11/common/eglonxbackend.cpp | 13 +++++++------
  1 file changed, 7 insertions(+), 6 deletions(-)
@@ -21,7 +25,7 @@ index c62ec170d..d2900c7c3 100644
      }
  
 +    // Window is 64 bits on a 64-bit architecture whereas xcb_window_t is always 32 bits.
-+    unsigned long nativeWindow = window;
++    Window nativeWindow = window;
 +
      EGLSurface surface = EGL_NO_SURFACE;
      if (havePlatformBase()) {

diff --git a/kde-plasma/kwin/kwin-5.22.5.ebuild b/kde-plasma/kwin/kwin-5.22.5.ebuild
index 2c65c2ef9f9..43b14d49330 100644
--- a/kde-plasma/kwin/kwin-5.22.5.ebuild
+++ b/kde-plasma/kwin/kwin-5.22.5.ebuild
@@ -104,8 +104,7 @@ PDEPEND="
 "
 
 PATCHES=(
-	"${FILESDIR}/${P}-libglvnd-1.3.4.patch" # KDE-bug 440372, bug 810511
-	"${FILESDIR}/${P}-32bit.patch" # bug 813228
+	"${FILESDIR}/${P}-libglvnd-1.3.4.patch" # KDE-bug 440372, bugs 810511, 813228
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2021-09-14  9:04 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2021-09-14  9:04 UTC (permalink / raw
  To: gentoo-commits

commit:     fb620f608733db4c0046ed51a848377f37263ea6
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 14 08:51:08 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 14 09:03:36 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb620f60

kde-plasma/kwin: Fix build with >=media-libs/libglvnd-1.3.4

Drop obsolete >=media-libs/libglvnd-1.3.4 blocker and DEPEND crutch.

Closes: https://bugs.gentoo.org/810511
Package-Manager: Portage-3.0.23, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch    | 44 ++++++++++++++++++++++
 kde-plasma/kwin/kwin-5.22.5.ebuild                 |  5 +--
 2 files changed, 46 insertions(+), 3 deletions(-)

diff --git a/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
new file mode 100644
index 00000000000..bdca6e2081b
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.22.5-libglvnd-1.3.4.patch
@@ -0,0 +1,44 @@
+From 839710201c389b7f4ed248cb3818e755a37ce977 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
+Date: Fri, 10 Sep 2021 13:36:04 +0300
+Subject: [PATCH] x11: Fix build with EGL_NO_PLATFORM_SPECIFIC_TYPES
+
+eglCreateWindowSurface() wants a Window (unsigned long), but with
+EGL_NO_PLATFORM_SPECIFIC_TYPES, EGLNativeWindowType is defined as an
+opaque pointer, i.e. void*.
+
+BUG: 440372
+---
+ src/plugins/platforms/x11/common/eglonxbackend.cpp | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/plugins/platforms/x11/common/eglonxbackend.cpp b/src/plugins/platforms/x11/common/eglonxbackend.cpp
+index c62ec170d..d2900c7c3 100644
+--- a/src/plugins/platforms/x11/common/eglonxbackend.cpp
++++ b/src/plugins/platforms/x11/common/eglonxbackend.cpp
+@@ -213,15 +213,16 @@ EGLSurface EglOnXBackend::createSurface(xcb_window_t window)
+         return EGL_NO_SURFACE;
+     }
+ 
++    // Window is 64 bits on a 64-bit architecture whereas xcb_window_t is always 32 bits.
++    unsigned long nativeWindow = window;
++
+     EGLSurface surface = EGL_NO_SURFACE;
+     if (havePlatformBase()) {
+-        // Note: Window is 64 bits on a 64-bit architecture whereas xcb_window_t is
+-        //       always 32 bits. eglCreatePlatformWindowSurfaceEXT() expects the
+-        //       native_window parameter to be pointer to a Window, so this variable
+-        //       cannot be an xcb_window_t.
+-        surface = eglCreatePlatformWindowSurfaceEXT(eglDisplay(), config(), (void *) &window, nullptr);
++        // eglCreatePlatformWindowSurfaceEXT() expects a pointer to the Window.
++        surface = eglCreatePlatformWindowSurfaceEXT(eglDisplay(), config(), (void *) &nativeWindow, nullptr);
+     } else {
+-        surface = eglCreateWindowSurface(eglDisplay(), config(), window, nullptr);
++        // eglCreateWindowSurface() expects a Window, not a pointer to the Window.
++        surface = eglCreateWindowSurface(eglDisplay(), config(), reinterpret_cast<EGLNativeWindowType>(nativeWindow), nullptr);
+     }
+ 
+     return surface;
+-- 
+GitLab
+

diff --git a/kde-plasma/kwin/kwin-5.22.5.ebuild b/kde-plasma/kwin/kwin-5.22.5.ebuild
index 493e658800d..fbccfdbbf13 100644
--- a/kde-plasma/kwin/kwin-5.22.5.ebuild
+++ b/kde-plasma/kwin/kwin-5.22.5.ebuild
@@ -79,7 +79,6 @@ COMMON_DEPEND="
 "
 # TODO: sys-apps/hwdata? not packaged yet; commit 33a1777a, Gentoo-bug 717216
 RDEPEND="${COMMON_DEPEND}
-	!>=media-libs/libglvnd-1.3.4
 	>=dev-qt/qtquickcontrols-${QTMIN}:5
 	>=dev-qt/qtquickcontrols2-${QTMIN}:5
 	>=dev-qt/qtvirtualkeyboard-${QTMIN}:5
@@ -91,11 +90,9 @@ RDEPEND="${COMMON_DEPEND}
 	)
 	multimedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml] )
 "
-# FIXME: <media-libs/libglvnd-1.3.4 not a dep, only temp. workaround for bug #810511
 DEPEND="${COMMON_DEPEND}
 	>=dev-qt/designer-${QTMIN}:5
 	>=dev-qt/qtconcurrent-${QTMIN}:5
-	<media-libs/libglvnd-1.3.4
 	x11-base/xorg-proto
 	test? (
 		>=dev-libs/wayland-protocols-1.19
@@ -106,6 +103,8 @@ PDEPEND="
 	>=kde-plasma/kde-cli-tools-${PVCUT}:5
 "
 
+PATCHES=( "${FILESDIR}/${P}-libglvnd-1.3.4.patch" ) # KDE-bug 440372, bug 810511
+
 src_prepare() {
 	ecm_src_prepare
 	use multimedia || eapply "${FILESDIR}/${PN}-5.21.80-gstreamer-optional.patch"


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2021-01-23  0:25 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2021-01-23  0:25 UTC (permalink / raw
  To: gentoo-commits

commit:     7a33893e31a976960a6d96d81d6f89e9a8b2365a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 22 20:01:59 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 23 00:25:36 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a33893e

kde-plasma/kwin: Add option to switch to old Task Switcher behavior

Upstream commits:
75fded6f11ed645b0e25bf42b05fa57b8a675197
b3e9c819537cf292d9b1c4d19c5ce7adde00158e

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=427840
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...20.5-keep-focuschain-behavior-w-minimised.patch | 154 +++++++++++++++++++++
 ...-5.20.5-revert-new-focuschain-w-minimised.patch |  65 +++++++++
 kde-plasma/kwin/kwin-5.20.5-r1.ebuild              | 134 ++++++++++++++++++
 3 files changed, 353 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.20.5-keep-focuschain-behavior-w-minimised.patch b/kde-plasma/kwin/files/kwin-5.20.5-keep-focuschain-behavior-w-minimised.patch
new file mode 100644
index 00000000000..9677fc76488
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.20.5-keep-focuschain-behavior-w-minimised.patch
@@ -0,0 +1,154 @@
+From b3e9c819537cf292d9b1c4d19c5ce7adde00158e Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Tue, 20 Oct 2020 14:15:46 -0600
+Subject: [PATCH] [focuschain/task switcher] Add hidden option to govern
+ repositioning minimized windows
+
+Since some people apparently liked the old behavior of moving minimized
+windows to the end of the focus chain, let's let them have it if they
+set a hidden config option:
+
+`MoveMinimizedWindowsToEndOfTabBoxFocusChain=true` in the `[TabBox]` group
+of the kwinrc file.
+
+We can add a UI for it later if needed.
+
+BUG: 427840
+FIXED-IN: 5.21
+---
+ abstract_client.cpp |  6 +++++-
+ focuschain.cpp      | 16 ++++++++++------
+ kwin.kcfg           |  3 +++
+ options.cpp         | 11 +++++++++++
+ options.h           |  6 ++++++
+ 5 files changed, 35 insertions(+), 7 deletions(-)
+
+diff --git a/abstract_client.cpp b/abstract_client.cpp
+index e44da4725..01f3081f8 100644
+--- a/abstract_client.cpp
++++ b/abstract_client.cpp
+@@ -703,7 +703,11 @@ void AbstractClient::minimize(bool avoid_animation)
+     doMinimize();
+ 
+     updateWindowRules(Rules::Minimize);
+-    FocusChain::self()->update(this, FocusChain::MakeFirstMinimized);
++
++    if (options->moveMinimizedWindowsToEndOfTabBoxFocusChain()) {
++        FocusChain::self()->update(this, FocusChain::MakeFirstMinimized);
++    }
++
+     // TODO: merge signal with s_minimized
+     addWorkspaceRepaint(visibleRect());
+     emit clientMinimized(this, !avoid_animation);
+diff --git a/focuschain.cpp b/focuschain.cpp
+index a68e6d3c6..347df3066 100644
+--- a/focuschain.cpp
++++ b/focuschain.cpp
+@@ -227,14 +227,18 @@ AbstractClient *FocusChain::nextForDesktop(AbstractClient *reference, uint deskt
+ void FocusChain::makeFirstInChain(AbstractClient *client, Chain &chain)
+ {
+     chain.removeAll(client);
+-    if (client->isMinimized()) { // add it before the first minimized ...
+-        for (int i = chain.count()-1; i >= 0; --i) {
+-            if (chain.at(i)->isMinimized()) {
+-                chain.insert(i+1, client);
+-                return;
++    if (options->moveMinimizedWindowsToEndOfTabBoxFocusChain()) {
++        if (client->isMinimized()) { // add it before the first minimized ...
++            for (int i = chain.count()-1; i >= 0; --i) {
++                if (chain.at(i)->isMinimized()) {
++                    chain.insert(i+1, client);
++                    return;
++                }
+             }
++            chain.prepend(client); // ... or at end of chain
++        } else {
++            chain.append(client);
+         }
+-        chain.prepend(client); // ... or at end of chain
+     } else {
+         chain.append(client);
+     }
+diff --git a/kwin.kcfg b/kwin.kcfg
+index 0b59606e3..2b06efe52 100644
+--- a/kwin.kcfg
++++ b/kwin.kcfg
+@@ -295,6 +295,9 @@
+         <entry name="LayoutName" type="String">
+             <default>thumbnails</default>
+         </entry>
++        <entry name="MoveMinimizedWindowsToEndOfTabBoxFocusChain" type="Bool">
++            <default>false</default>
++        </entry>
+     </group>
+     <group name="KDE">
+         <entry name="AnimationDurationFactor" type="Double">
+diff --git a/options.cpp b/options.cpp
+index 4bce7ee39..8014f8b78 100644
+--- a/options.cpp
++++ b/options.cpp
+@@ -111,6 +111,7 @@ Options::Options(QObject *parent)
+     , m_glPreferBufferSwap(Options::defaultGlPreferBufferSwap())
+     , m_glPlatformInterface(Options::defaultGlPlatformInterface())
+     , m_windowsBlockCompositing(true)
++    , m_MoveMinimizedWindowsToEndOfTabBoxFocusChain(false)
+     , OpTitlebarDblClick(Options::defaultOperationTitlebarDblClick())
+     , CmdActiveTitlebar1(Options::defaultCommandActiveTitlebar1())
+     , CmdActiveTitlebar2(Options::defaultCommandActiveTitlebar2())
+@@ -679,6 +680,15 @@ void Options::setWindowsBlockCompositing(bool value)
+     emit windowsBlockCompositingChanged();
+ }
+ 
++void Options::setMoveMinimizedWindowsToEndOfTabBoxFocusChain(bool value)
++{
++    if (m_MoveMinimizedWindowsToEndOfTabBoxFocusChain == value) {
++        return;
++    }
++    m_MoveMinimizedWindowsToEndOfTabBoxFocusChain = value;
++
++}
++
+ void Options::setGlPreferBufferSwap(char glPreferBufferSwap)
+ {
+     if (glPreferBufferSwap == 'a') {
+@@ -849,6 +859,7 @@ void Options::syncFromKcfgc()
+     setElectricBorderTiling(m_settings->electricBorderTiling());
+     setElectricBorderCornerRatio(m_settings->electricBorderCornerRatio());
+     setWindowsBlockCompositing(m_settings->windowsBlockCompositing());
++    setMoveMinimizedWindowsToEndOfTabBoxFocusChain(m_settings->moveMinimizedWindowsToEndOfTabBoxFocusChain());
+ 
+ }
+ 
+diff --git a/options.h b/options.h
+index 6d72017d3..0834f314e 100644
+--- a/options.h
++++ b/options.h
+@@ -590,6 +590,10 @@ public:
+         return m_windowsBlockCompositing;
+     }
+ 
++    bool moveMinimizedWindowsToEndOfTabBoxFocusChain() const {
++        return m_MoveMinimizedWindowsToEndOfTabBoxFocusChain;
++    }
++
+     QStringList modifierOnlyDBusShortcut(Qt::KeyboardModifier mod) const;
+ 
+     // setters
+@@ -651,6 +655,7 @@ public:
+     void setGlPreferBufferSwap(char glPreferBufferSwap);
+     void setGlPlatformInterface(OpenGLPlatformInterface interface);
+     void setWindowsBlockCompositing(bool set);
++    void setMoveMinimizedWindowsToEndOfTabBoxFocusChain(bool set);
+ 
+     // default values
+     static WindowOperation defaultOperationTitlebarDblClick() {
+@@ -881,6 +886,7 @@ private:
+     GlSwapStrategy m_glPreferBufferSwap;
+     OpenGLPlatformInterface m_glPlatformInterface;
+     bool m_windowsBlockCompositing;
++    bool m_MoveMinimizedWindowsToEndOfTabBoxFocusChain;
+ 
+     WindowOperation OpTitlebarDblClick;
+     WindowOperation opMaxButtonRightClick = defaultOperationMaxButtonRightClick();
+-- 
+GitLab

diff --git a/kde-plasma/kwin/files/kwin-5.20.5-revert-new-focuschain-w-minimised.patch b/kde-plasma/kwin/files/kwin-5.20.5-revert-new-focuschain-w-minimised.patch
new file mode 100644
index 00000000000..7de71bf959c
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.20.5-revert-new-focuschain-w-minimised.patch
@@ -0,0 +1,65 @@
+From 75fded6f11ed645b0e25bf42b05fa57b8a675197 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Tue, 20 Oct 2020 14:05:33 -0600
+Subject: [PATCH] Revert "[focuschain/task switcher] Remove special handling
+ for minimized windows"
+
+This reverts commit cc862fa674d3407f516a89b8543acea04aa8b37d.
+
+It turns out that some people like this behavior and we've received
+various user complaints about it.
+---
+ abstract_client.cpp |  1 +
+ focuschain.cpp      | 12 +++++++++++-
+ focuschain.h        |  3 ++-
+ 3 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/abstract_client.cpp b/abstract_client.cpp
+index 35b7fcb61..e44da4725 100644
+--- a/abstract_client.cpp
++++ b/abstract_client.cpp
+@@ -703,6 +703,7 @@ void AbstractClient::minimize(bool avoid_animation)
+     doMinimize();
+ 
+     updateWindowRules(Rules::Minimize);
++    FocusChain::self()->update(this, FocusChain::MakeFirstMinimized);
+     // TODO: merge signal with s_minimized
+     addWorkspaceRepaint(visibleRect());
+     emit clientMinimized(this, !avoid_animation);
+diff --git a/focuschain.cpp b/focuschain.cpp
+index 66d209709..a68e6d3c6 100644
+--- a/focuschain.cpp
++++ b/focuschain.cpp
+@@ -227,7 +227,17 @@ AbstractClient *FocusChain::nextForDesktop(AbstractClient *reference, uint deskt
+ void FocusChain::makeFirstInChain(AbstractClient *client, Chain &chain)
+ {
+     chain.removeAll(client);
+-    chain.append(client);
++    if (client->isMinimized()) { // add it before the first minimized ...
++        for (int i = chain.count()-1; i >= 0; --i) {
++            if (chain.at(i)->isMinimized()) {
++                chain.insert(i+1, client);
++                return;
++            }
++        }
++        chain.prepend(client); // ... or at end of chain
++    } else {
++        chain.append(client);
++    }
+ }
+ 
+ void FocusChain::makeLastInChain(AbstractClient *client, Chain &chain)
+diff --git a/focuschain.h b/focuschain.h
+index 8baf3ea32..9a7c7e25d 100644
+--- a/focuschain.h
++++ b/focuschain.h
+@@ -41,7 +41,8 @@ class FocusChain : public QObject
+     enum Change {
+         MakeFirst,
+         MakeLast,
+-        Update
++        Update,
++        MakeFirstMinimized = MakeFirst
+     };
+     ~FocusChain() override;
+     /**

diff --git a/kde-plasma/kwin/kwin-5.20.5-r1.ebuild b/kde-plasma/kwin/kwin-5.20.5-r1.ebuild
new file mode 100644
index 00000000000..255808ff9f7
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.20.5-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+KFMIN=5.74.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.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 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="accessibility caps gles2-only multimedia screencast"
+
+RESTRICT+=" test"
+
+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
+	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}
+	>=dev-qt/designer-${QTMIN}:5
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	x11-base/xorg-proto
+"
+PDEPEND="
+	>=kde-plasma/kde-cli-tools-${PVCUT}:5
+"
+
+PATCHES=(
+	"${FILESDIR}/${P}-revert-new-focuschain-w-minimised.patch" # KDE-Bug 427840
+	"${FILESDIR}/${P}-keep-focuschain-behavior-w-minimised.patch" # Plasma/5.21
+)
+
+src_prepare() {
+	ecm_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-5.16.80-gstreamer-optional.patch"
+
+	# 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)
+	)
+
+	ecm_src_configure
+}
+
+pkg_postinst() {
+	ecm_pkg_postinst
+	elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
+	elog "windows to the end of the list was changed so that it remains in the"
+	elog "original order. To revert to the well established behavior:"
+	elog
+	elog " - Edit ~/.config/kwinrc"
+	elog " - Find [TabBox] section"
+	elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2020-06-07 21:00 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2020-06-07 21:00 UTC (permalink / raw
  To: gentoo-commits

commit:     f09d7e3ea5c53068dd33624ee49feac6f5ab8ce6
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  7 20:21:28 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jun  7 20:59:49 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f09d7e3e

kde-plasma/kwin: Fix the Plastik decoration with Qt 5.15

Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-plasma/kwin/files/kwin-5.18.5-qt-5.15.patch |  39 ++++++++
 kde-plasma/kwin/kwin-5.18.5-r3.ebuild           | 119 ++++++++++++++++++++++++
 2 files changed, 158 insertions(+)

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 00000000000..eb8f6617026
--- /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 00000000000..ed5d1d1f83c
--- /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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2020-06-01 10:13 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2020-06-01 10:13 UTC (permalink / raw
  To: gentoo-commits

commit:     6ea1782b800dc1a0320567860886460dd3857f35
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun  1 10:12:56 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jun  1 10:13:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ea1782b

kde-plasma/kwin: Fix build with upcoming mesa version

Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-plasma/kwin/files/kwin-5.18.5-mesa-21.patch | 193 ++++++++++++++++++++++++
 kde-plasma/kwin/kwin-5.18.5-r2.ebuild           | 118 +++++++++++++++
 2 files changed, 311 insertions(+)

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 00000000000..dc87b404548
--- /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/kwin-5.18.5-r2.ebuild b/kde-plasma/kwin/kwin-5.18.5-r2.ebuild
new file mode 100644
index 00000000000..ca3ce65cfd4
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.18.5-r2.ebuild
@@ -0,0 +1,118 @@
+# 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
+	"${FILESDIR}/${P}-mesa-21.patch" # KDE-bug 422131
+)
+
+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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2019-12-17 23:49 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2019-12-17 23:49 UTC (permalink / raw
  To: gentoo-commits

commit:     4c69321d140593a2dd786a6bef5c8cafffa8741f
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 21:47:30 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 23:48:40 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c69321d

kde-plasma/kwin: Possible fix for KDecoration crash in systemsettings

KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=411166
Package-Manager: Portage-2.3.82, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 ...sible-kdecoration-crash-in-systemsettings.patch |  58 +++++++++++
 kde-plasma/kwin/kwin-5.17.4-r1.ebuild              | 111 +++++++++++++++++++++
 2 files changed, 169 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.17.4-possible-kdecoration-crash-in-systemsettings.patch b/kde-plasma/kwin/files/kwin-5.17.4-possible-kdecoration-crash-in-systemsettings.patch
new file mode 100644
index 00000000000..b738fd7b013
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.17.4-possible-kdecoration-crash-in-systemsettings.patch
@@ -0,0 +1,58 @@
+From 1a13015d2d1de3ffb9450143480e729057992c45 Mon Sep 17 00:00:00 2001
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Sat, 14 Dec 2019 16:08:16 +0100
+Subject: Possible fix for KDecoration crash in systemsettings
+
+Summary:
+I could never reproduce the crash, but we know from gdb that it's from
+the decorationSettings object
+
+We are setting the same QObject instance as a context property in
+multiple contexts at once. This is already slightly odd especially from the POV of
+Qt's internal property cache.
+
+Given we want one object to be exposed to all contexts, we can expose it
+to the parent context only once and achieve the same result in a simpler
+way.
+
+BUG: 411166
+
+Test Plan:
+Verified opening and closing system settings still worked for me.
+I could never reproduce the original crash.
+
+Reviewers: #kwin, ngraham
+
+Reviewed By: ngraham
+
+Subscribers: ngraham, apol, kwin
+
+Tags: #kwin
+
+Differential Revision: https://phabricator.kde.org/D25913
+---
+ plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp b/plugins/kdecorations/aurorae/src/aurorae.cpp
+index f3ad059..c37f00e 100644
+--- a/plugins/kdecorations/aurorae/src/aurorae.cpp
++++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
+@@ -262,6 +262,7 @@ Decoration::Decoration(QObject *parent, const QVariantList &args)
+ {
+     m_themeName = findTheme(args);
+     Helper::instance().ref();
++    Helper::instance().rootContext()->setContextProperty(QStringLiteral("decorationSettings"), settings().data());
+ }
+ 
+ Decoration::~Decoration()
+@@ -289,7 +290,6 @@ void Decoration::init()
+ 
+     m_qmlContext = new QQmlContext(Helper::instance().rootContext(), this);
+     m_qmlContext->setContextProperty(QStringLiteral("decoration"), this);
+-    m_qmlContext->setContextProperty(QStringLiteral("decorationSettings"), s.data());
+     auto component = Helper::instance().component(m_themeName);
+     if (!component) {
+         return;
+-- 
+cgit v1.1

diff --git a/kde-plasma/kwin/kwin-5.17.4-r1.ebuild b/kde-plasma/kwin/kwin-5.17.4-r1.ebuild
new file mode 100644
index 00000000000..c3c1312bc8d
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.17.4-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_HANDBOOK="optional"
+ECM_TEST="optional"
+VIRTUALX_REQUIRED="test"
+KFMIN=5.64.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.12.3
+inherit ecm kde.org
+
+DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
+LICENSE="GPL-2+"
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="caps gles2 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=]
+	>=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,gles2?,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 )
+"
+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=( "${FILESDIR}"/${P}-possible-kdecoration-crash-in-systemsettings.patch )
+
+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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2018-11-18  0:17 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2018-11-18  0:17 UTC (permalink / raw
  To: gentoo-commits

commit:     dd923de0e1dd632d52ebaaab703ddbbfa7e8ba21
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 17 23:45:16 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Nov 18 00:16:44 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd923de0

kde-plasma/kwin: Initialize kcrash for xclipboardsync

Package-Manager: Portage-2.3.51, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kwin/files/kwin-5.14.3-kcrash-init.patch       | 48 ++++++++++++++++++++++
 kde-plasma/kwin/kwin-5.14.3-r1.ebuild              |  5 ++-
 2 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch b/kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch
new file mode 100644
index 00000000000..fc9c3007f84
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch
@@ -0,0 +1,48 @@
+From aace9b1675819feab81d50f694391c7d854d9822 Mon Sep 17 00:00:00 2001
+From: Harald Sitter <sitter@kde.org>
+Date: Fri, 16 Nov 2018 12:50:53 +0100
+Subject: actually initialize kcrash for xclipboardsync
+
+Summary:
+to successfully use kcrash when linking with as-needed (which is a default
+flag on many linux distros) one also needs to call KCrash::initialize.
+
+https://markmail.org/thread/zv5pheijaze72bzs
+
+Test Plan: builds; correctly links kcrash
+
+Reviewers: davidedmundson
+
+Reviewed By: davidedmundson
+
+Subscribers: kwin
+
+Tags: #kwin
+
+Differential Revision: https://phabricator.kde.org/D16923
+---
+ helpers/xclipboardsync/main.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/helpers/xclipboardsync/main.cpp b/helpers/xclipboardsync/main.cpp
+index 2f06e9c..1a5e5ee 100644
+--- a/helpers/xclipboardsync/main.cpp
++++ b/helpers/xclipboardsync/main.cpp
+@@ -19,6 +19,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *********************************************************************/
+ #include "waylandclipboard.h"
+ 
++#include <KCrash>
+ #include <QGuiApplication>
+ 
+ #include <config-kwin.h>
+@@ -40,6 +41,7 @@ int main(int argc, char *argv[])
+                 argv[0], qPrintable(app.platformName()));
+         return 1;
+     }
++    KCrash::initialize();
+     new WaylandClipboard(&app);
+     return app.exec();
+ }
+-- 
+cgit v0.11.2

diff --git a/kde-plasma/kwin/kwin-5.14.3-r1.ebuild b/kde-plasma/kwin/kwin-5.14.3-r1.ebuild
index a2ab760c9be..c74288ae8cb 100644
--- a/kde-plasma/kwin/kwin-5.14.3-r1.ebuild
+++ b/kde-plasma/kwin/kwin-5.14.3-r1.ebuild
@@ -89,8 +89,9 @@ PDEPEND="
 RESTRICT+=" test"
 
 PATCHES=(
-	"${FILESDIR}/${PN}-5.14.3-virtualdesktop-crash.patch"
-	"${FILESDIR}/${PN}-5.14.3-resizewindows-crash.patch"
+	"${FILESDIR}/${P}-virtualdesktop-crash.patch"
+	"${FILESDIR}/${P}-resizewindows-crash.patch"
+	"${FILESDIR}/${P}-kcrash-init.patch"
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2017-07-27 17:46 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2017-07-27 17:46 UTC (permalink / raw
  To: gentoo-commits

commit:     e15789b6d8c953641e9181fcbfdb869f28b2b8f1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 27 16:39:57 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 27 17:45:56 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e15789b6

kde-plasma/kwin: Backport possible fix for bugs on X11 like #616592

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 .../kwin/files/kwin-5.10.4-globalaccel.patch       | 45 ++++++++++
 kde-plasma/kwin/kwin-5.10.4-r1.ebuild              | 98 ++++++++++++++++++++++
 2 files changed, 143 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.10.4-globalaccel.patch b/kde-plasma/kwin/files/kwin-5.10.4-globalaccel.patch
new file mode 100644
index 00000000000..88d373c1dde
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.10.4-globalaccel.patch
@@ -0,0 +1,45 @@
+From 4c996a57d4c01f092f9ed8f98a9f476c14c0c777 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= <mgraesslin@kde.org>
+Date: Thu, 20 Jul 2017 19:14:07 +0200
+Subject: Call Platform::setupActionForGlobalAccel on the Client shortcut
+
+Summary:
+Platform::setupActionForGlobalAccel is an important call on X11 platform.
+Without the x11 timestamp doesn't get updated and calls in KWin might
+fail - e.g. the activation of the Client which is supposed to happen.
+
+Test Plan: compiles
+
+Reviewers: #kwin, #plasma
+
+Subscribers: plasma-devel, kwin
+
+Tags: #kwin
+
+Differential Revision: https://phabricator.kde.org/D6802
+---
+ useractions.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/useractions.cpp b/useractions.cpp
+index 502be96..d92b027 100644
+--- a/useractions.cpp
++++ b/useractions.cpp
+@@ -37,6 +37,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #include "input.h"
+ #include "workspace.h"
+ #include "effects.h"
++#include "platform.h"
+ #include "screens.h"
+ #include "virtualdesktops.h"
+ #include "scripting/scripting.h"
+@@ -1050,6 +1051,7 @@ void Workspace::clientShortcutUpdated(Client* c)
+     if (!c->shortcut().isEmpty()) {
+         if (action == NULL) { // new shortcut
+             action = new QAction(this);
++            kwinApp()->platform()->setupActionForGlobalAccel(action);
+             action->setProperty("componentName", QStringLiteral(KWIN_NAME));
+             action->setObjectName(key);
+             action->setText(i18n("Activate Window (%1)", c->caption()));
+-- 
+cgit v0.11.2

diff --git a/kde-plasma/kwin/kwin-5.10.4-r1.ebuild b/kde-plasma/kwin/kwin-5.10.4-r1.ebuild
new file mode 100644
index 00000000000..5dd83a93812
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.10.4-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_HANDBOOK="optional"
+KDE_TEST="optional"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="KDE window manager"
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="gles2 multimedia"
+
+COMMON_DEPEND="
+	$(add_frameworks_dep kactivities)
+	$(add_frameworks_dep kauth)
+	$(add_frameworks_dep kcmutils)
+	$(add_frameworks_dep kcompletion)
+	$(add_frameworks_dep kconfig)
+	$(add_frameworks_dep kconfigwidgets)
+	$(add_frameworks_dep kcoreaddons)
+	$(add_frameworks_dep kcrash)
+	$(add_frameworks_dep kdeclarative)
+	$(add_frameworks_dep kglobalaccel)
+	$(add_frameworks_dep ki18n)
+	$(add_frameworks_dep kiconthemes)
+	$(add_frameworks_dep kidletime)
+	$(add_frameworks_dep kinit)
+	$(add_frameworks_dep kio)
+	$(add_frameworks_dep knewstuff)
+	$(add_frameworks_dep knotifications)
+	$(add_frameworks_dep kpackage)
+	$(add_frameworks_dep kservice)
+	$(add_frameworks_dep kwayland)
+	$(add_frameworks_dep kwidgetsaddons)
+	$(add_frameworks_dep kwindowsystem X)
+	$(add_frameworks_dep kxmlgui)
+	$(add_frameworks_dep plasma)
+	$(add_plasma_dep breeze)
+	$(add_plasma_dep kdecoration)
+	$(add_plasma_dep kscreenlocker)
+	$(add_qt_dep qtcore)
+	$(add_qt_dep qtdbus)
+	$(add_qt_dep qtdeclarative)
+	$(add_qt_dep qtgui 'gles2=')
+	$(add_qt_dep qtscript)
+	$(add_qt_dep qtwidgets)
+	$(add_qt_dep qtx11extras)
+	>=dev-libs/libinput-1.5
+	>=dev-libs/wayland-1.2
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/libepoxy
+	media-libs/mesa[egl,gbm,gles2?,wayland]
+	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
+"
+RDEPEND="${COMMON_DEPEND}
+	$(add_plasma_dep kde-cli-tools)
+	multimedia? (
+		|| (
+			$(add_qt_dep qtmultimedia 'gstreamer,qml')
+			$(add_qt_dep qtmultimedia 'gstreamer010,qml')
+		)
+	)
+	!<kde-apps/kdeartwork-meta-15.08.3-r1:4
+	!kde-plasma/kwin:4
+	!kde-plasma/systemsettings:4
+"
+DEPEND="${COMMON_DEPEND}
+	$(add_qt_dep designer)
+	$(add_qt_dep qtconcurrent)
+	x11-proto/xproto
+	test? (	x11-libs/xcb-util-wm )
+"
+
+RESTRICT+=" test"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.8.7-glibc-sysmacros.patch"
+	"${FILESDIR}/${P}-globalaccel.patch"
+)
+
+src_prepare() {
+	kde5_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2017-04-15 15:11 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2017-04-15 15:11 UTC (permalink / raw
  To: gentoo-commits

commit:     301c2e6d2d322f3f38377fe20f94d55c849a5f37
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 15 12:11:35 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 15 15:11:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=301c2e6d

kde-plasma/kwin: Do not write GLPlatformInterface config

Changing compositor settings in Wayland shall not break X11 sessions.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 kde-plasma/kwin/files/kwin-5.9.4-glconfig.patch | 37 +++++++++++++++++++++++++
 kde-plasma/kwin/kwin-5.9.4-r1.ebuild            |  5 +++-
 2 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/kde-plasma/kwin/files/kwin-5.9.4-glconfig.patch b/kde-plasma/kwin/files/kwin-5.9.4-glconfig.patch
new file mode 100644
index 00000000000..90a746e8f28
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.9.4-glconfig.patch
@@ -0,0 +1,37 @@
+commit a936516107579df13362f6d2d6f91f26a447d6dd
+Author: Martin Gräßlin <mgraesslin@kde.org>
+Date:   Mon Apr 3 06:53:05 2017 +0200
+
+    [kcmkwin/compositing] Do not write GLPlatformInterface config
+    
+    Summary:
+    The gui element to select the platform interface is dropped. Thus we
+    should not store the config for it. This is rather important as changing
+    compositor settings on Wayland would result in egl being written into the
+    config which potentially breaks an X11 session.
+    
+    BUG: 378114
+    
+    Reviewers: #kwin, #plasma
+    
+    Subscribers: plasma-devel, kwin
+    
+    Tags: #kwin
+    
+    Differential Revision: https://phabricator.kde.org/D5285
+
+diff --git a/kcmkwin/kwincompositing/compositing.cpp b/kcmkwin/kwincompositing/compositing.cpp
+index c1cddb89d..102dfd18c 100644
+--- a/kcmkwin/kwincompositing/compositing.cpp
++++ b/kcmkwin/kwincompositing/compositing.cpp
+@@ -309,10 +309,6 @@ void Compositing::save()
+     }
+     kwinConfig.writeEntry("Backend", backend);
+     kwinConfig.writeEntry("GLCore", glCore);
+-    const QModelIndex glIndex = m_openGLPlatformInterfaceModel->index(m_openGLPlatformInterface);
+-    if (glIndex.isValid()) {
+-        kwinConfig.writeEntry("GLPlatformInterface", glIndex.data(Qt::UserRole).toString());
+-    }
+     if (!compositingRequired()) {
+         kwinConfig.writeEntry("WindowsBlockCompositing", windowsBlockCompositing());
+     }

diff --git a/kde-plasma/kwin/kwin-5.9.4-r1.ebuild b/kde-plasma/kwin/kwin-5.9.4-r1.ebuild
index dad7f6668cc..545e43d5dfe 100644
--- a/kde-plasma/kwin/kwin-5.9.4-r1.ebuild
+++ b/kde-plasma/kwin/kwin-5.9.4-r1.ebuild
@@ -88,7 +88,10 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
-PATCHES=( "${FILESDIR}/${PN}-5.8.6-libdrm-2.4.78.patch" )
+PATCHES=(
+	"${FILESDIR}/${PN}-5.8.6-libdrm-2.4.78.patch"
+	"${FILESDIR}/${P}-glconfig.patch"
+)
 
 src_prepare() {
 	kde5_src_prepare


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2017-04-15 15:11 Andreas Sturmlechner
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Sturmlechner @ 2017-04-15 15:11 UTC (permalink / raw
  To: gentoo-commits

commit:     4ae95666e06fc33441a1bc2dbbba71b1e8f1eec2
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 15 12:06:09 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 15 15:11:21 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ae95666

kde-plasma/kwin: Fix build against >=x11-libs/libdrm-2.4.78

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 .../kwin/files/kwin-5.8.6-libdrm-2.4.78.patch      | 44 ++++++++++++++++++++++
 kde-plasma/kwin/kwin-5.8.6.ebuild                  |  2 +
 .../{kwin-5.8.6.ebuild => kwin-5.9.4-r1.ebuild}    |  9 +++--
 3 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch b/kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch
new file mode 100644
index 00000000000..663ad8c7495
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.8.6-libdrm-2.4.78.patch
@@ -0,0 +1,44 @@
+commit 4ca3d0d94370002430b5131520a11c06b23bdcaa
+Author: Martin Gräßlin <mgraesslin@kde.org>
+Date:   Mon Apr 10 06:52:44 2017 +0200
+
+    [platforms/drm] Explicitly request event context version 2
+    
+    Summary:
+    Libdrm 2.4.78 introduces a version 2 and if KWin gets built against it
+    our code would break. Given that this change is for Plasma/5.8 branch.
+    
+    Closes T5839
+    
+    Reviewers: #kwin, #plasma
+    
+    Subscribers: plasma-devel, kwin
+    
+    Tags: #kwin
+    
+    Maniphest Tasks: T5839
+    
+    Differential Revision: https://phabricator.kde.org/D5380
+
+diff --git a/plugins/platforms/drm/drm_backend.cpp b/plugins/platforms/drm/drm_backend.cpp
+index dc2b79696..9e9cb60e1 100644
+--- a/plugins/platforms/drm/drm_backend.cpp
++++ b/plugins/platforms/drm/drm_backend.cpp
+@@ -61,6 +61,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #define DRM_CAP_CURSOR_HEIGHT 0x9
+ #endif
+ 
++#define KWIN_DRM_EVENT_CONTEXT_VERSION 2
++
+ namespace KWin
+ {
+ 
+@@ -240,7 +242,7 @@ void DrmBackend::openDrm()
+             }
+             drmEventContext e;
+             memset(&e, 0, sizeof e);
+-            e.version = DRM_EVENT_CONTEXT_VERSION;
++            e.version = KWIN_DRM_EVENT_CONTEXT_VERSION;
+             e.page_flip_handler = pageFlipHandler;
+             drmHandleEvent(m_fd, &e);
+         }

diff --git a/kde-plasma/kwin/kwin-5.8.6.ebuild b/kde-plasma/kwin/kwin-5.8.6.ebuild
index ce1a94ff34b..269401e31b4 100644
--- a/kde-plasma/kwin/kwin-5.8.6.ebuild
+++ b/kde-plasma/kwin/kwin-5.8.6.ebuild
@@ -89,6 +89,8 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
+PATCHES=( "${FILESDIR}/${P}-libdrm-2.4.78.patch" )
+
 src_prepare() {
 	kde5_src_prepare
 	use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"

diff --git a/kde-plasma/kwin/kwin-5.8.6.ebuild b/kde-plasma/kwin/kwin-5.9.4-r1.ebuild
similarity index 94%
copy from kde-plasma/kwin/kwin-5.8.6.ebuild
copy to kde-plasma/kwin/kwin-5.9.4-r1.ebuild
index ce1a94ff34b..dad7f6668cc 100644
--- a/kde-plasma/kwin/kwin-5.8.6.ebuild
+++ b/kde-plasma/kwin/kwin-5.9.4-r1.ebuild
@@ -3,7 +3,6 @@
 
 EAPI=6
 
-KDE_GCC_MINIMAL="4.8"
 KDE_HANDBOOK="optional"
 KDE_TEST="optional"
 VIRTUALX_REQUIRED="test"
@@ -11,7 +10,7 @@ inherit kde5
 
 DESCRIPTION="KDE window manager"
 LICENSE="GPL-2+"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="~amd64 ~arm ~x86"
 IUSE="gles2 multimedia"
 
 # drop qtcore subslot operator when QT_MINIMAL >= 5.7.0
@@ -50,7 +49,7 @@ COMMON_DEPEND="
 	$(add_qt_dep qtscript)
 	$(add_qt_dep qtwidgets)
 	$(add_qt_dep qtx11extras)
-	>=dev-libs/libinput-1.2
+	>=dev-libs/libinput-1.5
 	>=dev-libs/wayland-1.2
 	media-libs/fontconfig
 	media-libs/freetype
@@ -63,7 +62,7 @@ COMMON_DEPEND="
 	x11-libs/libXi
 	x11-libs/libdrm
 	>=x11-libs/libxcb-1.10
-	>=x11-libs/libxkbcommon-0.5.0
+	>=x11-libs/libxkbcommon-0.7.0
 	x11-libs/xcb-util-cursor
 	x11-libs/xcb-util-image
 	x11-libs/xcb-util-keysyms
@@ -89,6 +88,8 @@ DEPEND="${COMMON_DEPEND}
 
 RESTRICT+=" test"
 
+PATCHES=( "${FILESDIR}/${PN}-5.8.6-libdrm-2.4.78.patch" )
+
 src_prepare() {
 	kde5_src_prepare
 	use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/
@ 2016-06-26 20:36 Michael Palimaka
  0 siblings, 0 replies; 21+ messages in thread
From: Michael Palimaka @ 2016-06-26 20:36 UTC (permalink / raw
  To: gentoo-commits

commit:     fabb3f9f1de7d866981f7be223b254f4040f7015
Author:     Andreas Sturmlechner <andreas.sturmlechner <AT> gmail <DOT> com>
AuthorDate: Sun Jun 26 20:09:20 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sun Jun 26 20:36:30 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fabb3f9f

kde-plasma/kwin: Add back saving/loading/client matching by WM_COMMAND

Upstream dropped it in 5.6 but later found out it was still in use by
Mozilla applications et al., thus reverted in Plasma/5.6 branch but
only after 5.6.5 release.

Package-Manager: portage-2.2.28

 .../files/kwin-5.6.5-legacy-session-mgmt.patch     | 140 +++++++++++++++++++++
 kde-plasma/kwin/kwin-5.6.5-r1.ebuild               |  99 +++++++++++++++
 2 files changed, 239 insertions(+)

diff --git a/kde-plasma/kwin/files/kwin-5.6.5-legacy-session-mgmt.patch b/kde-plasma/kwin/files/kwin-5.6.5-legacy-session-mgmt.patch
new file mode 100644
index 0000000..067124a
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.6.5-legacy-session-mgmt.patch
@@ -0,0 +1,140 @@
+commit 59740e7416bb2b3a9852212fa4b213e5ba76deb7
+Author: Andreas Hartmetz <ahartmetz@gmail.com>
+Date:   Thu Jun 23 19:40:40 2016 +0200
+
+    Revert "Remove saving and loading (and client matching by) WM_COMMAND."
+    
+    This reverts commit 2eac7634cc524bf5e425cf081a639a6b6407e380.
+    
+    CCBUG: 362671
+
+diff --git a/activities.cpp b/activities.cpp
+index 25eb1c1..42c5db8 100644
+--- a/activities.cpp
++++ b/activities.cpp
+@@ -169,7 +169,7 @@ void Activities::reallyStop(const QString &id)
+         const Client* c = (*it);
+         const QByteArray sessionId = c->sessionId();
+         if (sessionId.isEmpty()) {
+-            continue;
++            continue; //TODO support old wm_command apps too?
+         }
+ 
+         //qDebug() << sessionId;
+diff --git a/sm.cpp b/sm.cpp
+index 08810a4..ca1edea 100644
+--- a/sm.cpp
++++ b/sm.cpp
+@@ -109,8 +109,12 @@ void Workspace::storeSession(KConfig* config, SMSavePhase phase)
+     for (ClientList::Iterator it = clients.begin(); it != clients.end(); ++it) {
+         Client* c = (*it);
+         QByteArray sessionId = c->sessionId();
++        QByteArray wmCommand = c->wmCommand();
+         if (sessionId.isEmpty())
+-            continue;
++            // remember also applications that are not XSMP capable
++            // and use the obsolete WM_COMMAND / WM_SAVE_YOURSELF
++            if (wmCommand.isEmpty())
++                continue;
+         count++;
+         if (c->isActive())
+             active_client = count;
+@@ -140,6 +144,7 @@ void Workspace::storeClient(KConfigGroup &cg, int num, Client *c)
+     QString n = QString::number(num);
+     cg.writeEntry(QLatin1String("sessionId") + n, c->sessionId().constData());
+     cg.writeEntry(QLatin1String("windowRole") + n, c->windowRole().constData());
++    cg.writeEntry(QLatin1String("wmCommand") + n, c->wmCommand().constData());
+     cg.writeEntry(QLatin1String("resourceName") + n, c->resourceName().constData());
+     cg.writeEntry(QLatin1String("resourceClass") + n, c->resourceClass().constData());
+     cg.writeEntry(QLatin1String("geometry") + n, QRect(c->calculateGravitation(true), c->clientSize()));   // FRAME
+@@ -180,8 +185,12 @@ void Workspace::storeSubSession(const QString &name, QSet<QByteArray> sessionIds
+     for (ClientList::Iterator it = clients.begin(); it != clients.end(); ++it) {
+         Client* c = (*it);
+         QByteArray sessionId = c->sessionId();
++        QByteArray wmCommand = c->wmCommand();
+         if (sessionId.isEmpty())
+-            continue;
++            // remember also applications that are not XSMP capable
++            // and use the obsolete WM_COMMAND / WM_SAVE_YOURSELF
++            if (wmCommand.isEmpty())
++                continue;
+         if (!sessionIds.contains(sessionId))
+             continue;
+ 
+@@ -221,6 +230,7 @@ void Workspace::addSessionInfo(KConfigGroup &cg)
+         session.append(info);
+         info->sessionId = cg.readEntry(QLatin1String("sessionId") + n, QString()).toLatin1();
+         info->windowRole = cg.readEntry(QLatin1String("windowRole") + n, QString()).toLatin1();
++        info->wmCommand = cg.readEntry(QLatin1String("wmCommand") + n, QString()).toLatin1();
+         info->resourceName = cg.readEntry(QLatin1String("resourceName") + n, QString()).toLatin1();
+         info->resourceClass = cg.readEntry(QLatin1String("resourceClass") + n, QString()).toLower().toLatin1();
+         info->geometry = cg.readEntry(QLatin1String("geometry") + n, QRect());
+@@ -269,6 +279,7 @@ SessionInfo* Workspace::takeSessionInfo(Client* c)
+     SessionInfo *realInfo = 0;
+     QByteArray sessionId = c->sessionId();
+     QByteArray windowRole = c->windowRole();
++    QByteArray wmCommand = c->wmCommand();
+     QByteArray resourceName = c->resourceName();
+     QByteArray resourceClass = c->resourceClass();
+ 
+@@ -302,8 +313,10 @@ SessionInfo* Workspace::takeSessionInfo(Client* c)
+             if (info->resourceName == resourceName
+                     && info->resourceClass == resourceClass
+                     && sessionInfoWindowTypeMatch(c, info)) {
+-                realInfo = info;
+-                session.removeAll(info);
++                if (wmCommand.isEmpty() || info->wmCommand == wmCommand) {
++                    realInfo = info;
++                    session.removeAll(info);
++                }
+             }
+         }
+     }
+diff --git a/sm.h b/sm.h
+index 4c5fda6..529187d 100644
+--- a/sm.h
++++ b/sm.h
+@@ -41,6 +41,7 @@ class Client;
+ struct SessionInfo {
+     QByteArray sessionId;
+     QByteArray windowRole;
++    QByteArray wmCommand;
+     QByteArray wmClientMachine;
+     QByteArray resourceName;
+     QByteArray resourceClass;
+diff --git a/toplevel.cpp b/toplevel.cpp
+index af368b5..4a7ec6d 100644
+--- a/toplevel.cpp
++++ b/toplevel.cpp
+@@ -177,6 +177,19 @@ QByteArray Toplevel::sessionId() const
+     return result;
+ }
+ 
++/*!
++  Returns command property for this client,
++  taken either from its window or from the leader window.
++ */
++QByteArray Toplevel::wmCommand()
++{
++    QByteArray result = Xcb::StringProperty(window(), XCB_ATOM_WM_COMMAND);
++    if (result.isEmpty() && wmClientLeaderWin && wmClientLeaderWin != window())
++        result = Xcb::StringProperty(wmClientLeaderWin, XCB_ATOM_WM_COMMAND);
++    result.replace(0, ' ');
++    return result;
++}
++
+ void Toplevel::getWmClientMachine()
+ {
+     m_clientMachine->resolve(window(), wmClientLeader());
+diff --git a/toplevel.h b/toplevel.h
+index 3133851..91eee5f 100644
+--- a/toplevel.h
++++ b/toplevel.h
+@@ -274,6 +274,7 @@ public:
+     QByteArray sessionId() const;
+     QByteArray resourceName() const;
+     QByteArray resourceClass() const;
++    QByteArray wmCommand();
+     QByteArray wmClientMachine(bool use_localhost) const;
+     const ClientMachine *clientMachine() const;
+     Window wmClientLeader() const;

diff --git a/kde-plasma/kwin/kwin-5.6.5-r1.ebuild b/kde-plasma/kwin/kwin-5.6.5-r1.ebuild
new file mode 100644
index 0000000..2f12148
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.6.5-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+KDE_HANDBOOK="optional"
+KDE_TEST="optional"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+DESCRIPTION="KDE window manager"
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="gles2 multimedia"
+
+# drop qtcore subslot operator when QT_MINIMAL >= 5.7.0
+COMMON_DEPEND="
+	$(add_frameworks_dep kactivities)
+	$(add_frameworks_dep kauth)
+	$(add_frameworks_dep kcmutils)
+	$(add_frameworks_dep kcompletion)
+	$(add_frameworks_dep kconfig)
+	$(add_frameworks_dep kconfigwidgets)
+	$(add_frameworks_dep kcoreaddons)
+	$(add_frameworks_dep kcrash)
+	$(add_frameworks_dep kdeclarative)
+	$(add_frameworks_dep kglobalaccel)
+	$(add_frameworks_dep ki18n)
+	$(add_frameworks_dep kiconthemes)
+	$(add_frameworks_dep kidletime)
+	$(add_frameworks_dep kinit)
+	$(add_frameworks_dep kio)
+	$(add_frameworks_dep knewstuff)
+	$(add_frameworks_dep knotifications)
+	$(add_frameworks_dep kpackage)
+	$(add_frameworks_dep kservice)
+	$(add_frameworks_dep kwayland)
+	$(add_frameworks_dep kwidgetsaddons)
+	$(add_frameworks_dep kwindowsystem X)
+	$(add_frameworks_dep kxmlgui)
+	$(add_frameworks_dep plasma)
+	$(add_plasma_dep kdecoration)
+	$(add_plasma_dep kscreenlocker)
+	$(add_qt_dep qtcore '' '' '5=')
+	$(add_qt_dep qtdbus)
+	$(add_qt_dep qtdeclarative)
+	$(add_qt_dep qtgui 'gles2=,opengl(+)')
+	$(add_qt_dep qtscript)
+	$(add_qt_dep qtwidgets)
+	$(add_qt_dep qtx11extras)
+	>=dev-libs/libinput-0.10
+	>=dev-libs/wayland-1.2
+	media-libs/fontconfig
+	media-libs/freetype
+	media-libs/libepoxy
+	media-libs/mesa[egl,gbm,gles2?,wayland]
+	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.4.1
+	x11-libs/xcb-util-cursor
+	x11-libs/xcb-util-image
+	x11-libs/xcb-util-keysyms
+"
+RDEPEND="${COMMON_DEPEND}
+	$(add_plasma_dep kde-cli-tools)
+	multimedia? (
+		|| (
+			$(add_qt_dep qtmultimedia 'gstreamer,qml')
+			$(add_qt_dep qtmultimedia 'gstreamer010,qml')
+		)
+	)
+	!<kde-apps/kdeartwork-meta-15.08.3-r1:4
+	!kde-base/kwin:4
+	!kde-base/systemsettings:4
+"
+DEPEND="${COMMON_DEPEND}
+	$(add_qt_dep designer)
+	$(add_qt_dep qtconcurrent)
+	x11-proto/xproto
+	test? (	x11-libs/xcb-util-wm )
+"
+
+RESTRICT="test"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-5.6.3-glibc-sysmacros.patch"
+	"${FILESDIR}/${PN}-5.6.5-legacy-session-mgmt.patch" # backport in 5.6 after release
+)
+
+src_prepare() {
+	kde5_src_prepare
+	use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-06-13  0:46 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-07 20:58 [gentoo-commits] repo/gentoo:master commit in: kde-plasma/kwin/, kde-plasma/kwin/files/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2024-06-13  0:46 Sam James
2024-03-13 21:17 Andreas Sturmlechner
2023-12-16  9:10 Andreas Sturmlechner
2023-09-30 10:00 Andreas Sturmlechner
2023-09-20 13:15 Andreas Sturmlechner
2023-05-12 20:42 Andreas Sturmlechner
2022-07-26 12:08 Andreas Sturmlechner
2021-12-10 14:58 Andreas Sturmlechner
2021-11-23 14:59 Andreas Sturmlechner
2021-09-21 18:44 Andreas Sturmlechner
2021-09-14  9:04 Andreas Sturmlechner
2021-01-23  0:25 Andreas Sturmlechner
2020-06-07 21:00 Andreas Sturmlechner
2020-06-01 10:13 Andreas Sturmlechner
2019-12-17 23:49 Andreas Sturmlechner
2018-11-18  0:17 Andreas Sturmlechner
2017-07-27 17:46 Andreas Sturmlechner
2017-04-15 15:11 Andreas Sturmlechner
2017-04-15 15:11 Andreas Sturmlechner
2016-06-26 20:36 Michael Palimaka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox