diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-12-10 15:20:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-12-10 15:20:44 +0000 |
commit | 177349fb1459039cc30cb8e3936af4117d038c16 (patch) | |
tree | 34c1bc161daefb8e152212dfba02b98da8a777a5 /dev-qt/qtwayland | |
parent | c15acf374d4b25ba5afcb52435da6090f2d98a20 (diff) |
gentoo auto-resync : 10:12:2022 - 15:20:44
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r-- | dev-qt/qtwayland/Manifest | 4 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch | 131 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch | 12 | ||||
-rw-r--r-- | dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild | 47 |
4 files changed, 49 insertions, 145 deletions
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest index 4d513d7797c2..62c7bbefc865 100644 --- a/dev-qt/qtwayland/Manifest +++ b/dev-qt/qtwayland/Manifest @@ -1,8 +1,8 @@ -AUX qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch 4691 BLAKE2B d817e7715759dfd6a6efc13b3b8e7742406b3af7cdf8602e134121b8d6e97e857dc82bb71e32c0ad04a04fc8f20443475bd5a251ab6eb0c83412a75201865561 SHA512 82ac704e0a57a0e6272676c329e29116a7ab4186c94a1e81fe4f503bf332b20b699930d86ff22e9a83e72be856a5711230f264a6d10991fd070601ab4e4fd67c -AUX qtwayland-5.15.3-clang.patch 405 BLAKE2B 914a7448f590cfd6e83ca32352070644bbb6c07bd794d6f86ff6346d4697f6734d4c61469f20fa27517cf14f4742df946dba1f20ac242ea50d8e712733e3c099 SHA512 41da7708a596eabbbf58baa2d081c6a870fd49ac5b284c094e7e3230df201ae29627de1470bc3a80aff3dd30166b51bf9fce53e3d6fda0f18b97452fda3cd467 DIST qtwayland-5.15.7-gentoo-kde-1.tar.xz 42912 BLAKE2B e616cdb5aef13b6350658de2d6922109b7d827536afce98d67f7b1936c91de7521a6b4f8997926334cb77e1009fd4e27e4e0aef5c78cf9ba5a6c964797d2b1e1 SHA512 23be3f4e1612a557f1eb0c17cb158897b48910e336765b6c2e06ed892b67f368dfd4ba916373bbed9d3650a1e1f39b3768db39632b4763ad103515b32a86c0c2 +DIST qtwayland-5.15.7-gentoo-kde-2.tar.xz 43720 BLAKE2B b80db3b4113ea2b80709595a7762d185576f9017e6dc089c99613cb03aad569e53bee3ca083b9ec9866c6835aee5f35cf3240cd3a681a1e038ae0fa18f62bd03 SHA512 947e2862524f83ca7f4ca6e5eee16162642cf510929ef9dad642408fe023d9b27fe88ee21cf1bd498c318ae39a278d02ae85c8aae0a552f30823a9a244250dc4 DIST qtwayland-everywhere-opensource-src-5.15.7.tar.xz 568024 BLAKE2B ed2031ea40c5618c2390865807ef33eae42a3231098f1959f0a7e9e3b8e8d70f4461647aaa11afeade0528aa4d14049b03cc566552a13dd4d1b5773ec3d16061 SHA512 a004a82ec2b4f132d597ae3c82b4079671ecdfeed09c455073e552197da2b9f921c85bef2b40be76e87e61d5ec1e7ab39ed232be26b27d9aed6e938c659965a3 DIST qtwayland-everywhere-src-6.4.0.tar.xz 836088 BLAKE2B 3efc506e1a0bc63182397d483bf352e21d39c75a7360ee3fe839527451950875748aea5cf62207ffef38b845a12c2bbbefde918d14333d1b194a4ea39b82670f SHA512 745fcc84c936c3f2fa7382291b5013679f9e57d6c680f1d352b0a132ba7cbaaea1495211f8fc4f1af85a81c711794987e4e05284d3ac06c94e92e9b601dae924 +EBUILD qtwayland-5.15.7-r1.ebuild 1008 BLAKE2B 6c530af0c321eec7d3ebabc7304bb5803b97983d0bd6b7ec032f09b91ad2456bd7300e505c931870e0b3449ed4c5afa0bf8eb0ea45ad2cd3529265dc1d722488 SHA512 a4f711eb5c1cc2c39182826abecffb3d279b61ff82eb92c2d5c9f10c5c28efad05688a0a9b771d48e147801082cfe67dbe5522cb7b5b2bf28caedbcfbce01e52 EBUILD qtwayland-5.15.7.ebuild 1002 BLAKE2B 7a4945b847da1f25bcb4f6c1deced1caced106e08ef96a26e54601448a839b4e14dac349cc6594b977bc5673520a5578cbb108e962a737f7d72eb15eaf19f08c SHA512 cb5bc1170be1a8e27b61805155749e627bd93f09402b23400622c8f43ee8fd3b5007e9bf5fb93682809ee049f93f8714dd2c27e0c05921c35cb7a26a5f0785de EBUILD qtwayland-6.4.0.ebuild 438 BLAKE2B ecb43b4035f97bde672b22faf6a1aa7a5fd0860db6bf871b4055c97b1c199840e2ba84b6720a69a3a2ff5bc8222abaead3a6ba53c282e83b1c3c114cd075115a SHA512 c9512430e1085f3e60a4fcab21036ac8aa393eb442ec2ebcc7f4161958316a9131bddbdb422fb2018f190ec99d5d51d2ba02a28503c220cc5e2c16e904445190 MISC metadata.xml 584 BLAKE2B ad42909b120209835e121a29de558d338bae4348eb55e69a94e8ac8b54f26564df0a750839bef9418ae8056a0d24f234615247a610b8287f5b0fbffbc60193f2 SHA512 86fd81d63b19fc6e95bdcb92e9da9b03861248a4e78e9de36aca6996e61644ab8bce7a60ca22ee7ad86fefc9b407a1fd0136240b8fdfa3c40a149444ab1dcbe2 diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch b/dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch deleted file mode 100644 index 8bffa3e08b3e..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.2-QTBUG-90037-QTBUG-91264.patch +++ /dev/null @@ -1,131 +0,0 @@ -From d7b34dbf072236cdfb3b64e5ad26d1ff29dfec5f Mon Sep 17 00:00:00 2001 -From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> -Date: Thu, 22 Apr 2021 08:42:33 +0200 -Subject: client: Gracefully handle shutdown and window hiding - -When a window is hidden or destroyed, the render thread may already -be rendering. We need to properly read-lock the surface pointer -when it is in use and exit when it becomes null. - -Note that there is also a potential crash in the Mesa GL driver -where it keeps a proxy to the wl_surface, so if we delete this -while we are still rendering, it can crash inside the driver. -This is not addressed by this patch, and has not been reproduced -on any other drivers so far. - -[ChangeLog][Client] Fixed a crash that could happen when hiding -or closing windows while Qt Quick was actively rendering on -a different thread. - -Pick-to: 6.0 6.1 5.15 -Fixes: QTBUG-91264 -Fixes: QTBUG-90037 -Task-number: QTBUG-92249 -Change-Id: I029b123b83c58740321e8b90a463ced748d8bcf4 -Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> -Reviewed-by: David Edmundson <davidedmundson@kde.org> -(cherry picked from commit b19b0fbaf775e8b8eda1e03c265a5393d618c6c0) ---- - src/client/qwaylandwindow.cpp | 17 ++++++++++++++++- - src/client/qwaylandwindow_p.h | 2 +- - .../client/wayland-egl/qwaylandglcontext.cpp | 1 - - 3 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp -index 494911b3..0d849b57 100644 ---- a/src/client/qwaylandwindow.cpp -+++ b/src/client/qwaylandwindow.cpp -@@ -414,6 +414,7 @@ void QWaylandWindow::closePopups(QWaylandWindow *parent) - - QPlatformScreen *QWaylandWindow::calculateScreenFromSurfaceEvents() const - { -+ QReadLocker lock(&mSurfaceLock); - if (mSurface) { - if (auto *screen = mSurface->oldestEnteredScreen()) - return screen; -@@ -552,6 +553,10 @@ void QWaylandWindow::sendRecursiveExposeEvent() - - void QWaylandWindow::attach(QWaylandBuffer *buffer, int x, int y) - { -+ QReadLocker locker(&mSurfaceLock); -+ if (mSurface == nullptr) -+ return; -+ - if (buffer) { - Q_ASSERT(!buffer->committed()); - handleUpdate(); -@@ -571,6 +576,10 @@ void QWaylandWindow::attachOffset(QWaylandBuffer *buffer) - - void QWaylandWindow::damage(const QRect &rect) - { -+ QReadLocker locker(&mSurfaceLock); -+ if (mSurface == nullptr) -+ return; -+ - const int s = scale(); - if (mDisplay->compositorVersion() >= 4) - mSurface->damage_buffer(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height()); -@@ -605,6 +614,8 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage) - qCDebug(lcWaylandBackingstore) << "Buffer already committed, ignoring."; - return; - } -+ -+ QReadLocker locker(&mSurfaceLock); - if (!mSurface) - return; - -@@ -624,7 +635,9 @@ void QWaylandWindow::commit(QWaylandBuffer *buffer, const QRegion &damage) - - void QWaylandWindow::commit() - { -- mSurface->commit(); -+ QReadLocker locker(&mSurfaceLock); -+ if (mSurface != nullptr) -+ mSurface->commit(); - } - - const wl_callback_listener QWaylandWindow::callbackListener = { -@@ -725,6 +738,7 @@ QPointF QWaylandWindow::mapFromWlSurface(const QPointF &surfacePosition) const - - wl_surface *QWaylandWindow::wlSurface() - { -+ QReadLocker locker(&mSurfaceLock); - return mSurface ? mSurface->object() : nullptr; - } - -@@ -749,6 +763,7 @@ QWaylandScreen *QWaylandWindow::waylandScreen() const - - void QWaylandWindow::handleContentOrientationChange(Qt::ScreenOrientation orientation) - { -+ QReadLocker locker(&mSurfaceLock); - if (mDisplay->compositorVersion() < 2) - return; - -diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h -index d45980a8..54ac67a9 100644 ---- a/src/client/qwaylandwindow_p.h -+++ b/src/client/qwaylandwindow_p.h -@@ -288,7 +288,7 @@ private: - - static QWaylandWindow *mMouseGrab; - -- QReadWriteLock mSurfaceLock; -+ mutable QReadWriteLock mSurfaceLock; - - friend class QWaylandSubSurface; - }; -diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -index 683fe123..8f12736d 100644 ---- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -+++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp -@@ -192,7 +192,6 @@ public: - } - void blit(QWaylandEglWindow *window) - { -- Q_ASSERT(window->wlSurface()); - QOpenGLTextureCache *cache = QOpenGLTextureCache::cacheForContext(m_context->context()); - - QSize surfaceSize = window->surfaceSize(); --- -2.35.0 - diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch b/dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch deleted file mode 100644 index 4ad80127f516..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.3-clang.patch +++ /dev/null @@ -1,12 +0,0 @@ -https://bugs.gentoo.org/833488 ---- a/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h -+++ b/src/hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h -@@ -44,6 +44,8 @@ - #include <EGL/egl.h> - #include <EGL/eglext.h> - -+#include <array> -+ - // compatibility with libdrm <= 2.4.74 - #ifndef DRM_FORMAT_RESERVED - #define DRM_FORMAT_RESERVED ((1ULL << 56) - 1) diff --git a/dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild b/dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild new file mode 100644 index 000000000000..70185ea5e611 --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-5.15.7-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999* ]]; then + QT5_KDEPATCHSET_REV=2 + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +inherit qt5-build + +DESCRIPTION="Wayland platform plugin for Qt" + +SLOT=5/${QT5_PV} # bug 815646 +IUSE="vulkan X" + +DEPEND=" + dev-libs/wayland + =dev-qt/qtcore-${QT5_PV}*:5= + =dev-qt/qtdeclarative-${QT5_PV}*:5= + =dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=,X?] + media-libs/libglvnd + vulkan? ( dev-util/vulkan-headers ) + X? ( + =dev-qt/qtgui-${QT5_PV}*[-gles2-only] + x11-libs/libX11 + x11-libs/libXcomposite + ) +" +RDEPEND="${DEPEND}" +BDEPEND="dev-util/wayland-scanner" + +src_configure() { + local myqmakeargs=( + -- + $(qt_use vulkan feature-wayland-vulkan-server-buffer) + $(qt_use X feature-xcomposite-egl) + $(qt_use X feature-xcomposite-glx) + ) + qt5-build_src_configure +} + +src_install() { + qt5-build_src_install + rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die +} |