* [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
* [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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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-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-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-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/
@ 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/
@ 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/
@ 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/
@ 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-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-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/
@ 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/
@ 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
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