summaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-12-27 17:54:17 -0500
committerIonen Wolkens <ionen@gentoo.org>2025-01-06 17:48:50 -0500
commit8556262f28ab8bf5cb0bbb5fbb3855c9d7b511e5 (patch)
tree0e5e0999ef11216e37aa4d23a13d42e81aa909d0 /dev-qt
parentdev-qt/qtwebview: drop 6.7.2, 6.7.3 (diff)
downloadgentoo-8556262f28ab8bf5cb0bbb5fbb3855c9d7b511e5.tar.gz
gentoo-8556262f28ab8bf5cb0bbb5fbb3855c9d7b511e5.tar.bz2
gentoo-8556262f28ab8bf5cb0bbb5fbb3855c9d7b511e5.zip
dev-qt/qtbase: drop 6.7.2-r5, 6.7.3-r2
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtbase/Manifest2
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch200
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.2-float16-sse2.patch43
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch32
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.2-haswell-no-rdrnd.patch100
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.2-qcontiguouscache.patch8
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.2-qwindowprivate-crash.patch28
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch46
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch156
-rw-r--r--dev-qt/qtbase/qtbase-6.7.2-r5.ebuild364
-rw-r--r--dev-qt/qtbase/qtbase-6.7.3-r2.ebuild361
11 files changed, 0 insertions, 1340 deletions
diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest
index a3255ea3a196..13aa830c4d2b 100644
--- a/dev-qt/qtbase/Manifest
+++ b/dev-qt/qtbase/Manifest
@@ -1,3 +1 @@
-DIST qtbase-everywhere-src-6.7.2.tar.xz 49364504 BLAKE2B b48b8a8decafe3262d459b9446c25561851fef88b3316107c2909f5964e8122a558b5501a3e59667bdf4776d36ea5ba0d9f227538c45c1f8e94fbc8fff4244a6 SHA512 eb4b2f1fb02ab0ed5508d32449e140778278ff1a619cfcae14920b276b5c46e01a566d73fb8f84cf2cfc81e19cb11e53ab500df6b27d12ab875aa8c07bd15d6b
-DIST qtbase-everywhere-src-6.7.3.tar.xz 49426156 BLAKE2B da7eacd64bd122bf2b320c0cec41ae7630e55e0d588912bc2cc6ef7ecc755af0f375ca84c6fe0bb8381e4008da2fd43fc491c5c88ecc7694223c62700761ed37 SHA512 99495c6ed942b3a7bd19f9471bac76502baaafc20ad7e139adf25726f699c1b4deffa1ab761fe9a49a3ffe6a36d830422a20f8a369aded67a083652bf4a19290
DIST qtbase-everywhere-src-6.8.1.tar.xz 48220752 BLAKE2B b42d562f9069cf3d68807c63492f0ae1dcb9cb9a057a8d8548a7d134b36af169e403324e2902fa59c6c82ce087add107173c7606dff952dbbbc06c33b056ddff SHA512 87b7df95a63f7c28bfc7659f19658e4151b9da55b0dc4d34dc0e04c5270254b01a72f8deac0b2fc5543fce8d7542128addb398833de9c3248196aa96b2dd1601
diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch b/dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch
deleted file mode 100644
index cc6238a55f1b..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.2-CVE-2024-39936.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-https://bugs.gentoo.org/935869
-https://github.com/qt/qtbase/commit/2b1e36e183ce75c224305c7a94457b92f7a5cf58
-From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io>
-Date: Tue, 25 Jun 2024 17:09:35 +0200
-Subject: [PATCH] HTTP2: Delay any communication until encrypted() can be
- responded to
-
-We have the encrypted() signal that lets users do extra checks on the
-established connection. It is emitted as BlockingQueued, so the HTTP
-thread stalls until it is done emitting. Users can potentially call
-abort() on the QNetworkReply at that point, which is passed as a Queued
-call back to the HTTP thread. That means that any currently queued
-signal emission will be processed before the abort() call is processed.
-
-In the case of HTTP2 it is a little special since it is multiplexed and
-the code is built to start requests as they are available. This means
-that, while the code worked fine for HTTP1, since one connection only
-has one request, it is not working for HTTP2, since we try to send more
-requests in-between the encrypted() signal and the abort() call.
-
-This patch changes the code to delay any communication until the
-encrypted() signal has been emitted and processed, for HTTP2 only.
-It's done by adding a few booleans, both to know that we have to return
-early and so we can keep track of what events arose and what we need to
-resume once enough time has passed that any abort() call must have been
-processed.
-
-Fixes: QTBUG-126610
---- a/src/network/access/qhttp2protocolhandler.cpp
-+++ b/src/network/access/qhttp2protocolhandler.cpp
-@@ -304,10 +304,10 @@
- }
-
-- if (!prefaceSent && !sendClientPreface())
-- return false;
--
- if (!requests.size())
- return true;
-
-+ if (!prefaceSent && !sendClientPreface())
-+ return false;
-+
- m_channel->state = QHttpNetworkConnectionChannel::WritingState;
- // Check what was promised/pushed, maybe we do not have to send a request
---- a/src/network/access/qhttpnetworkconnectionchannel.cpp
-+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
-@@ -210,4 +210,8 @@
- {
- Q_ASSERT(protocolHandler);
-+ if (waitingForPotentialAbort) {
-+ needInvokeSendRequest = true;
-+ return false; // this return value is unused
-+ }
- return protocolHandler->sendRequest();
- }
-@@ -222,7 +226,6 @@
- {
- QMetaObject::invokeMethod(this, [this] {
-- Q_ASSERT(protocolHandler);
- if (reply)
-- protocolHandler->sendRequest();
-+ sendRequest();
- }, Qt::ConnectionType::QueuedConnection);
- }
-@@ -231,4 +234,8 @@
- {
- Q_ASSERT(protocolHandler);
-+ if (waitingForPotentialAbort) {
-+ needInvokeReceiveReply = true;
-+ return;
-+ }
- protocolHandler->_q_receiveReply();
- }
-@@ -237,4 +244,8 @@
- {
- Q_ASSERT(protocolHandler);
-+ if (waitingForPotentialAbort) {
-+ needInvokeReadyRead = true;
-+ return;
-+ }
- protocolHandler->_q_readyRead();
- }
-@@ -1240,5 +1251,16 @@
- // Similar to HTTP/1.1 counterpart below:
- const auto &pair = std::as_const(h2RequestsToSend).first();
-+ waitingForPotentialAbort = true;
- emit pair.second->encrypted();
-+
-+ // We don't send or handle any received data until any effects from
-+ // emitting encrypted() have been processed. This is necessary
-+ // because the user may have called abort(). We may also abort the
-+ // whole connection if the request has been aborted and there is
-+ // no more requests to send.
-+ QMetaObject::invokeMethod(this,
-+ &QHttpNetworkConnectionChannel::checkAndResumeCommunication,
-+ Qt::QueuedConnection);
-+
- // In case our peer has sent us its settings (window size, max concurrent streams etc.)
- // let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection).
-@@ -1258,4 +1280,26 @@
- }
-
-+
-+void QHttpNetworkConnectionChannel::checkAndResumeCommunication()
-+{
-+ Q_ASSERT(connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2
-+ || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct);
-+
-+ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond
-+ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any
-+ // effects from emitting encrypted() have been processed.
-+ // This function is called after encrypted() was emitted, so check for changes.
-+
-+ if (!reply && h2RequestsToSend.isEmpty())
-+ abort();
-+ waitingForPotentialAbort = false;
-+ if (needInvokeReadyRead)
-+ _q_readyRead();
-+ if (needInvokeReceiveReply)
-+ _q_receiveReply();
-+ if (needInvokeSendRequest)
-+ sendRequest();
-+}
-+
- void QHttpNetworkConnectionChannel::requeueHttp2Requests()
- {
---- a/src/network/access/qhttpnetworkconnectionchannel_p.h
-+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
-@@ -75,4 +75,8 @@
- bool ssl;
- bool isInitialized;
-+ bool waitingForPotentialAbort = false;
-+ bool needInvokeReceiveReply = false;
-+ bool needInvokeReadyRead = false;
-+ bool needInvokeSendRequest = false;
- ChannelState state;
- QHttpNetworkRequest request; // current request, only used for HTTP
-@@ -147,4 +151,6 @@
- void resendCurrentRequest();
-
-+ void checkAndResumeCommunication();
-+
- bool isSocketBusy() const;
- bool isSocketWriting() const;
---- a/tests/auto/network/access/http2/tst_http2.cpp
-+++ b/tests/auto/network/access/http2/tst_http2.cpp
-@@ -107,4 +107,6 @@
- void duplicateRequestsWithAborts();
-
-+ void abortOnEncrypted();
-+
- protected slots:
- // Slots to listen to our in-process server:
-@@ -1480,4 +1482,46 @@
- }
-
-+void tst_Http2::abortOnEncrypted()
-+{
-+#if !QT_CONFIG(ssl)
-+ QSKIP("TLS support is needed for this test");
-+#else
-+ clearHTTP2State();
-+ serverPort = 0;
-+
-+ ServerPtr targetServer(newServer(defaultServerSettings, H2Type::h2Direct));
-+
-+ QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection);
-+ runEventLoop();
-+
-+ nRequests = 1;
-+ nSentRequests = 0;
-+
-+ const auto url = requestUrl(H2Type::h2Direct);
-+ QNetworkRequest request(url);
-+ request.setAttribute(QNetworkRequest::Http2DirectAttribute, true);
-+
-+ std::unique_ptr<QNetworkReply> reply{manager->get(request)};
-+ reply->ignoreSslErrors();
-+ connect(reply.get(), &QNetworkReply::encrypted, reply.get(), [reply = reply.get()](){
-+ reply->abort();
-+ });
-+ connect(reply.get(), &QNetworkReply::errorOccurred, this, &tst_Http2::replyFinishedWithError);
-+
-+ runEventLoop();
-+ STOP_ON_FAILURE
-+
-+ QCOMPARE(nRequests, 0);
-+ QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError);
-+
-+ const bool res = QTest::qWaitFor(
-+ [this, server = targetServer.get()]() {
-+ return serverGotSettingsACK || prefaceOK || nSentRequests > 0;
-+ },
-+ 500);
-+ QVERIFY(!res);
-+#endif // QT_CONFIG(ssl)
-+}
-+
- void tst_Http2::serverStarted(quint16 port)
- {
diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-float16-sse2.patch b/dev-qt/qtbase/files/qtbase-6.7.2-float16-sse2.patch
deleted file mode 100644
index a54c9daa42b9..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.2-float16-sse2.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Backport from 6.7.3 as it may cause major problems for x86 sse2-less
-systems using gcc14.
-
-https://github.com/qt/qtbase/commit/39fa7e7bef90be2940c5f736935f963e3969e0bd
-From: Dmitry Shachnev <mitya57@gmail.com>
-Date: Sat, 27 Jul 2024 23:03:07 +0300
-Subject: [PATCH] Use _Float16 only when SSE2 is enabled
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The GCC documentation [1] says: “On x86 targets with SSE2 enabled, GCC
-supports half-precision (16-bit) floating point via the _Float16 type”.
-
-On non-SSE2 x86 (such as Debian i386 baseline [2]), __FLT16_MAX__ is
-defined starting with GCC 14 [3], however any non-trivial use of the
-_Float16 type results in an error:
-
-error: operation not permitted on type ‘_Float16’ without option ‘-msse2’
-
-which makes some packages fail to build on i386 architecture [4].
-
-[1]: https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html
-[2]: https://wiki.debian.org/ArchitectureSpecificsMemo#i386-1
-[3]: https://gcc.gnu.org/g:9a19fa8b616f83474c35cc5b34a3865073ced829
-[4]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076986
---- a/src/corelib/global/qtypes.h
-+++ b/src/corelib/global/qtypes.h
-@@ -264,11 +264,10 @@
- # define QFLOAT16_IS_NATIVE 1
- using NativeFloat16Type = decltype(__FLT16_MAX__);
--#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__)
-+#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__ARM_FP16_FORMAT_IEEE)
- # define QFLOAT16_IS_NATIVE 1
--# ifdef __ARM_FP16_FORMAT_IEEE
- using NativeFloat16Type = __fp16;
--# else
-+#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__SSE2__)
-+# define QFLOAT16_IS_NATIVE 1
- using NativeFloat16Type = _Float16;
--# endif
- #else
- # define QFLOAT16_IS_NATIVE 0
diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch b/dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch
deleted file mode 100644
index 64cedb14662a..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.2-gcc15-odr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://codereview.qt-project.org/c/qt/qtbase/+/582403
-From: Sam James <sam@gentoo.org>
-Date: Sat, 10 Aug 2024 16:43:05 +0100
-Subject: [PATCH] Fix ODR violation for IsFloatType_v
-
-With recent GCC 15 trunk, I started to see:
-```
-ld: .../kwalletentry.cc.o:(.rodata+0x0): multiple definition of `QtPrivate::IsFloatType_v<_Float16>';
- src/runtime/kwalletd/backend/CMakeFiles/KF6WalletBackend.dir/cbc.cc.o:(.rodata+0x0): first defined here
-```
-
-The issue is that constexpr is only implicitly inline for functions or
-static data members [0], so the two constexpr IsFloatType_v definitions
-here cause an ODR violation.
-
-Explicitly mark them as inline constexpr.
-
-[0] http://eel.is/c++draft/dcl.constexpr#1.sentence-3
---- a/src/corelib/global/qcomparehelpers.h
-+++ b/src/corelib/global/qcomparehelpers.h
-@@ -348,9 +348,9 @@
-
- template <typename T>
--constexpr bool IsFloatType_v = std::is_floating_point_v<T>;
-+inline constexpr bool IsFloatType_v = std::is_floating_point_v<T>;
-
- #if QFLOAT16_IS_NATIVE
- template <>
--constexpr bool IsFloatType_v<QtPrivate::NativeFloat16Type> = true;
-+inline constexpr bool IsFloatType_v<QtPrivate::NativeFloat16Type> = true;
- #endif
-
diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-haswell-no-rdrnd.patch b/dev-qt/qtbase/files/qtbase-6.7.2-haswell-no-rdrnd.patch
deleted file mode 100644
index 0427315d69d5..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.2-haswell-no-rdrnd.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-https://bugreports.qt.io/browse/QTBUG-129193
-https://forums.gentoo.org/viewtopic-t-1170690.html
-https://forums.gentoo.org/viewtopic-t-1169619.html
-https://codereview.qt-project.org/c/qt/qtbase/+/593073
-From: Thiago Macieira <thiago.macieira@intel.com>
-Date: Mon, 23 Sep 2024 13:44:31 -0700
-Subject: [PATCH] qsimd_x86: disable the requirement that CPUs must have RNGs
-
-Intel CPUs have had this since 2013 (Ivy Bridge), but some older
-Bulldozer AMD CPUs appear to be missing it. This creates a mismatch
-between when the __haswell__ macro gets declared in qsimd_p.h and the
-runtime check using the CpuArchHaswell value. That in turn creates a
-condition where qInitDrawhelperFunctions() in qdrawhelper.cpp leaves the
-memfill pointers set to null.
-
-#elif defined(__SSE2__)
-# ifndef __haswell__
- qt_memfill32 = qt_memfill32_sse2;
- qt_memfill64 = qt_memfill64_sse2;
-# endif
-...
-#if defined(QT_COMPILER_SUPPORTS_AVX2)
- if (qCpuHasFeature(ArchHaswell)) {
- qt_memfill32 = qt_memfill32_avx2;
- qt_memfill64 = qt_memfill64_avx2;
-
-It does this so the qt_memfillXX_sse2 functions don't have to be defined
-anywhere, so the QtGui build won't carry unnecessary dead code.
-
-This is old code (from Qt 4.x) and several improvements I've made for
-QtCore are not applied yet. My work for qSimdDispatcher[1] isn't
-complete: it might have avoided this problem here, but it would also
-have required major work for the draw helpers to work in the first
-place.
-
-[1] https://codereview.qt-project.org/c/qt/qtbase/+/537384
-
-Pick-to: 6.8 6.7 6.5 6.2
-Fixes: QTBUG-129193
-Change-Id: Ia427a9e502b0fb46b2bdfffda8e2131b7091c9e9
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---- a/src/corelib/global/qsimd_x86_p.h
-+++ b/src/corelib/global/qsimd_x86_p.h
-@@ -85,16 +85,14 @@
- #define cpu_snb (cpu_wsm \
- | cpu_feature_avx)
- #define cpu_ivb (cpu_snb \
-- | cpu_feature_f16c \
-- | cpu_feature_rdrnd)
-+ | cpu_feature_f16c)
- #define cpu_hsw (cpu_ivb \
- | cpu_feature_avx2 \
- | cpu_feature_fma \
- | cpu_feature_bmi \
- | cpu_feature_bmi2 \
- | cpu_feature_movbe)
--#define cpu_bdw (cpu_hsw \
-- | cpu_feature_rdseed)
-+#define cpu_bdw (cpu_hsw)
- #define cpu_bdx (cpu_bdw)
- #define cpu_skl (cpu_bdw)
- #define cpu_skx (cpu_skl \
-@@ -237,9 +235,9 @@
- #define QT_FUNCTION_TARGET_STRING_ARCH_NHM QT_FUNCTION_TARGET_STRING_ARCH_CORE2 ",sse4.1,sse4.2,popcnt"
- #define QT_FUNCTION_TARGET_STRING_ARCH_WSM QT_FUNCTION_TARGET_STRING_ARCH_NHM
- #define QT_FUNCTION_TARGET_STRING_ARCH_SNB QT_FUNCTION_TARGET_STRING_ARCH_WSM ",avx"
--#define QT_FUNCTION_TARGET_STRING_ARCH_IVB QT_FUNCTION_TARGET_STRING_ARCH_SNB ",f16c,rdrnd,fsgsbase"
-+#define QT_FUNCTION_TARGET_STRING_ARCH_IVB QT_FUNCTION_TARGET_STRING_ARCH_SNB ",f16c,fsgsbase"
- #define QT_FUNCTION_TARGET_STRING_ARCH_HSW QT_FUNCTION_TARGET_STRING_ARCH_IVB ",avx2,fma,bmi,bmi2,lzcnt,movbe"
--#define QT_FUNCTION_TARGET_STRING_ARCH_BDW QT_FUNCTION_TARGET_STRING_ARCH_HSW ",adx,rdseed"
-+#define QT_FUNCTION_TARGET_STRING_ARCH_BDW QT_FUNCTION_TARGET_STRING_ARCH_HSW ",adx"
- #define QT_FUNCTION_TARGET_STRING_ARCH_BDX QT_FUNCTION_TARGET_STRING_ARCH_BDW
- #define QT_FUNCTION_TARGET_STRING_ARCH_SKL QT_FUNCTION_TARGET_STRING_ARCH_BDW ",xsavec,xsaves"
- #define QT_FUNCTION_TARGET_STRING_ARCH_SKX QT_FUNCTION_TARGET_STRING_ARCH_SKL ",avx512f,avx512dq,avx512cd,avx512bw,avx512vl"
-@@ -473,9 +471,9 @@
- CpuArchNHM = cpu_nhm,
- CpuArchWSM = cpu_wsm,
- CpuArchSNB = cpu_snb,
-- CpuArchIVB = cpu_ivb,
-+ CpuArchIVB = cpu_ivb, ///< rdrnd
- CpuArchHSW = cpu_hsw, ///< hle,rtm
-- CpuArchBDW = cpu_bdw,
-+ CpuArchBDW = cpu_bdw, ///< rdseed
- CpuArchBDX = cpu_bdx,
- CpuArchSKL = cpu_skl,
- CpuArchSKX = cpu_skx, ///< clwb
---- a/util/x86simdgen/3rdparty/simd-intel.conf
-+++ b/util/x86simdgen/3rdparty/simd-intel.conf
-@@ -142,9 +142,9 @@
- arch=NHM Core2 sse4.1,sse4.2,popcnt
- arch=WSM NHM
- arch=SNB WSM avx
--arch=IVB SNB f16c,rdrnd,fsgsbase
-+arch=IVB SNB f16c,fsgsbase # rdrnd
- arch=HSW IVB avx2,fma,bmi,bmi2,lzcnt,movbe # hle,rtm
--arch=BDW HSW adx,rdseed
-+arch=BDW HSW adx # rdseed
- arch=BDX BDW
- arch=SKL BDW xsavec,xsaves
- arch=SKX SKL avx512f,avx512dq,avx512cd,avx512bw,avx512vl #clwb
diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-qcontiguouscache.patch b/dev-qt/qtbase/files/qtbase-6.7.2-qcontiguouscache.patch
deleted file mode 100644
index 02219feaf681..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.2-qcontiguouscache.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-https://bugs.gentoo.org/938475
-Older version of https://codereview.qt-project.org/c/qt/qtbase/+/585668 for 6.7
---- a/src/corelib/tools/qcontiguouscache.h
-+++ b/src/corelib/tools/qcontiguouscache.h
-@@ -10,2 +10,3 @@
- #include <QtCore/qtcoreexports.h>
-+#include <QtCore/qglobal.h>
- #include <QtCore/qtypeinfo.h>
diff --git a/dev-qt/qtbase/files/qtbase-6.7.2-qwindowprivate-crash.patch b/dev-qt/qtbase/files/qtbase-6.7.2-qwindowprivate-crash.patch
deleted file mode 100644
index 353383921b7f..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.2-qwindowprivate-crash.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://bugs.kde.org/show_bug.cgi?id=490791
-https://codereview.qt-project.org/c/qt/qtbase/+/584636
-From: David Edmundson <davidedmundson@kde.org>
-Date: Wed, 31 Jul 2024 11:59:14 +0100
-Subject: [PATCH] QWidget: Store initialScreen as QPointer
-
-A Toplevel QWidget can hold a pointer to the screen where it will
-eventually show contents, before a QWidgetWindow is created which then
-takes precedence.
-
-The screen member of QWindows is always kept up-to-date when a screen is
-removed, but not the contents of a toplevel window. If a widget has
-setScreen called but is never shown, it has potentially dangling pointer
-which can cause issues in the future.
-
-Pick-to: 6.5
-Change-Id: Ia7c80549e8b3c90a75cdde745487e87ecddaca63
-Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-(cherry picked from commit d67acf94afffde6a71498be6e30447f3acf7558e)
-Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-(cherry picked from commit 6af4e5f604fff40cdb3be40099b8884362806ef4)
---- a/src/widgets/kernel/qwidget_p.h
-+++ b/src/widgets/kernel/qwidget_p.h
-@@ -110,3 +110,3 @@
- Qt::WindowFlags savedFlags; // Save widget flags while showing fullscreen
-- QScreen *initialScreen; // Screen when passing a QDesktop[Screen]Widget as parent.
-+ QPointer<QScreen> initialScreen; // Screen when passing a QDesktop[Screen]Widget as parent.
-
diff --git a/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch b/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch
deleted file mode 100644
index fc60e30b62c1..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.3-QTBUG-125053.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugreports.qt.io/browse/QTBUG-125053
-https://bugreports.qt.io/browse/QTBUG-127340
-https://codereview.qt-project.org/c/qt/qtbase/+/593123
---- a/src/corelib/itemmodels/qabstractitemmodel.cpp
-+++ b/src/corelib/itemmodels/qabstractitemmodel.cpp
-@@ -3396,4 +3396,11 @@
- void QAbstractItemModel::beginResetModel()
- {
-+ Q_D(QAbstractItemModel);
-+ if (d->resetting) {
-+ qWarning() << "beginResetModel called on" << this << "without calling endResetModel first";
-+ // Warn, but don't return early in case user code relies on the incorrect behavior.
-+ }
-+
-+ d->resetting = true;
- emit modelAboutToBeReset(QPrivateSignal());
- }
-@@ -3413,6 +3420,12 @@
- {
- Q_D(QAbstractItemModel);
-+ if (!d->resetting) {
-+ qWarning() << "endResetModel called on" << this << "without calling beginResetModel first";
-+ // Warn, but don't return early in case user code relies on the incorrect behavior.
-+ }
-+
- d->invalidatePersistentIndexes();
- resetInternalData();
-+ d->resetting = false;
- emit modelReset(QPrivateSignal());
- }
---- a/src/corelib/itemmodels/qabstractitemmodel_p.h
-+++ b/src/corelib/itemmodels/qabstractitemmodel_p.h
-@@ -46,4 +46,6 @@
- ~QAbstractItemModelPrivate();
-
-+ static const QAbstractItemModelPrivate *get(const QAbstractItemModel *model) { return model->d_func(); }
-+
- void removePersistentIndexData(QPersistentModelIndexData *data);
- void movePersistentIndexes(const QList<QPersistentModelIndexData *> &indexes, int change, const QModelIndex &parent,
-@@ -116,4 +118,6 @@
- } persistent;
-
-+ bool resetting = false;
-+
- static const QHash<int,QByteArray> &defaultRoleNames();
- static bool isVariantLessThan(const QVariant &left, const QVariant &right,
diff --git a/dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch b/dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch
deleted file mode 100644
index 14bdf1463949..000000000000
--- a/dev-qt/qtbase/files/qtbase-6.7.3-erratic-mouse-input.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-https://bugreports.qt.io/browse/QTBUG-129509
-https://bugreports.qt.io/browse/QTBUG-129514
-https://codereview.qt-project.org/c/qt/qtbase/+/594889
-From 42845904d51ad14b2ab41a165bd9b9b1a9459840 Mon Sep 17 00:00:00 2001
-From: Liang Qi <liang.qi@qt.io>
-Date: Tue, 01 Oct 2024 12:46:30 +0200
-Subject: [PATCH] Revert "xcb: handle XI2 input button and motion events from slave devices"
-
-This reverts commit b71be292780b858f2c55ce92601452e2ea946de2, which causes a regression when using mouse wheel and moving cursor together
-on scroll bar for some qt applications, like qutebrowser and
-qbittorrent.
-
-Fixes: QTBUG-129509
-Fixes: QTBUG-129514
-Task-number: QTBUG-110841
-Pick-to: 6.8.0 6.8 6.7 6.5 6.2 5.15
-Change-Id: I703158874413a1306ea99217bced4ba38382f543
---- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
-+++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
-@@ -683,94 +683,21 @@
- }
-
--//implementation is ported from https://codereview.qt-project.org/c/qt/qtbase/+/231552/12/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp#558
--namespace {
--
--/*! \internal
--
-- Qt listens for XIAllDevices to avoid losing mouse events. This function
-- ensures that we don't process the same event twice: from a slave device and
-- then again from a master device.
--
-- In a normal use case (e.g. mouse press and release inside a window), we will
-- drop events from master devices as duplicates. Other advantage of processing
-- events from slave devices is that they don't share button state. All buttons
-- on a master device share the state.
--
-- Examples of special cases:
--
--\list
--
--\li During system move/resize, window manager (_NET_WM_MOVERESIZE) grabs the
-- master pointer, in this case we process the matching release from the slave
-- device. A master device event is not sent by the server, hence no duplicate
-- event to drop. If we listened for XIAllMasterDevices instead, we would never
-- see a release event in this case.
--
--\li If we dismiss a context menu by clicking somewhere outside a Qt application,
-- we will process the mouse press from the master pointer as that is the
-- device we are grabbing. We are not grabbing slave devices (grabbing on the
-- slave device is buggy according to 19d289ab1b5bde3e136765e5432b5c7d004df3a4).
-- And since the event occurs outside our window, the slave device event is
-- not sent to us by the server, hence no duplicate event to drop.
--
--\endlist
--*/
--bool isDuplicateEvent(xcb_ge_event_t *event)
--{
-- Q_ASSERT(event);
--
-- struct qXIEvent {
-- bool isValid = false;
-- uint16_t sourceid;
-- uint8_t evtype;
-- uint32_t detail;
-- int32_t root_x;
-- int32_t root_y;
-- };
-- static qXIEvent lastSeenEvent;
--
-- bool isDuplicate = false;
-- auto *xiDeviceEvent = reinterpret_cast<qt_xcb_input_device_event_t *>(event);
-- if (lastSeenEvent.isValid) {
-- isDuplicate = lastSeenEvent.sourceid == xiDeviceEvent->sourceid &&
-- lastSeenEvent.evtype == xiDeviceEvent->event_type &&
-- lastSeenEvent.detail == xiDeviceEvent->detail &&
-- lastSeenEvent.root_x == xiDeviceEvent->root_x &&
-- lastSeenEvent.root_y == xiDeviceEvent->root_y;
-- } else {
-- lastSeenEvent.isValid = true;
-- }
-- lastSeenEvent.sourceid = xiDeviceEvent->sourceid;
-- lastSeenEvent.evtype = xiDeviceEvent->event_type;
-- lastSeenEvent.detail = xiDeviceEvent->detail;
-- lastSeenEvent.root_x = xiDeviceEvent->root_x;
-- lastSeenEvent.root_y = xiDeviceEvent->root_y;
--
-- if (isDuplicate) {
-- qCDebug(lcQpaXInputEvents, "Duplicate XI2 event %d", event->event_type);
-- // This sanity check ensures that special cases like QTBUG-59277 keep working.
-- lastSeenEvent.isValid = false; // An event can be a duplicate only once.
-- }
--
-- return isDuplicate;
--}
--
--} // namespace
--
- void QXcbConnection::xi2HandleEvent(xcb_ge_event_t *event)
- {
- auto *xiEvent = reinterpret_cast<qt_xcb_input_device_event_t *>(event);
-- if (m_xiSlavePointerIds.contains(xiEvent->deviceid)) {
-- if (!(xiEvent->event_type == XCB_INPUT_BUTTON_PRESS
-- || xiEvent->event_type == XCB_INPUT_BUTTON_RELEASE
-- || xiEvent->event_type == XCB_INPUT_MOTION)) {
-- if (!m_duringSystemMoveResize)
-- return;
-- if (xiEvent->event == XCB_NONE)
-- return;
--
-- if (xiEvent->event_type == XCB_INPUT_TOUCH_END)
-- abortSystemMoveResize(xiEvent->event);
-+ setTime(xiEvent->time);
-+ if (m_xiSlavePointerIds.contains(xiEvent->deviceid) && xiEvent->event_type != XCB_INPUT_PROPERTY) {
-+ if (!m_duringSystemMoveResize)
-+ return;
-+ if (xiEvent->event == XCB_NONE)
-+ return;
-
-+ if (xiEvent->event_type == XCB_INPUT_BUTTON_RELEASE
-+ && xiEvent->detail == XCB_BUTTON_INDEX_1 ) {
-+ abortSystemMoveResize(xiEvent->event);
-+ } else if (xiEvent->event_type == XCB_INPUT_TOUCH_END) {
-+ abortSystemMoveResize(xiEvent->event);
-+ return;
-+ } else {
- return;
- }
-@@ -784,25 +711,9 @@
- case XCB_INPUT_BUTTON_PRESS:
- case XCB_INPUT_BUTTON_RELEASE:
-- case XCB_INPUT_MOTION: {
-- if (isDuplicateEvent(event))
-- return;
-- if (m_xiSlavePointerIds.contains(xiEvent->deviceid)) {
-- if (m_duringSystemMoveResize) {
-- if (xiEvent->event_type == XCB_INPUT_BUTTON_RELEASE
-- && xiEvent->detail == XCB_BUTTON_INDEX_1 ) {
-- abortSystemMoveResize(xiEvent->event);
-- } else {
-- return;
-- }
-- }
-- }
-- xiDeviceEvent = xiEvent;
-- eventListener = windowEventListenerFromId(xiDeviceEvent->event);
-- sourceDeviceId = xiDeviceEvent->sourceid; // use the actual device id instead of the master
-- break;
-- }
-+ case XCB_INPUT_MOTION:
- case XCB_INPUT_TOUCH_BEGIN:
- case XCB_INPUT_TOUCH_UPDATE:
-- case XCB_INPUT_TOUCH_END: {
-+ case XCB_INPUT_TOUCH_END:
-+ {
- xiDeviceEvent = xiEvent;
- eventListener = windowEventListenerFromId(xiDeviceEvent->event);
diff --git a/dev-qt/qtbase/qtbase-6.7.2-r5.ebuild b/dev-qt/qtbase/qtbase-6.7.2-r5.ebuild
deleted file mode 100644
index bdb824ccb53d..000000000000
--- a/dev-qt/qtbase/qtbase-6.7.2-r5.ebuild
+++ /dev/null
@@ -1,364 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic qt6-build toolchain-funcs
-
-DESCRIPTION="Cross-platform application development framework"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
-fi
-
-declare -A QT6_IUSE=(
- [global]="+ssl +udev zstd"
- [core]="icu journald syslog"
- [modules]="+concurrent +dbus +gui +network +sql +xml"
-
- [gui]="
- +X accessibility eglfs evdev gles2-only +libinput
- opengl renderdoc tslib vulkan wayland +widgets
- "
- [network]="brotli gssapi libproxy sctp"
- [sql]="mysql oci8 odbc postgres +sqlite"
- [widgets]="cups gtk"
-
- [optfeature]="nls" #810802
-)
-IUSE="${QT6_IUSE[*]}"
-REQUIRED_USE="
- ?? ( journald syslog )
- $(
- printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/}
- printf '%s? ( network ) ' ${QT6_IUSE[network]//+/}
- printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/}
- printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/}
- )
- accessibility? ( dbus )
- eglfs? ( opengl )
- gles2-only? ( opengl )
- gui? ( || ( X eglfs wayland ) )
- libinput? ( udev )
- sql? ( || ( ${QT6_IUSE[sql]//+/} ) )
- test? ( icu sql? ( sqlite ) )
-"
-
-# groups:
-# - global (configure.cmake)
-# - qtcore (src/corelib/configure.cmake)
-# - qtgui (src/gui/configure.cmake)
-# - qtnetwork (src/network/configure.cmake)
-# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets]
-# - qtsql (src/plugins/sqldrivers/configure.cmake)
-# nolink: renderdoc, systemd
-COMMON_DEPEND="
- sys-libs/zlib:=
- ssl? ( dev-libs/openssl:= )
- udev? ( virtual/libudev:= )
- zstd? ( app-arch/zstd:= )
-
- app-crypt/libb2
- dev-libs/double-conversion:=
- dev-libs/glib:2
- dev-libs/libpcre2:=[pcre16,unicode(+)]
- icu? ( dev-libs/icu:= )
- journald? ( sys-apps/systemd )
-
- dbus? ( sys-apps/dbus )
- gui? (
- media-libs/fontconfig
- media-libs/freetype:2
- media-libs/harfbuzz:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- x11-libs/libdrm
- x11-libs/libxkbcommon[X?]
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/xcb-util-cursor
- x11-libs/xcb-util-image
- x11-libs/xcb-util-keysyms
- x11-libs/xcb-util-renderutil
- x11-libs/xcb-util-wm
- )
- accessibility? ( app-accessibility/at-spi2-core:2 )
- eglfs? ( media-libs/mesa[gbm(+)] )
- evdev? ( sys-libs/mtdev )
- libinput? ( dev-libs/libinput:= )
- opengl? (
- gles2-only? ( media-libs/libglvnd )
- !gles2-only? ( media-libs/libglvnd[X?] )
- )
- renderdoc? ( media-gfx/renderdoc )
- tslib? ( x11-libs/tslib )
- widgets? (
- cups? ( net-print/cups )
- gtk? (
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?]
- x11-libs/pango
- )
- )
- )
- network? (
- brotli? ( app-arch/brotli:= )
- gssapi? ( virtual/krb5 )
- libproxy? ( net-libs/libproxy )
- )
- sql? (
- mysql? ( dev-db/mysql-connector-c:= )
- oci8? ( dev-db/oracle-instantclient:=[sdk] )
- odbc? ( dev-db/unixODBC )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- syslog? ( virtual/logger )
-"
-DEPEND="
- ${COMMON_DEPEND}
- X? ( x11-base/xorg-proto )
- gui? (
- vulkan? ( dev-util/vulkan-headers )
- )
- network? (
- sctp? ( net-misc/lksctp-tools )
- )
- test? (
- elibc_musl? ( sys-libs/timezone-data )
- )
-"
-BDEPEND="zstd? ( app-arch/libarchive[zstd] )" #910392
-PDEPEND="
- nls? ( ~dev-qt/qttranslations-${PV}:6 )
- wayland? ( ~dev-qt/qtwayland-${PV}:6 )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
- "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
- "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
- "${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
- "${FILESDIR}"/${PN}-6.7.2-CVE-2024-39936.patch
- "${FILESDIR}"/${PN}-6.7.2-gcc15-odr.patch
- "${FILESDIR}"/${PN}-6.7.2-float16-sse2.patch
- "${FILESDIR}"/${PN}-6.7.2-qwindowprivate-crash.patch
- "${FILESDIR}"/${PN}-6.7.2-qcontiguouscache.patch
- "${FILESDIR}"/${PN}-6.7.2-haswell-no-rdrnd.patch
-)
-
-src_prepare() {
- qt6-build_src_prepare
-
- if use test; then
- # test itself has -Werror=strict-aliasing issues, drop for simplicity
- sed -e '/add_subdirectory(qsharedpointer)/d' \
- -i tests/auto/corelib/tools/CMakeLists.txt || die
-
- # workaround for __extendhfxf2 being used for tst_qfloat16.cpp
- # which is unavailable with compiler-rt (assume used if clang)
- if tc-is-clang; then
- sed -e '/add_subdirectory(qfloat16)/d' \
- -i tests/auto/corelib/global/CMakeLists.txt || die
- fi
- fi
-}
-
-src_configure() {
- # The only component that uses gdk backends is the qgtk3 platformtheme plugin
- if use gtk; then
- # defang automagic dependencies
- use wayland || append-cxxflags -DGENTOO_GTK_HIDE_WAYLAND
- use X || append-cxxflags -DGENTOO_GTK_HIDE_X11
- fi
-
- local mycmakeargs=(
- -DBUILD_WITH_PCH=OFF
-
- -DINSTALL_ARCHDATADIR="${QT6_ARCHDATADIR}"
- -DINSTALL_BINDIR="${QT6_BINDIR}"
- -DINSTALL_DATADIR="${QT6_DATADIR}"
- -DINSTALL_DOCDIR="${QT6_DOCDIR}"
- -DINSTALL_EXAMPLESDIR="${QT6_EXAMPLESDIR}"
- -DINSTALL_INCLUDEDIR="${QT6_HEADERDIR}"
- -DINSTALL_LIBDIR="${QT6_LIBDIR}"
- -DINSTALL_LIBEXECDIR="${QT6_LIBEXECDIR}"
- -DINSTALL_MKSPECSDIR="${QT6_MKSPECSDIR}"
- -DINSTALL_PLUGINSDIR="${QT6_PLUGINDIR}"
- -DINSTALL_QMLDIR="${QT6_QMLDIR}"
- -DINSTALL_SYSCONFDIR="${QT6_SYSCONFDIR}"
- -DINSTALL_TRANSLATIONSDIR="${QT6_TRANSLATIONDIR}"
-
- -DQT_UNITY_BUILD=ON # ~30% faster build, affects other dev-qt/* too
-
- -DQT_FEATURE_relocatable=OFF #927691
- $(qt_feature ssl openssl)
- $(qt_feature ssl openssl_linked)
- $(qt_feature udev libudev)
- $(qt_feature zstd)
-
- # qtcore
- $(qt_feature icu)
- $(qt_feature journald)
- $(qt_feature syslog)
-
- # tools
- -DQT_FEATURE_androiddeployqt=OFF
-
- # modules
- $(qt_feature concurrent)
- $(qt_feature dbus)
- $(qt_feature gui)
- $(qt_feature network)
- $(qt_feature sql)
- # trivial, and is often needed (sometimes even when not building tests)
- -DQT_FEATURE_testlib=ON
- $(qt_feature xml)
- )
-
- use gui && mycmakeargs+=(
- $(qt_feature X xcb)
- $(qt_feature X system_xcb_xinput)
- $(qt_feature X xkbcommon_x11)
- $(cmake_use_find_package X X11) # needed for truly no automagic
- $(qt_feature accessibility accessibility_atspi_bridge)
- $(qt_feature eglfs)
- $(qt_feature evdev)
- $(qt_feature evdev mtdev)
- $(qt_feature libinput)
- $(qt_feature renderdoc graphicsframecapture)
- $(qt_feature tslib)
- $(qt_feature vulkan)
- $(qt_feature wayland)
- $(qt_feature widgets)
- -DINPUT_opengl=$(usex opengl $(usex gles2-only es2 desktop) no)
- -DQT_FEATURE_system_textmarkdownreader=OFF # TODO?: package md4c
- ) && use widgets && mycmakeargs+=(
- # note: qtprintsupport is enabled w/ gui+widgets regardless of USE=cups
- $(qt_feature cups)
- $(qt_feature gtk gtk3)
- )
-
- use network && mycmakeargs+=(
- $(qt_feature brotli)
- $(qt_feature gssapi)
- $(qt_feature libproxy)
- $(qt_feature sctp)
- $(usev test -DQT_SKIP_DOCKER_COMPOSE=ON)
- )
-
- use sql && mycmakeargs+=(
- -DQT_FEATURE_sql_db2=OFF # unpackaged
- -DQT_FEATURE_sql_ibase=OFF # unpackaged
- -DQT_FEATURE_sql_mimer=OFF # unpackaged
- $(qt_feature mysql sql_mysql)
- $(qt_feature oci8 sql_oci)
- $(usev oci8 -DOracle_ROOT="${ESYSROOT}"/usr/$(get_libdir)/oracle/client)
- $(qt_feature odbc sql_odbc)
- $(qt_feature postgres sql_psql)
- $(qt_feature sqlite sql_sqlite)
- $(qt_feature sqlite system_sqlite)
- )
-
- qt6-build_src_configure
-}
-
-src_test() {
- local -x TZ=UTC
- local -x LC_TIME=C
-
- local CMAKE_SKIP_TESTS=(
- # broken with out-of-source + if qtbase is not already installed
- tst_moc
- tst_qmake
- # similarly broken when relocatable=OFF (bug #927691)
- tst_qapplication
- tst_qt_cmake_create
- tst_uic
- # needs x11/opengl, we *could* run these but tend to be flaky
- # when opengl rendering is involved (even if software-only)
- tst_qopengl{,config,widget,window}
- tst_qgraphicsview
- tst_qx11info
- # fails with network sandbox
- tst_qdnslookup
- # fails with sandbox
- tst_qsharedmemory
- # typical to lack SCTP support on non-generic kernels
- tst_qsctpsocket
- # randomly fails without -j1, and not worth it over this (bug #916181)
- tst_qfiledialog{,2}
- # may randomly hang+timeout, perhaps related to -j as well
- tst_qprocess #936484
- tst_qtimer
- # these can be flaky depending on the environment/toolchain
- tst_qlogging # backtrace log test can easily vary
- tst_q{,raw}font # affected by available fonts / settings (bug #914737)
- tst_qprinter # checks system's printers (bug #916216)
- tst_qhighdpi # may detect users' settings and fail (bug #935364)
- tst_qstorageinfo # checks mounted filesystems
- # flaky due to using different test framework and fails with USE=-gui
- tst_selftests
- # known failing when using clang+glibc+stdc++, needs looking into
- tst_qthread
- # partially failing on x86 chroots and seemingly(?) harmless (dev-qt
- # revdeps tests pass), skip globally to avoid keywording flakiness
- tst_json
- tst_qcolorspace
- tst_qdoublevalidator
- tst_qglobal
- tst_qglyphrun
- tst_qvectornd
- tst_rcc
- # similarly, but on armv7 and potentially others (bug #914028)
- tst_qlineedit
- tst_qpainter
- # likewise, known failing on BE arches (bug #914033,914371,918878)
- tst_qimagereader
- tst_qimagewriter
- tst_qpluginloader
- tst_quuid # >=6.6.2 had related fixes, needs retesting
- # partially broken on llvm-musl, needs looking into but skip to have
- # a baseline for regressions (rest of dev-qt still passes with musl)
- $(usev elibc_musl '
- tst_qicoimageformat
- tst_qimagereader
- tst_qimage
- ')
- # fails due to hppa's NaN handling, needs looking into (bug #914371)
- $(usev hppa '
- tst_qcborvalue
- tst_qnumeric
- ')
- # note: for linux, upstream only really runs+maintains tests for amd64
- # https://doc.qt.io/qt-6/supported-platforms.html
- )
-
- qt6-build_src_test
-}
-
-src_install() {
- qt6-build_src_install
-
- if use test; then
- local delete_bins=( # need a better way to handle this
- clientserver copier crashingServer desktopsettingsaware_helper
- echo fileWriterProcess modal_helper nospace 'one space'
- paster qcommandlineparser_test_helper qfileopeneventexternal
- socketprocess syslocaleapp tst_qhashseed_helper 'two space s'
- write-read-write
- )
- local delete=( # sigh
- "${D}${QT6_BINDIR}"/test*
- "${delete_bins[@]/#/${D}${QT6_BINDIR}/}"
- )
- # using -f given not tracking which tests may be skipped or not
- rm -rf -- "${delete[@]}" || die
- fi
-}
diff --git a/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild b/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
deleted file mode 100644
index 69e086cb213e..000000000000
--- a/dev-qt/qtbase/qtbase-6.7.3-r2.ebuild
+++ /dev/null
@@ -1,361 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic qt6-build toolchain-funcs
-
-DESCRIPTION="Cross-platform application development framework"
-
-if [[ ${QT6_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
-fi
-
-declare -A QT6_IUSE=(
- [global]="+ssl +udev zstd"
- [core]="icu journald syslog"
- [modules]="+concurrent +dbus +gui +network +sql +xml"
-
- [gui]="
- +X accessibility eglfs evdev gles2-only +libinput
- opengl renderdoc tslib vulkan wayland +widgets
- "
- [network]="brotli gssapi libproxy sctp"
- [sql]="mysql oci8 odbc postgres +sqlite"
- [widgets]="cups gtk"
-
- [optfeature]="nls" #810802
-)
-IUSE="${QT6_IUSE[*]}"
-REQUIRED_USE="
- ?? ( journald syslog )
- $(
- printf '%s? ( gui ) ' ${QT6_IUSE[gui]//+/}
- printf '%s? ( network ) ' ${QT6_IUSE[network]//+/}
- printf '%s? ( sql ) ' ${QT6_IUSE[sql]//+/}
- printf '%s? ( gui widgets ) ' ${QT6_IUSE[widgets]//+/}
- )
- accessibility? ( dbus )
- eglfs? ( opengl )
- gles2-only? ( opengl )
- gui? ( || ( X eglfs wayland ) )
- libinput? ( udev )
- sql? ( || ( ${QT6_IUSE[sql]//+/} ) )
- test? ( icu sql? ( sqlite ) )
-"
-
-# groups:
-# - global (configure.cmake)
-# - qtcore (src/corelib/configure.cmake)
-# - qtgui (src/gui/configure.cmake)
-# - qtnetwork (src/network/configure.cmake)
-# - qtprintsupport (src/printsupport/configure.cmake) [gui+widgets]
-# - qtsql (src/plugins/sqldrivers/configure.cmake)
-# nolink: renderdoc, systemd
-COMMON_DEPEND="
- sys-libs/zlib:=
- ssl? ( dev-libs/openssl:= )
- udev? ( virtual/libudev:= )
- zstd? ( app-arch/zstd:= )
-
- app-crypt/libb2
- dev-libs/double-conversion:=
- dev-libs/glib:2
- dev-libs/libpcre2:=[pcre16,unicode(+)]
- icu? ( dev-libs/icu:= )
- journald? ( sys-apps/systemd )
-
- dbus? ( sys-apps/dbus )
- gui? (
- media-libs/fontconfig
- media-libs/freetype:2
- media-libs/harfbuzz:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- x11-libs/libdrm
- x11-libs/libxkbcommon[X?]
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/xcb-util-cursor
- x11-libs/xcb-util-image
- x11-libs/xcb-util-keysyms
- x11-libs/xcb-util-renderutil
- x11-libs/xcb-util-wm
- )
- accessibility? ( app-accessibility/at-spi2-core:2 )
- eglfs? ( media-libs/mesa[gbm(+)] )
- evdev? ( sys-libs/mtdev )
- libinput? ( dev-libs/libinput:= )
- opengl? (
- gles2-only? ( media-libs/libglvnd )
- !gles2-only? ( media-libs/libglvnd[X?] )
- )
- renderdoc? ( media-gfx/renderdoc )
- tslib? ( x11-libs/tslib )
- widgets? (
- cups? ( net-print/cups )
- gtk? (
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?]
- x11-libs/pango
- )
- )
- )
- network? (
- brotli? ( app-arch/brotli:= )
- gssapi? ( virtual/krb5 )
- libproxy? ( net-libs/libproxy )
- )
- sql? (
- mysql? ( dev-db/mysql-connector-c:= )
- oci8? ( dev-db/oracle-instantclient:=[sdk] )
- odbc? ( dev-db/unixODBC )
- postgres? ( dev-db/postgresql:* )
- sqlite? ( dev-db/sqlite:3 )
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- syslog? ( virtual/logger )
-"
-DEPEND="
- ${COMMON_DEPEND}
- X? ( x11-base/xorg-proto )
- gui? (
- vulkan? ( dev-util/vulkan-headers )
- )
- network? (
- sctp? ( net-misc/lksctp-tools )
- )
- test? (
- elibc_musl? ( sys-libs/timezone-data )
- )
-"
-BDEPEND="zstd? ( app-arch/libarchive[zstd] )" #910392
-PDEPEND="
- nls? ( ~dev-qt/qttranslations-${PV}:6 )
- wayland? ( ~dev-qt/qtwayland-${PV}:6 )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.5.2-hppa-forkfd-grow-stack.patch
- "${FILESDIR}"/${PN}-6.5.2-no-symlink-check.patch
- "${FILESDIR}"/${PN}-6.6.1-forkfd-childstack-size.patch
- "${FILESDIR}"/${PN}-6.6.3-gcc14-avx512fp16.patch
- "${FILESDIR}"/${PN}-6.7.2-qcontiguouscache.patch
- "${FILESDIR}"/${PN}-6.7.2-haswell-no-rdrnd.patch
- "${FILESDIR}"/${PN}-6.7.3-erratic-mouse-input.patch
- "${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch
-)
-
-src_prepare() {
- qt6-build_src_prepare
-
- if use test; then
- # test itself has -Werror=strict-aliasing issues, drop for simplicity
- sed -e '/add_subdirectory(qsharedpointer)/d' \
- -i tests/auto/corelib/tools/CMakeLists.txt || die
-
- # workaround for __extendhfxf2 being used for tst_qfloat16.cpp
- # which is unavailable with compiler-rt (assume used if clang)
- if tc-is-clang; then
- sed -e '/add_subdirectory(qfloat16)/d' \
- -i tests/auto/corelib/global/CMakeLists.txt || die
- fi
- fi
-}
-
-src_configure() {
- if use gtk; then
- # defang automagic dependencies (bug #624960)
- use X || append-cxxflags -DGENTOO_GTK_HIDE_X11
- use wayland || append-cxxflags -DGENTOO_GTK_HIDE_WAYLAND
- fi
-
- local mycmakeargs=(
- -DBUILD_WITH_PCH=OFF
-
- -DINSTALL_ARCHDATADIR="${QT6_ARCHDATADIR}"
- -DINSTALL_BINDIR="${QT6_BINDIR}"
- -DINSTALL_DATADIR="${QT6_DATADIR}"
- -DINSTALL_DOCDIR="${QT6_DOCDIR}"
- -DINSTALL_EXAMPLESDIR="${QT6_EXAMPLESDIR}"
- -DINSTALL_INCLUDEDIR="${QT6_HEADERDIR}"
- -DINSTALL_LIBDIR="${QT6_LIBDIR}"
- -DINSTALL_LIBEXECDIR="${QT6_LIBEXECDIR}"
- -DINSTALL_MKSPECSDIR="${QT6_MKSPECSDIR}"
- -DINSTALL_PLUGINSDIR="${QT6_PLUGINDIR}"
- -DINSTALL_QMLDIR="${QT6_QMLDIR}"
- -DINSTALL_SYSCONFDIR="${QT6_SYSCONFDIR}"
- -DINSTALL_TRANSLATIONSDIR="${QT6_TRANSLATIONDIR}"
-
- -DQT_UNITY_BUILD=ON # ~30% faster build, affects other dev-qt/* too
-
- -DQT_FEATURE_relocatable=OFF #927691
- $(qt_feature ssl openssl)
- $(qt_feature ssl openssl_linked)
- $(qt_feature udev libudev)
- $(qt_feature zstd)
-
- # qtcore
- $(qt_feature icu)
- $(qt_feature journald)
- $(qt_feature syslog)
-
- # tools
- -DQT_FEATURE_androiddeployqt=OFF
-
- # modules
- $(qt_feature concurrent)
- $(qt_feature dbus)
- $(qt_feature gui)
- $(qt_feature network)
- $(qt_feature sql)
- # trivial, and is often needed (sometimes even when not building tests)
- -DQT_FEATURE_testlib=ON
- $(qt_feature xml)
- )
-
- use gui && mycmakeargs+=(
- $(qt_feature X xcb)
- $(qt_feature X system_xcb_xinput)
- $(qt_feature X xkbcommon_x11)
- $(cmake_use_find_package X X11) # needed for truly no automagic
- $(qt_feature accessibility accessibility_atspi_bridge)
- $(qt_feature eglfs)
- $(qt_feature evdev)
- $(qt_feature evdev mtdev)
- $(qt_feature libinput)
- $(qt_feature renderdoc graphicsframecapture)
- $(qt_feature tslib)
- $(qt_feature vulkan)
- $(qt_feature wayland)
- $(qt_feature widgets)
- -DINPUT_opengl=$(usex opengl $(usex gles2-only es2 desktop) no)
- -DQT_FEATURE_system_textmarkdownreader=OFF # TODO?: package md4c
- ) && use widgets && mycmakeargs+=(
- # note: qtprintsupport is enabled w/ gui+widgets regardless of USE=cups
- $(qt_feature cups)
- $(qt_feature gtk gtk3)
- )
-
- use network && mycmakeargs+=(
- $(qt_feature brotli)
- $(qt_feature gssapi)
- $(qt_feature libproxy)
- $(qt_feature sctp)
- $(usev test -DQT_SKIP_DOCKER_COMPOSE=ON)
- )
-
- use sql && mycmakeargs+=(
- -DQT_FEATURE_sql_db2=OFF # unpackaged
- -DQT_FEATURE_sql_ibase=OFF # unpackaged
- -DQT_FEATURE_sql_mimer=OFF # unpackaged
- $(qt_feature mysql sql_mysql)
- $(qt_feature oci8 sql_oci)
- $(usev oci8 -DOracle_ROOT="${ESYSROOT}"/usr/$(get_libdir)/oracle/client)
- $(qt_feature odbc sql_odbc)
- $(qt_feature postgres sql_psql)
- $(qt_feature sqlite sql_sqlite)
- $(qt_feature sqlite system_sqlite)
- )
-
- qt6-build_src_configure
-}
-
-src_test() {
- local -x TZ=UTC
- local -x LC_TIME=C
-
- local CMAKE_SKIP_TESTS=(
- # broken with out-of-source + if qtbase is not already installed
- tst_moc
- tst_qmake
- # similarly broken when relocatable=OFF (bug #927691)
- tst_qapplication
- tst_qt_cmake_create
- tst_uic
- # needs x11/opengl, we *could* run these but tend to be flaky
- # when opengl rendering is involved (even if software-only)
- tst_qopengl{,config,widget,window}
- tst_qgraphicsview
- tst_qx11info
- # fails with network sandbox
- tst_qdnslookup
- # fails with sandbox
- tst_qsharedmemory
- # typical to lack SCTP support on non-generic kernels
- tst_qsctpsocket
- # randomly fails without -j1, and not worth it over this (bug #916181)
- tst_qfiledialog{,2}
- # may randomly hang+timeout, perhaps related to -j as well
- tst_qprocess #936484
- tst_qtimer
- # these can be flaky depending on the environment/toolchain
- tst_qlogging # backtrace log test can easily vary
- tst_q{,raw}font # affected by available fonts / settings (bug #914737)
- tst_qprinter # checks system's printers (bug #916216)
- tst_qhighdpi # may detect users' settings and fail (bug #935364)
- tst_qstorageinfo # checks mounted filesystems
- # flaky due to using different test framework and fails with USE=-gui
- tst_selftests
- # known failing when using clang+glibc+stdc++, needs looking into
- tst_qthread
- # partially failing on x86 chroots and seemingly(?) harmless (dev-qt
- # revdeps tests pass), skip globally to avoid keywording flakiness
- tst_json
- tst_qcolorspace
- tst_qdoublevalidator
- tst_qglobal
- tst_qglyphrun
- tst_qvectornd
- tst_rcc
- # similarly, but on armv7 and potentially others (bug #914028)
- tst_qlineedit
- tst_qpainter
- # likewise, known failing on BE arches (bug #914033,914371,918878)
- tst_qimagereader
- tst_qimagewriter
- tst_qpluginloader
- tst_quuid # >=6.6.2 had related fixes, needs retesting
- # partially broken on llvm-musl, needs looking into but skip to have
- # a baseline for regressions (rest of dev-qt still passes with musl)
- $(usev elibc_musl '
- tst_qicoimageformat
- tst_qimagereader
- tst_qimage
- ')
- # fails due to hppa's NaN handling, needs looking into (bug #914371)
- $(usev hppa '
- tst_qcborvalue
- tst_qnumeric
- ')
- # note: for linux, upstream only really runs+maintains tests for amd64
- # https://doc.qt.io/qt-6/supported-platforms.html
- )
-
- qt6-build_src_test
-}
-
-src_install() {
- qt6-build_src_install
-
- if use test; then
- local delete_bins=( # need a better way to handle this
- clientserver copier crashingServer desktopsettingsaware_helper
- echo fileWriterProcess modal_helper nospace 'one space'
- paster qcommandlineparser_test_helper qfileopeneventexternal
- socketprocess syslocaleapp tst_qhashseed_helper 'two space s'
- write-read-write
- )
- local delete=( # sigh
- "${D}${QT6_BINDIR}"/test*
- "${delete_bins[@]/#/${D}${QT6_BINDIR}/}"
- )
- # using -f given not tracking which tests may be skipped or not
- rm -rf -- "${delete[@]}" || die
- fi
-}