commit: 53aa6cc14324894fdf272070049ba3a3955fb25b Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Sun Sep 28 04:12:09 2025 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Sun Sep 28 06:50:40 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=53aa6cc1
dev-qt/qtbase: drop 6.9.1-r3 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> dev-qt/qtbase/Manifest | 1 - .../qtbase/files/qtbase-6.9.1-CVE-2025-5992.patch | 25 -- .../qtbase/files/qtbase-6.9.1-QTBUG-137755.patch | 130 ------- .../files/qtbase-6.9.1-kwin-x11-cpu-usage.patch | 14 - dev-qt/qtbase/qtbase-6.9.1-r3.ebuild | 417 --------------------- 5 files changed, 587 deletions(-) diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest index 645775084725..81cb9dea4349 100644 --- a/dev-qt/qtbase/Manifest +++ b/dev-qt/qtbase/Manifest @@ -1,3 +1,2 @@ DIST qtbase-everywhere-src-6.10.0-rc.tar.xz 50206024 BLAKE2B d72c555ebff5939f79a304a3bc38dc5c6330bc73877cda0daa7535ab02df0ffdee78d9df5b5ee7c89f9aea046979ead8840ca48771c4a2d4f6a85357dbf658b1 SHA512 19b7b8aead1accc92dcee39a1354e800281e740d27527a46d158f92c66554d12a82642c038f6a40cb92e87ebdd65c3f4a6c8a4cee1604f2a5a7aafb37ccd62ca -DIST qtbase-everywhere-src-6.9.1.tar.xz 49755912 BLAKE2B 557c894eaa6933152c0c12e187bbac26d8166b4657af0259e65c87915c2b58a371ad5a080fe2cf8720757fdd5f61b3c82507163a236b65edd274b6c6d00068d7 SHA512 f0fdf4e2c10db73d8036e4b1324f04f48eced78feeed450b0ffa1fac5574daa4173996a4d25da761f5eeaa6037eab02418a88a59fd760d96a08d813c9b8136ed DIST qtbase-everywhere-src-6.9.2.tar.xz 49812824 BLAKE2B 6e378ae0d8a7f716b2c94683b8fe1d785b4d8dfea20d3f6ddeb8f82d19208d3cbefc16670ea94770724f09e87d23d019dc03424122a509cd16dc41c27e99ce0d SHA512 3fab05fd17165b5e4501236f736c2b4c8d28929e17ce19de614851ae69adad88d621360c441d1ff2954ab24dee0d461d948cf699bc1c58f4b766ca8379de651e diff --git a/dev-qt/qtbase/files/qtbase-6.9.1-CVE-2025-5992.patch b/dev-qt/qtbase/files/qtbase-6.9.1-CVE-2025-5992.patch deleted file mode 100644 index b7ec70b657b2..000000000000 --- a/dev-qt/qtbase/files/qtbase-6.9.1-CVE-2025-5992.patch +++ /dev/null @@ -1,25 +0,0 @@ -https://bugs.gentoo.org/959851 -https://www.qt.io/blog/security-advisory-recently-reported-denial-of-service-issue-in-qcolortransfergenericfunction-impacts-qt -https://codereview.qt-project.org/c/qt/qtbase/+/657023 ---- a/src/gui/painting/qcolortransfergeneric_p.h -+++ b/src/gui/painting/qcolortransfergeneric_p.h -@@ -19,2 +19,3 @@ - -+#include <algorithm> - #include <cmath> -@@ -67,2 +68,3 @@ - { -+ x = std::clamp(x, 0.f, 12.f); - if (x > 1.f) -@@ -75,2 +77,3 @@ - { -+ x = std::clamp(x, 0.f, 1.f); - if (x < 0.5f) -@@ -88,2 +91,3 @@ - { -+ e = std::clamp(e, 0.f, 1.f); - // m2-th root of E' -@@ -101,2 +105,3 @@ - { -+ fd = std::clamp(fd, 0.f, 64.f); - // scale Fd to Y diff --git a/dev-qt/qtbase/files/qtbase-6.9.1-QTBUG-137755.patch b/dev-qt/qtbase/files/qtbase-6.9.1-QTBUG-137755.patch deleted file mode 100644 index b7b2c2b3c586..000000000000 --- a/dev-qt/qtbase/files/qtbase-6.9.1-QTBUG-137755.patch +++ /dev/null @@ -1,130 +0,0 @@ -https://bugs.gentoo.org/959225 -https://bugreports.qt.io/browse/QTBUG-137755 -https://codereview.qt-project.org/c/qt/qtbase/+/653890 -https://codereview.qt-project.org/c/qt/qtbase/+/653891 -https://codereview.qt-project.org/c/qt/qtbase/+/653892 -https://codereview.qt-project.org/c/qt/qtbase/+/653893 -https://codereview.qt-project.org/c/qt/qtbase/+/653894 ---- a/src/widgets/widgets/qmainwindowlayout.cpp -+++ b/src/widgets/widgets/qmainwindowlayout.cpp -@@ -1768,6 +1768,4 @@ - for (QTabBar *bar : std::as_const(usedTabBars)) - bar->setDocumentMode(_documentMode); -- for (QTabBar *bar : std::as_const(unusedTabBars)) -- bar->setDocumentMode(_documentMode); - } - -@@ -1894,5 +1892,5 @@ - { - Q_OBJECT -- QMainWindow *mainWindow; -+ QPointer<QMainWindow> mainWindow; - QPointer<QDockWidget> draggingDock; // Currently dragging (detached) dock widget - public: -@@ -1909,4 +1907,20 @@ - }; - -+QDebug operator<<(QDebug debug, const QMainWindowTabBar *bar) -+{ -+ if (!bar) -+ return debug << "QMainWindowTabBar(0x0)"; -+ QDebugStateSaver saver(debug); -+ debug.nospace().noquote() << "QMainWindowTabBar(" << static_cast<const void *>(bar) << ", "; -+ debug.nospace().noquote() << "ParentWidget=(" << bar->parentWidget() << "), "; -+ const auto dockWidgets = bar->dockWidgets(); -+ if (dockWidgets.isEmpty()) -+ debug.nospace().noquote() << "No QDockWidgets"; -+ else -+ debug.nospace().noquote() << "DockWidgets(" << dockWidgets << ")"; -+ debug.nospace().noquote() << ")"; -+ return debug; -+} -+ - QMainWindowTabBar *QMainWindowLayout::findTabBar(const QDockWidget *dockWidget) const - { -@@ -1954,5 +1968,5 @@ - QMainWindowTabBar *that = const_cast<QMainWindowTabBar *>(this); - QMainWindowLayout* mlayout = qt_mainwindow_layout(mainWindow); -- QDockAreaLayoutInfo *info = mlayout->dockInfo(that); -+ QDockAreaLayoutInfo *info = mlayout ? mlayout->dockInfo(that) : nullptr; - if (!info) - return nullptr; -@@ -2049,5 +2063,4 @@ - if (!mwLayout) - return; -- mwLayout->unusedTabBars.removeOne(this); - mwLayout->usedTabBars.remove(this); - } -@@ -2105,4 +2118,10 @@ - } - -+void QMainWindowLayout::unuseTabBar(QTabBar *bar) -+{ -+ Q_ASSERT(qobject_cast<QMainWindowTabBar *>(bar)); -+ delete bar; -+} -+ - QTabBar *QMainWindowLayout::getTabBar() - { -@@ -2116,19 +2135,14 @@ - } - -- QTabBar *result = nullptr; -- if (!unusedTabBars.isEmpty()) { -- result = unusedTabBars.takeLast(); -- } else { -- result = new QMainWindowTabBar(static_cast<QMainWindow *>(parentWidget())); -- result->setDrawBase(true); -- result->setElideMode(Qt::ElideRight); -- result->setDocumentMode(_documentMode); -- result->setMovable(true); -- connect(result, SIGNAL(currentChanged(int)), this, SLOT(tabChanged())); -- connect(result, &QTabBar::tabMoved, this, &QMainWindowLayout::tabMoved); -- } -+ QTabBar *bar = new QMainWindowTabBar(static_cast<QMainWindow *>(parentWidget())); -+ bar->setDrawBase(true); -+ bar->setElideMode(Qt::ElideRight); -+ bar->setDocumentMode(_documentMode); -+ bar->setMovable(true); -+ connect(bar, SIGNAL(currentChanged(int)), this, SLOT(tabChanged())); -+ connect(bar, &QTabBar::tabMoved, this, &QMainWindowLayout::tabMoved); - -- usedTabBars.insert(result); -- return result; -+ usedTabBars.insert(bar); -+ return bar; - } - -@@ -2731,12 +2745,4 @@ - - delete statusbar; -- --#if QT_CONFIG(dockwidget) && QT_CONFIG(tabwidget) -- // unusedTabBars contains unparented tab bars, which need to be removed manually. -- // ~QMainWindowTabBar() attempts to remove the barĀ from unusedTabBars -- // => move it out of the way first. -- const auto bars = std::move(unusedTabBars); -- qDeleteAll(bars); --#endif // QT_CONFIG(dockwidget) && QT_CONFIG(tabwidget) - } - -@@ -3213,8 +3219,5 @@ - usedTabBars = used; - for (QTabBar *tab_bar : retired) { -- tab_bar->hide(); -- while (tab_bar->count() > 0) -- tab_bar->removeTab(0); -- unusedTabBars.append(tab_bar); -+ unuseTabBar(tab_bar); - } - ---- a/src/widgets/widgets/qmainwindowlayout_p.h -+++ b/src/widgets/widgets/qmainwindowlayout_p.h -@@ -551,6 +551,6 @@ - - QTabBar *getTabBar(); -+ void unuseTabBar(QTabBar *bar); - QSet<QTabBar*> usedTabBars; -- QList<QTabBar*> unusedTabBars; - bool verticalTabsEnabled; - diff --git a/dev-qt/qtbase/files/qtbase-6.9.1-kwin-x11-cpu-usage.patch b/dev-qt/qtbase/files/qtbase-6.9.1-kwin-x11-cpu-usage.patch deleted file mode 100644 index 23362def796e..000000000000 --- a/dev-qt/qtbase/files/qtbase-6.9.1-kwin-x11-cpu-usage.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://bugs.kde.org/show_bug.cgi?id=489230 -https://bugs.kde.org/show_bug.cgi?id=484323 -https://codereview.qt-project.org/c/qt/qtbase/+/663811 ---- a/src/plugins/platforms/xcb/qxcbscreen.cpp -+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp -@@ -501,3 +501,2 @@ - if (connection->isAtLeastXRandR12()) { -- xcb_randr_select_input(xcb_connection(), screen()->root, true); - auto crtc = Q_XCB_REPLY_UNCHECKED(xcb_randr_get_crtc_info, xcb_connection(), -@@ -607,4 +606,2 @@ - -- xcb_randr_select_input(xcb_connection(), screen()->root, true); -- - m_monitor = monitorInfo; diff --git a/dev-qt/qtbase/qtbase-6.9.1-r3.ebuild b/dev-qt/qtbase/qtbase-6.9.1-r3.ebuild deleted file mode 100644 index 925080218dff..000000000000 --- a/dev-qt/qtbase/qtbase-6.9.1-r3.ebuild +++ /dev/null @@ -1,417 +0,0 @@ -# Copyright 2021-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -QT6_HAS_STATIC_LIBS=1 -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.13.1: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 ) - ) -" -# wrt blockers: users do not always depclean regularly and outdated -# dev-qt packages sometime cause runtime issues (update this when new -# Qt libraries/plugins are added, and keep old for 2y+ if removed) -RDEPEND=" - ${COMMON_DEPEND} - !<dev-qt/qt3d-${PV}:6 - !<dev-qt/qt5compat-${PV}:6 - !<dev-qt/qtcharts-${PV}:6 - !<dev-qt/qtconnectivity-${PV}:6 - !<dev-qt/qtdeclarative-${PV}:6 - !<dev-qt/qthttpserver-${PV}:6 - !<dev-qt/qtimageformats-${PV}:6 - !<dev-qt/qtlanguageserver-${PV}:6 - !<dev-qt/qtlocation-${PV}:6 - !<dev-qt/qtmultimedia-${PV}:6 - !<dev-qt/qtnetworkauth-${PV}:6 - !<dev-qt/qtpositioning-${PV}:6 - !<dev-qt/qtquick3d-${PV}:6 - !<dev-qt/qtquicktimeline-${PV}:6 - !<dev-qt/qtremoteobjects-${PV}:6 - !<dev-qt/qtscxml-${PV}:6 - !<dev-qt/qtsensors-${PV}:6 - !<dev-qt/qtserialbus-${PV}:6 - !<dev-qt/qtserialport-${PV}:6 - !<dev-qt/qtshadertools-${PV}:6 - !<dev-qt/qtspeech-${PV}:6 - !<dev-qt/qtsvg-${PV}:6 - !<dev-qt/qttools-${PV}:6 - !<dev-qt/qtvirtualkeyboard-${PV}:6 - !<dev-qt/qtwayland-${PV}:6 - !<dev-qt/qtwebchannel-${PV}:6 - !<dev-qt/qtwebengine-${PV}:6 - !<dev-qt/qtwebsockets-${PV}:6 - !<dev-qt/qtwebview-${PV}:6 - 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.8.2-cross.patch - "${FILESDIR}"/${PN}-6.9.0-no-direct-extern-access.patch - "${FILESDIR}"/${PN}-6.9.1-QTBUG-137755.patch - "${FILESDIR}"/${PN}-6.9.1-CVE-2025-5992.patch - "${FILESDIR}"/${PN}-6.9.1-kwin-x11-cpu-usage.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_force_system_libs=ON - -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) - - # let gentoo's defaults and/or users control security *FLAGS - -DQT_FEATURE_glibc_fortify_source=OFF - -DQT_FEATURE_intelcet=OFF - -DQT_FEATURE_libcpp_hardening=OFF - -DQT_FEATURE_libstdcpp_assertions=OFF - -DQT_FEATURE_relro_now_linker=OFF - -DQT_FEATURE_stack_clash_protection=OFF - -DQT_FEATURE_stack_protector=OFF - -DQT_FEATURE_trivial_auto_var_init_pattern=OFF - - -DQT_INTERNAL_AVOID_OVERRIDING_SYNCQT_CONFIG=ON # would force -O3 - ) - - 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) - ) - - tc-is-cross-compiler && mycmakeargs+=( - -DQT_HOST_PATH="${BROOT}"/usr - -DQT_FORCE_BUILD_TOOLS=ON - -DQT_NO_GENERATE_QMAKE_WRAPPER_FOR_TARGET=ON - ) - - 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 - # haystacksWithMoreThan4GiBWork can easily OOM (16GB ram not enough) - tst_qlatin1stringmatcher - # 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 - apphelper 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* - "${D}${QT6_LIBDIR}/objects-${CMAKE_BUILD_TYPE}"/*test* - "${delete_bins[@]/#/${D}${QT6_BINDIR}/}" - ) - # using -f given not tracking which tests may be skipped or not - rm -rf -- "${delete[@]}" || die - fi -}
