diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-07-16 12:27:58 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-07-16 12:27:58 +0100 |
commit | b6fa31c964a602f8461a77d5b83355e8750c12eb (patch) | |
tree | 323fa7af31640b3ea8bb57fa7a927713f3d64769 /dev-qt/qtbase | |
parent | 868fd5dc8aab84930cfaa5252b8be06b35552765 (diff) |
gentoo auto-resync : 16:07:2024 - 12:27:58
Diffstat (limited to 'dev-qt/qtbase')
-rw-r--r-- | dev-qt/qtbase/Manifest | 4 | ||||
-rw-r--r-- | dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch | 35 | ||||
-rw-r--r-- | dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch | 159 | ||||
-rw-r--r-- | dev-qt/qtbase/qtbase-6.7.1.ebuild | 351 |
4 files changed, 0 insertions, 549 deletions
diff --git a/dev-qt/qtbase/Manifest b/dev-qt/qtbase/Manifest index 547d4d049776..58b0c297a090 100644 --- a/dev-qt/qtbase/Manifest +++ b/dev-qt/qtbase/Manifest @@ -2,11 +2,7 @@ AUX qtbase-6.5.2-hppa-forkfd-grow-stack.patch 1001 BLAKE2B 21fabd37d44ad496d2e11 AUX qtbase-6.5.2-no-symlink-check.patch 152 BLAKE2B 676ff8577f678fe3ed1e34e3fc8f7a9b16145259b2e23c432d4cb08465cb5d3a6685e557c9da862f3abb0d51459c7dc055155d804c3daef768bf0e9bdcc3b162 SHA512 6a82cb63812c7fa6d04e9ba9d017ce23ff1d620ec6ebcd575719678138d74e1298e3962d48e211ee72c9a533f03cb7a0fa47b428592a1402ec7ad1d1c487a4b4 AUX qtbase-6.6.1-forkfd-childstack-size.patch 1003 BLAKE2B abc1bc5633032fc55fca91ef3dcc33617b11694d7a9d97e5eac21c0b4aae900082b7158da08b8514a3424364a3c35cb49d46fa11a0739aadbb73766b7fee949a SHA512 9e1dfb3452858131db286cb30915871e46178bb0891b604a257745fad133676cdf0df5273b6f681c49b1c3d3245f2c6e0a5025ce19efe6a0ed8bf5a1b3a5a5f0 AUX qtbase-6.6.3-gcc14-avx512fp16.patch 470 BLAKE2B 616b4fdcee6819a0ca4de1220f7524e0df00e13912e2e28d5c204d1a3e2bc351b9cdc212b9169e4d84e2884df76d9722a73f29734c18fe50cc8e6583e41a5cc2 SHA512 1effa903d5d3c65ffc6af5fb2f9896346b4b90cd1f8a54f0a697f23f1c118dd1803b5f4fa9b4959cf4ba1c433d36ca21a6abe6cb3bfae84a811297566388e907 -AUX qtbase-6.6.3-pkgconf-deps.patch 1873 BLAKE2B a801c6aba664e676dabf421d0a8b912359b3c66cd12a67b0f16f501feec101ba0e5247d34ac43279da1b1dfc513a504d57dd56dc9f114ecf7dca501c09703622 SHA512 1bacc3ca28dd9a866570f3f792ac6613a1a291e0a0a0b2cda5d8c314e6a0ab1ae8104d7066addabd3693d5424d390eccad953bcd94c1aa296ce1394141ff0f28 -AUX qtbase-6.7.1-qeventlooplocker.patch 7083 BLAKE2B c2413fda052de5d5695050a5bfcd7dea3ff10f0ffb904e5368ef60a25f31b4599313ebfc36d546ca1d9ebff3df38a63ba0725dabf999d919b67509af26a2c815 SHA512 1fd2115fedb413459d961c6047a78713c6393e87325e8adf74d50730586438e5bb7c7ce8b26528a6721c98421275a0f842537a19399fd9818cc5b57123f44438 -DIST qtbase-everywhere-src-6.7.1.tar.xz 49324536 BLAKE2B 5e5a5801c29c1ac541812931cd56709a934a500ce4d5a38e7d3776620cb46db0d25408c22cbf33a7bcc657098c571e501fde14f523a77acba1827edd977d2bc5 SHA512 864bebfc3659907e52b8dc3f62a65d431573ef2bf406a9f71c688229083a2128c5474f75823275d11948be3d031de1d6427acf373f977df9ee9e73a27ef56efb DIST qtbase-everywhere-src-6.7.2.tar.xz 49364504 BLAKE2B b48b8a8decafe3262d459b9446c25561851fef88b3316107c2909f5964e8122a558b5501a3e59667bdf4776d36ea5ba0d9f227538c45c1f8e94fbc8fff4244a6 SHA512 eb4b2f1fb02ab0ed5508d32449e140778278ff1a619cfcae14920b276b5c46e01a566d73fb8f84cf2cfc81e19cb11e53ab500df6b27d12ab875aa8c07bd15d6b -EBUILD qtbase-6.7.1.ebuild 9650 BLAKE2B 0731f4a5230ad7212f8fae6d467ee34467cbda184a08bd289a9bf9533384c9f41c21276247e4f3543ff4807d6f654331f97377d285b54a4a987596296eedb775 SHA512 c330431375470cb22a25b5394730a3eebe14b4b6ef36527560b102db1c23da118db86507fe8466508fd5d22bb5d4e9b0a4c59d4d5a1d5ab48f91247fa74e03d7 EBUILD qtbase-6.7.2.ebuild 9553 BLAKE2B 141d9c8b0f1a288c7392fc60661e37e1c85349a2518bcdb9d042fe59eb63c59fd189fd5f1fa2b14aaab72356c7b63ce36425d5c95398a6621451c8afb5c355fa SHA512 87dfa9e3661f40feaee3d425a33f482301ae15920579c4b805872be51eee2f595179f2a83e2eab86d40daaff190da666959f9a6638cc3c827575221b031f499f EBUILD qtbase-6.7.9999.ebuild 9559 BLAKE2B 5963ad805fab54ad09255d5fa42ee6f7abdba38aa2caf211138b3df78abb4f714d54122aaf66b7455a0740e40002ee77b0bb67a5bdba307ec02ae69a92607362 SHA512 4924e009671bfc94d8c2da05ea884ce8043d77adcbd2cc403c3badbf5034e1ea511bfb4df6d343a531471d472cb865e49bcc7f7028b195647f50bab4aa6f164f EBUILD qtbase-6.8.9999.ebuild 9998 BLAKE2B 71b9fc07d2b968a92d9a421439488690a5e24a7da5b500592a7beba14aff4d6ec0eac4d78a4671c2697edb4d03d65995c708b34bc0db4b4be0f650fad3c5cb50 SHA512 c787767932b16b336f170dcfc9fa6529c941e92a7a160281aa7d40ae4e9d5eef86dc5f05a7955ba70b85eec4fff093f82bddb17ba63ac208758344e4df7cd57a diff --git a/dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch b/dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch deleted file mode 100644 index 965dade1c133..000000000000 --- a/dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch +++ /dev/null @@ -1,35 +0,0 @@ -https://bugs.gentoo.org/928299 -https://bugreports.qt.io/browse/QTBUG-124135 -https://codereview.qt-project.org/c/qt/qtbase/+/553372 -From: Alexey Edelev <alexey.edelev@qt.io> -Date: Fri, 05 Apr 2024 14:50:37 +0200 -Subject: [PATCH] Prefer the versioned targets over the namespaceless one when collecting deps - -Change the way we collect dependencies in __qt_internal_walk_libs. -Prefer the versioned Qt targets over the namespaceless. This fixes the -generating of the pkg-config configs. - -Pick-to: 6.5 6.6 6.7 -Task-number: QTBUG-124135 -Change-Id: I660376e122a99b5bc0874f2bc6ccd4d80c9ad453 ---- a/cmake/QtPublicWalkLibsHelpers.cmake -+++ b/cmake/QtPublicWalkLibsHelpers.cmake -@@ -184,13 +184,13 @@ - if(lib_target MATCHES "^::@") - continue() - elseif(TARGET ${lib_target}) -- if ("${lib_target}" MATCHES "^Qt::(.*)") -- # If both, Qt::Foo and Foo targets exist, prefer the target name without -+ if(NOT "${lib_target}" MATCHES "^(Qt|${QT_CMAKE_EXPORT_NAMESPACE})::.+") -+ # If both, Qt::Foo and Foo targets exist, prefer the target name with versioned - # namespace. Which one is preferred doesn't really matter. This code exists to - # avoid ending up with both, Qt::Foo and Foo in our dependencies. -- set(namespaceless_lib_target "${CMAKE_MATCH_1}") -- if(TARGET "${namespaceless_lib_target}") -- set(lib_target ${namespaceless_lib_target}) -+ set(versioned_qt_target "${QT_CMAKE_EXPORT_NAMESPACE}::${lib_target}") -+ if(TARGET "${versioned_qt_target}") -+ set(lib_target ${versioned_qt_target}) - endif() - endif() - get_target_property(lib_target_type ${lib_target} TYPE) diff --git a/dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch b/dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch deleted file mode 100644 index ff2bf194f07d..000000000000 --- a/dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch +++ /dev/null @@ -1,159 +0,0 @@ -https://bugs.kde.org/show_bug.cgi?id=484405 -https://bugreports.qt.io/browse/QTBUG-124386 -https://codereview.qt-project.org/c/qt/qtbase/+/556573 -https://github.com/qt/qtbase/commit/a8ef8ea55014546e0e835cd0eacf694919702a11 -From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@qt.io> -Date: Wed, 24 Apr 2024 22:33:42 +0200 -Subject: [PATCH] Don't quit automatically via QEventLoopLocker if there are - open windows - -As part of df359bcb703db5a8adbf14e88ba4ae0d54f0cfcd the semantics and -interaction between QEventLoopLocker and QGuiApplication was changed, -based on the assumption that these two mechanisms were independent -and should not affect each other. - -This had a surprising regression where the use of QEventLoopLocker in -combination with the QCoreApplication::isQuitLockEnabled() automatic -quit would end up quitting the app, even if it had open windows, for -example when the last job of some internal job queue finished. - -It could be argued that if the app has open windows that should not -be closed, they should ignore the Close event, and that an application -with running QEventLoopLocker jobs should maintain an active window -showing the progress of those jobs, but still, this is regression -that we want to fix. - -We now bail out if !lastWindowClosed() in QGuiApplication's -canQuitAutomatically, which is triggered from QEventLoopLocker's -isQuitLockEnabled() behavior. And we do so regardless of whether -quitOnLastWindowClosed is set or not, as the latter property -determines the behavior when closing a window, not the behavior -when a QEventLoopLocker goes out of scope. - -Similarly, we now block quitting of the application when triggered -by quitOnLastWindowClosed() if a QEventLoop is active, regardless of -the isQuitLockEnabled(), as the latter property is determining -whether we should trigger a quit, not whether we should block them. - -[ChangeLog][Important behavior changes] Fixed a regression where -the last QEventLoopLocker going out of scope would quit the app, -even if there were open windows, if quitOnLastWindowClosed was -false. - -[ChangeLog][Important behavior changes] Fixed a regression where -closing the last window would quit the app, even if there were -active QEventLoopLockers, if isQuitLockEnabled was false. ---- a/src/corelib/kernel/qcoreapplication.cpp -+++ b/src/corelib/kernel/qcoreapplication.cpp -@@ -1081,2 +1081,10 @@ - -+ When this property is \c true the release of the last remaining -+ QEventLoopLocker operating on the application will attempt to -+ quit the application. -+ -+ Note that attempting a quit may not necessarily result in the -+ application quitting, for example if there still are open windows, -+ or the QEvent::Quit event is ignored. -+ - The default is \c true. -@@ -2083,3 +2091,9 @@ - -- if (quitLockEnabled && quitLockRef.loadRelaxed()) -+ // The automatic quit functionality is triggered by -+ // both QEventLoopLocker and maybeLastWindowClosed. -+ // In either case, we don't want to quit if there -+ // are active QEventLoopLockers, even if quitLockEnabled -+ // is not enabled, as the property signals whether to -+ // trigger the automatic quit, not whether to block it. -+ if (quitLockRef.loadRelaxed()) - return false; ---- a/src/corelib/kernel/qeventloop.cpp -+++ b/src/corelib/kernel/qeventloop.cpp -@@ -339,3 +339,7 @@ - -- The application will quit when there are no more QEventLoopLockers operating on it. -+ The application will attempt to quit when there are no more QEventLoopLockers -+ operating on it, as long as QCoreApplication::isQuitLockEnabled() is \c true. -+ -+ Note that attempting a quit may not necessarily result in the application quitting, -+ if there for example are open windows, or the QEvent::Quit event is ignored. - ---- a/src/gui/kernel/qguiapplication.cpp -+++ b/src/gui/kernel/qguiapplication.cpp -@@ -3677,5 +3677,9 @@ - -- If this property is \c true, the applications quits when the last visible -- \l{Primary and Secondary Windows}{primary window} (i.e. top level window -- with no transient parent) is closed. -+ If this property is \c true, the application will attempt to -+ quit when the last visible \l{Primary and Secondary Windows}{primary window} -+ (i.e. top level window with no transient parent) is closed. -+ -+ Note that attempting a quit may not necessarily result in the -+ application quitting, for example if there still are active -+ QEventLoopLocker instances, or the QEvent::Quit event is ignored. - -@@ -3735,3 +3739,9 @@ - { -- if (quitOnLastWindowClosed && !lastWindowClosed()) -+ // The automatic quit functionality is triggered by -+ // both QEventLoopLocker and maybeLastWindowClosed. -+ // Although the former is a QCoreApplication feature -+ // we don't want to quit the application when there -+ // are open windows, regardless of whether the app -+ // also quits automatically on maybeLastWindowClosed. -+ if (!lastWindowClosed()) - return false; ---- a/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp -+++ b/tests/auto/gui/kernel/qguiapplication/tst_qguiapplication.cpp -@@ -1010,4 +1010,4 @@ - { -- // Disabling QEventLoopLocker support should not affect -- // quitting when last window is closed. -+ // Disabling QEventLoopLocker automatic quit should not affect -+ // quitting when last window is closed if there are no lockers. - app.setQuitLockEnabled(false); -@@ -1025,4 +1025,36 @@ - { -- // Disabling quitOnLastWindowClosed support should not affect -- // quitting when last QEventLoopLocker goes out of scope. -+ // Disabling QEventLoopLocker automatic quit should still block -+ // quitting when last window is closed if there is a locker alive. -+ app.setQuitLockEnabled(false); -+ -+ QScopedPointer<QEventLoopLocker> locker(new QEventLoopLocker); -+ -+ QuitSpy quitSpy; -+ QWindow window; -+ window.show(); -+ QVERIFY(QTest::qWaitForWindowExposed(&window)); -+ QTimer::singleShot(0, &window, &QWindow::close); -+ QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); }); -+ app.exec(); -+ QCOMPARE(quitSpy.quits, 0); -+ } -+ -+ { -+ // Disabling quitOnLastWindowClosed automatic quit should not affect -+ // quitting when last QEventLoopLocker goes out of scope if -+ // there are no windows. -+ app.setQuitLockEnabled(true); -+ app.setQuitOnLastWindowClosed(false); -+ -+ QuitSpy quitSpy; -+ QScopedPointer<QEventLoopLocker> locker(new QEventLoopLocker); -+ QTimer::singleShot(0, [&]{ locker.reset(nullptr); }); -+ QTimer::singleShot(200, &app, []{ QCoreApplication::exit(0); }); -+ app.exec(); -+ QCOMPARE(quitSpy.quits, 1); -+ } -+ -+ { -+ // Disabling quitOnLastWindowClosed automatic quit should still block -+ // quitting via QEventLoopLocker if there's a window alive. - app.setQuitLockEnabled(true); -@@ -1038,3 +1070,3 @@ - app.exec(); -- QCOMPARE(quitSpy.quits, 1); -+ QCOMPARE(quitSpy.quits, 0); - } diff --git a/dev-qt/qtbase/qtbase-6.7.1.ebuild b/dev-qt/qtbase/qtbase-6.7.1.ebuild deleted file mode 100644 index 63fdc141c19c..000000000000 --- a/dev-qt/qtbase/qtbase-6.7.1.ebuild +++ /dev/null @@ -1,351 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit 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 ~sparc x86" -fi - -declare -A QT6_IUSE=( - [global]="+ssl +udev zstd" - [core]="icu" - [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=" - $( - 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) -# dlopen: renderdoc -RDEPEND=" - 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:= ) - - 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 - 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 ) - ) -" -DEPEND=" - ${RDEPEND} - 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.6.3-pkgconf-deps.patch - "${FILESDIR}"/${PN}-6.7.1-qeventlooplocker.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() { - 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) - - # 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_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 - tst_qprocess - ') - # fails due to hppa's NaN handling, needs looking into (bug #914371) - $(usev hppa ' - tst_qcborvalue - tst_qnumeric - ') - # bug #914033 - $(usev sparc ' - tst_qbuffer - tst_qprocess - tst_qtconcurrentiteratekernel - ') - # 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 -} |