commit:     011120d8fa117d6abf20558f180577c360e08b55
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 14 11:07:27 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Feb 14 12:22:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=011120d8

dev-qt/qtwayland: add 6.6.2

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 dev-qt/qtwayland/Manifest                          |  1 +
 .../files/qtwayland-6.6.2-nvidia-threaded-gl.patch | 30 +++++++++++++
 dev-qt/qtwayland/qtwayland-6.6.2.ebuild            | 51 ++++++++++++++++++++++
 3 files changed, 82 insertions(+)

diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index 9514883c7b6a..92038f9ee118 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1,3 +1,4 @@
 DIST qtwayland-5.15.12-gentoo-kde-1.tar.xz 48548 BLAKE2B 
706547b35251116550b7d838df489f770a58140b2ece34e22cf5cd13929fa801d9a057a38f66a34c47321e1c0958049774928a68f859082ad3664acee0f1bb73
 SHA512 
756edb0657580c3d65d6e4bb74e3ab31c326f2f25bf501c2761e8b3e538287792955c91c0e57e32d8a04c31577546481673bdd14f1abdc2aa28513edba3a670e
 DIST qtwayland-everywhere-opensource-src-5.15.12.tar.xz 569180 BLAKE2B 
456b02d061ef6c57237463dd7b8387e4c6353648af0475a6ff6036ab2438417ecd3c60a8f3429aa52a98e9d213c0097fa3189602657611ae3657a2a520eb8c71
 SHA512 
acd78018665db3d0d77a84bb80ce7dbb65a33e0e813c3308e09a27195df204029b5e580f353eae2536e6fdde249aa34411e37f4f1663f7645448d96c9df67a66
 DIST qtwayland-everywhere-src-6.6.1.tar.xz 1127148 BLAKE2B 
8eb11f5f7f200a6d548577089732a533318d6120a7498dcb258183b5e0fd444541e03b59e730018cab15a612f8a31dd7b51275899271d62173eb1962a70198d3
 SHA512 
7f6533754daad7a2804ddddcd5139608c2b8f1ef92ae8a238c1ed4fc41c8a3ee532da0b2e57266d07d4d39d1ec6c83eca487c73788a108af30035b0dae262c76
+DIST qtwayland-everywhere-src-6.6.2.tar.xz 1118996 BLAKE2B 
db54b7708f01a7e4e59561eb209d9c0cd79400ec477603d826061f3c2cf6683dccbbb48e73dc7b5ebe674ef7c5b438fd75eccbd4bab9191219598f526e6b395f
 SHA512 
ed5539ac9515ba93822ee1dfdedd3ece46a51c50b23efd0fb90ead2728b651c41bec42a6e2e2caf72bda0f274940e9f00049bae42c1315e0226e4a42c708f664

diff --git a/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch 
b/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch
new file mode 100644
index 000000000000..f7f7607024c5
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch
@@ -0,0 +1,30 @@
+Backport from 6.6 branch which failed to make it in 6.6.2.
+
+https://bugreports.qt.io/browse/QTBUG-95817
+https://codereview.qt-project.org/c/qt/qtwayland/+/536732
+https://github.com/qt/qtwayland/commit/e4156bad6398dcbe8740041148d95ee9ed437d8b
+From: David Redondo <[email protected]>
+Date: Wed, 31 Jan 2024 09:01:48 +0100
+Subject: [PATCH] client: Disable threaded GL on desktop NVIDIA
+
+Otherwise QtQuick windows freeze when resized.
+In order to still use threaded rendering on
+embedded platforms where resizing is not required
+we check if XDG_CURRENT_DESKTOP which should be
+set by  desktop environments.
+--- 
a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
++++ 
b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
+@@ -92,6 +92,13 @@ void 
QWaylandEglClientBufferIntegration::initialize(QWaylandDisplay *display)
+             break;
+         }
+     }
++
++    // On desktop NVIDIA resizing QtQuick freezes them when using threaded 
rendering QTBUG-95817
++    // In order to support threaded rendering on embedded platforms where 
resizing is not needed
++    // we check if XDG_CURRENT_DESKTOP is set which desktop environments 
should set
++    if (qstrcmp(vendor, "NVIDIA") == 0 && 
qEnvironmentVariableIsSet("XDG_CURRENT_DESKTOP")) {
++        m_supportsThreading = false;
++    }
+ }
+ 
+ bool QWaylandEglClientBufferIntegration::isValid() const

diff --git a/dev-qt/qtwayland/qtwayland-6.6.2.ebuild 
b/dev-qt/qtwayland/qtwayland-6.6.2.ebuild
new file mode 100644
index 000000000000..26be2cc76c6e
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-6.6.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qt6-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT6_BUILD_TYPE} == release ]]; then
+       KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="compositor qml vulkan"
+
+RDEPEND="
+       dev-libs/wayland
+       ~dev-qt/qtbase-${PV}:6[gui,opengl,vulkan=]
+       media-libs/libglvnd
+       x11-libs/libxkbcommon
+       compositor? (
+               qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
+       )
+"
+DEPEND="
+       ${RDEPEND}
+       vulkan? ( dev-util/vulkan-headers )
+"
+BDEPEND="dev-util/wayland-scanner"
+
+CMAKE_SKIP_TESTS=(
+       # segfaults for not-looked-into reasons, but not considered
+       # an issue given >=seatv5 exists since wayland-1.10 (2016)
+       tst_seatv4
+       # needs a compositor/opengl, skip the extra trouble
+       tst_surface
+       tst_xdgdecorationv1
+)
+
+PATCHES=(
+       "${FILESDIR}"/${P}-nvidia-threaded-gl.patch
+)
+
+src_configure() {
+       local mycmakeargs=(
+               $(cmake_use_find_package qml Qt6Quick)
+               $(qt_feature compositor wayland_server)
+       )
+
+       qt6-build_src_configure
+}

Reply via email to