summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-02-14 06:07:27 -0500
committerIonen Wolkens <ionen@gentoo.org>2024-02-14 07:22:12 -0500
commit011120d8fa117d6abf20558f180577c360e08b55 (patch)
tree7283efe7feb5bf78ebf3732b6224a2a2408b9db0 /dev-qt/qtwayland
parentdev-qt/qtvirtualkeyboard: add 6.6.2 (diff)
downloadgentoo-011120d8fa117d6abf20558f180577c360e08b55.tar.gz
gentoo-011120d8fa117d6abf20558f180577c360e08b55.tar.bz2
gentoo-011120d8fa117d6abf20558f180577c360e08b55.zip
dev-qt/qtwayland: add 6.6.2
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r--dev-qt/qtwayland/Manifest1
-rw-r--r--dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch30
-rw-r--r--dev-qt/qtwayland/qtwayland-6.6.2.ebuild51
3 files changed, 82 insertions, 0 deletions
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 <qt@david-redondo.de>
+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
+}