summaryrefslogtreecommitdiff
path: root/dev-qt/qtbase
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
commitb6fa31c964a602f8461a77d5b83355e8750c12eb (patch)
tree323fa7af31640b3ea8bb57fa7a927713f3d64769 /dev-qt/qtbase
parent868fd5dc8aab84930cfaa5252b8be06b35552765 (diff)
gentoo auto-resync : 16:07:2024 - 12:27:58
Diffstat (limited to 'dev-qt/qtbase')
-rw-r--r--dev-qt/qtbase/Manifest4
-rw-r--r--dev-qt/qtbase/files/qtbase-6.6.3-pkgconf-deps.patch35
-rw-r--r--dev-qt/qtbase/files/qtbase-6.7.1-qeventlooplocker.patch159
-rw-r--r--dev-qt/qtbase/qtbase-6.7.1.ebuild351
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
-}