summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-08-20 15:01:04 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-09-05 09:01:01 -0400
commitdfbaf6bd8dffd5519c23b1ff419311a43fb3a3aa (patch)
tree8d6a7661e56ebb1b4ae9d4e2248ab9e0125f6e31 /eclass/qt6-build.eclass
parentqt6-build.eclass: add QT6_MKSPECSDIR for consistency, drop TESTSDIR (diff)
downloadgentoo-dfbaf6bd8dffd5519c23b1ff419311a43fb3a3aa.tar.gz
gentoo-dfbaf6bd8dffd5519c23b1ff419311a43fb3a3aa.tar.bz2
gentoo-dfbaf6bd8dffd5519c23b1ff419311a43fb3a3aa.zip
qt6-build.eclass: filter-lto globally
Been using LTO by default when testing packages and, while working on Qt6 test support, just kept running into more and more components hitting test failures only with LTO. Formerly added this directly in ebuilds, but at this point feel this warrent a global filter until can figure out what's wrong. Technically needs revbumps but Qt 6.5.3 is not that far away and that will take care of rebuilds. Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'eclass/qt6-build.eclass')
-rw-r--r--eclass/qt6-build.eclass13
1 files changed, 12 insertions, 1 deletions
diff --git a/eclass/qt6-build.eclass b/eclass/qt6-build.eclass
index adf6445d8bae..696dd87b4aa2 100644
--- a/eclass/qt6-build.eclass
+++ b/eclass/qt6-build.eclass
@@ -21,7 +21,7 @@ _QT6_BUILD_ECLASS=1
[[ ${CATEGORY} != dev-qt ]] &&
die "${ECLASS} is only to be used for building Qt6"
-inherit cmake
+inherit cmake flag-o-matic
# @ECLASS_VARIABLE: QT6_MODULE
# @PRE_INHERIT
@@ -119,6 +119,17 @@ qt6-build_src_configure() {
-DQT_BUILD_TESTS=$(in_iuse test && usev test ON || echo OFF)
)
+ # LTO cause test failures in several components (e.g. qtcharts,
+ # multimedia, scxml, wayland, webchannel, ...).
+ #
+ # Exact extent/causes unknown, but for some related-sounding bugs:
+ # https://bugreports.qt.io/browse/QTBUG-112332
+ # https://bugreports.qt.io/browse/QTBUG-115731
+ #
+ # Does not manifest itself with clang:16 (did with gcc-13.2.0), but
+ # still assumed to be generally unsafe either way in current state.
+ filter-lto
+
cmake_src_configure
}