diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-08-09 03:29:05 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-08-09 03:29:05 +0100 |
commit | 0b39c3b03f13c084074099704a673640904e5249 (patch) | |
tree | 0a479d20463f0ecdad56efcad3c11f98f37f2b79 /dev-qt/qtwayland | |
parent | fcd00f02f3d3ec2d37625d68ee736a3e7381fb87 (diff) |
gentoo auto-resync : 09:08:2023 - 03:29:05
Diffstat (limited to 'dev-qt/qtwayland')
-rw-r--r-- | dev-qt/qtwayland/Manifest | 3 | ||||
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch | 66 | ||||
-rw-r--r-- | dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild | 57 |
3 files changed, 126 insertions, 0 deletions
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest index a40dd9f0e6ca..ca31e488fe66 100644 --- a/dev-qt/qtwayland/Manifest +++ b/dev-qt/qtwayland/Manifest @@ -1,9 +1,12 @@ AUX qtwayland-5.15.10-Destroy-frame-queue-before-display.patch 1607 BLAKE2B 4a408f62d1b330b9f3c404d17b7771c24015bdba3dd02386446652d30e6038db6e0b77aeeaeb32537a0afe10b2e7a2a2a69a9a8e7efe3b1ff03c72eb6fd85427 SHA512 39bbdf0b9e501e8b101af5f29783eb4432e7dcad97362efce1b97b95bd70334bbc5e4fb707a4fe350a4e04d8dbb520faba77a283eaf8ccf331af40c8f65ba7e9 +AUX qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch 2406 BLAKE2B 523c1a932b46c0dccef224a4ecb11e147e32bc6655373d09fa7c3f7d0ca76fbb69284ce764462d8c4261d13acdf6ef65e5a05fac6cf75c23e264ed66ac42d9e1 SHA512 18366b5ede089581a2c1b1a87dd4d5ce3eb5a29606cb36cd9eefe7a4ee2861dfe87fcb75c44d6237b35e87a3c8106f6e78a34244230e0e20f9a808509daa6e86 AUX qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch 2364 BLAKE2B 5c623371a016a4e2fa30fe9f9579e3a6ee754330c1528d43b154de08ef0a49888b49347eac449b73e916c670dc1b54bf07693697f123bacc6441cf21f59fa4c9 SHA512 57caa645cffffe559c9ea61320e88929b9697817edae34b91331f68fb69ce51d98e05f5787fc5f29dd568213b0c374dcea1af8a1911be57265679590be21bdbc AUX qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch 1451 BLAKE2B 63b053f96f4added309a96d33caea1f361087511cb82249864b4a9971794739903e4df1c240c0a42f71295bb0b4f0f48338e6fcadfe9549372d2b581cb2464b6 SHA512 9be539b99cba04e3009a4a61eb5890708f8cafb09161e2d11868bb3a687591d6d4758a13c469ca22b89380cf1a1950d844c25212ead7b64f45ac275db464a051 DIST qtwayland-5.15.10-gentoo-kde-1.tar.xz 42480 BLAKE2B 3902ecb713b8f35922b0d19bef0b2ec340ca52feb4b61de629dfa6b344d7f550de3e509e265f4476eb907f78b55d5c50c21d9dfeeb7e2e8f680a43fffc911ed4 SHA512 6a131ca2db008a2d224ee6733f47d05a455a8487d38b45cf63882e98e2c29d8163ac5d2f2c2e043f03103bada6e212b5d33cbf11677f8ca2b86fdbf02fc2b239 +DIST qtwayland-5.15.10-gentoo-kde-2.tar.xz 43076 BLAKE2B 735ac875c0957de47f90d08931eaaaf8d53b1db0012c7d0a592c78ae78da56ffc8a1ba9bbac0577a78d4c05a92a22acef51a6afc95db54bea2d1a2a9658b67c4 SHA512 e0131bb1f2a09597a85d1d8a402bcb1d529cbc44f62e9be8dd8eba9c10007ca4f83572ca48052529b2325cdd8d886abed1f96ba4e00768e4b1c2febe1eb5ef91 DIST qtwayland-everywhere-opensource-src-5.15.10.tar.xz 568552 BLAKE2B c5cd4ed5ff78befb5bb49f9eb809562c418b2469aa0fa23728a1de46d57f42788bba3f87a54c8dda2ee0900c76b84213d1111fd86159dc5e6707f7b67ed386de SHA512 214b1fec7dfd815d148a7485f7811e623b06d172e58e4ee3167264a4e4b8f4aeec11474e574f91652a0bd3a48476a6747cad468f1e5035c49a55a96fc1400899 DIST qtwayland-everywhere-src-6.5.2.tar.xz 1059356 BLAKE2B 4708b78ff5c8e413edaa4d4400317f58dd068273a5eef7caf1500abf8afbe4e9ac405b6854691ef93265a7eeb0cfb7406024826a0b7c7ba3f8149218af67fd48 SHA512 520d109402f1d629481029a3b1eaab740e66135db4069c34651172bb2ad821b22de60e9956a96331d2f32a4522fc52c6a4ba99b474092d755760cad08c776477 EBUILD qtwayland-5.15.10-r1.ebuild 1414 BLAKE2B 90162d26eccdf63926cfd4bfce884e4cf43a10c8e3464e3f2d89bf50f831e77269508a7e33205a28337c230d2f9db611d587b9d2e88c0d49e954ad8eb814a965 SHA512 ef9ff3968554384e4f5d4a8ec92dd8efa0ff1464007fa308d2b34b8a3987e70383b56acf3e4cba659727045abf0fb8bfe1461b6dec4f15a1b53b592c25c2bedf +EBUILD qtwayland-5.15.10-r2.ebuild 1428 BLAKE2B 7234113f808405e68430ad48f5f7ea7b15b2f14e57acd14a6dae0f6edac567ac585f0a96ef0300058f49739151e6e705c2c20b7dc4310b211257e510aeaff361 SHA512 28d02d34509c343dca49beba0d55de1d3ced62e9331a96894aa3fc6429ff7f9b0815746c2af033fba899ac664b744c85e47a5527f595609cbe144dfbb21da409 EBUILD qtwayland-6.5.2.ebuild 442 BLAKE2B 844f06e4063c17dd8b3e0a8835aeda220a0ade9d07213a42abbc38d37b3e1b6fa71423e07e2ef66d0628a9bb4afa9656c68dd9d7fb73b3e3a597e6d573f84587 SHA512 9f6235b34e56466eea51dd3513f53d0387d4a068a9f429ecb84f90f32f257967e2940e6d48a6029c6a2118915fd5592d14e73a6ef5aeac8e4429a6b2fc4ef8bf MISC metadata.xml 584 BLAKE2B ad42909b120209835e121a29de558d338bae4348eb55e69a94e8ac8b54f26564df0a750839bef9418ae8056a0d24f234615247a610b8287f5b0fbffbc60193f2 SHA512 86fd81d63b19fc6e95bdcb92e9da9b03861248a4e78e9de36aca6996e61644ab8bce7a60ca22ee7ad86fefc9b407a1fd0136240b8fdfa3c40a149444ab1dcbe2 diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch new file mode 100644 index 000000000000..7b43ee3b2149 --- /dev/null +++ b/dev-qt/qtwayland/files/qtwayland-5.15.10-QTBUG-95434-convert-cursor-bitmap.patch @@ -0,0 +1,66 @@ +From dd5c9e2d894ca94faaeef7dfc3cc4344a7f62640 Mon Sep 17 00:00:00 2001 +From: Michael Weghorn <m.weghorn@posteo.de> +Date: Mon, 20 Feb 2023 14:02:23 +0100 +Subject: [PATCH] Convert cursor bitmap to supported format + +The 1-bit image formats QImage::Format_Mono and +QImage::Format_MonoLSB used by cursor bitmaps don't have +a corresponding wl_shm_format. + +Therefore, convert to a supported image format as necessary +to make such bitmap cursors work on Wayland as well. + +Fixes: QTBUG-95434 +Change-Id: I402fd870b301ddc01075251b66f2cf7cc1923133 +Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> +(cherry picked from commit 45ec1362f8fcb5ade92f4d2d4985b1c24e78c8ba) + +Backport changes: Use Qt::ReturnByValue version for QCursor::mask() and QCursor::bitmap() +--- + src/client/qwaylandcursor.cpp | 23 ++++++++++++++++++++++- + 1 file changed, 22 insertions(+), 1 deletion(-) + +diff --git a/src/client/qwaylandcursor.cpp b/src/client/qwaylandcursor.cpp +index e4eca9d4e..ba76ba2d0 100644 +--- a/src/client/qwaylandcursor.cpp ++++ b/src/client/qwaylandcursor.cpp +@@ -44,6 +44,7 @@ + #include "qwaylandshmbackingstore_p.h" + + #include <QtGui/QImageReader> ++#include <QBitmap> + #include <QDebug> + + #include <wayland-cursor.h> +@@ -250,7 +251,27 @@ QWaylandCursor::QWaylandCursor(QWaylandDisplay *display) + QSharedPointer<QWaylandBuffer> QWaylandCursor::cursorBitmapBuffer(QWaylandDisplay *display, const QCursor *cursor) + { + Q_ASSERT(cursor->shape() == Qt::BitmapCursor); +- const QImage &img = cursor->pixmap().toImage(); ++ ++ const QBitmap mask = cursor->mask(Qt::ReturnByValue); ++ QImage img; ++ if (cursor->pixmap().isNull()) ++ img = cursor->bitmap(Qt::ReturnByValue).toImage(); ++ else ++ img = cursor->pixmap().toImage(); ++ ++ // convert to supported format if necessary ++ if (!display->shm()->formatSupported(img.format())) { ++ if (mask.isNull()) { ++ img.convertTo(QImage::Format_RGB32); ++ } else { ++ // preserve mask ++ img.convertTo(QImage::Format_ARGB32); ++ QPixmap pixmap = QPixmap::fromImage(img); ++ pixmap.setMask(mask); ++ img = pixmap.toImage(); ++ } ++ } ++ + QSharedPointer<QWaylandShmBuffer> buffer(new QWaylandShmBuffer(display, img.size(), img.format())); + memcpy(buffer->image()->bits(), img.bits(), size_t(img.sizeInBytes())); + return buffer; +-- +GitLab + diff --git a/dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild b/dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild new file mode 100644 index 000000000000..9ca1a8b37a6f --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-5.15.10-r2.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2023 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" + +PATCHES=( + # QTBUG-97037, pending upstream: + # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/71 + "${FILESDIR}/${PN}-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch" + "${FILESDIR}/${P}-send-release-button-event-on-pointer-leave.patch" + # QTBUG-95434, pending/approved upstream: + # https://invent.kde.org/qt/qt/qtwayland/-/merge_requests/79 + "${FILESDIR}/${P}-QTBUG-95434-convert-cursor-bitmap.patch" +) + +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 +} |