From 496ea7aeecbf417f6b3030d07af3164c19135ee4 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Wed, 23 Apr 2025 09:11:05 -0400 Subject: [PATCH] dev-qt/qtbase: allow auto-detecting -mno-direct-extern-access (ask Sam if want the reasoning, haven't read much on this topic) Not really tested beside checking that the option is passed. Note that this won't be "fully" used unless also rebuild all of dev-qt/* after upgrade to qtbase-6.9.0-r1 given the option is passed by the qtbase defautls to each Qt modules. Part of why not adding it to 6.8.3 as it'll be difficult to guarantee what the users actually have without bunch of revbumps (not so bad for 6.9.0 given mask), will propagate properly when add 6.9.1 unmasked. Unsure if a better way than a patch to drop autodetect like a =AUTO option or so (want to let the test do its thing). Imagine Qt will revert this as well eventually so it won't be there forever. Bug: https://bugs.gentoo.org/754021 Signed-off-by: Ionen Wolkens --- .../files/qtbase-6.9.0-no-direct-extern-access.patch | 9 +++++++++ .../{qtbase-6.9.0.ebuild => qtbase-6.9.0-r1.ebuild} | 1 + dev-qt/qtbase/qtbase-6.9.9999.ebuild | 1 + dev-qt/qtbase/qtbase-6.9999.ebuild | 1 + 4 files changed, 12 insertions(+) create mode 100644 dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch rename dev-qt/qtbase/{qtbase-6.9.0.ebuild => qtbase-6.9.0-r1.ebuild} (99%) diff --git a/dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch b/dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch new file mode 100644 index 0000000000000..89c8dd5068ae5 --- /dev/null +++ b/dev-qt/qtbase/files/qtbase-6.9.0-no-direct-extern-access.patch @@ -0,0 +1,9 @@ +Re-allow auto-detect rather than do =ON to ensure the toolchain supports it. +https://bugs.gentoo.org/754021 +https://github.com/qt/qtbase/commit/48675dfa3 (revert of) +--- a/configure.cmake ++++ b/configure.cmake +@@ -784,3 +784,2 @@ + CONDITION NOT WIN32 AND TEST_no_direct_extern_access +- AUTODETECT OFF + ) diff --git a/dev-qt/qtbase/qtbase-6.9.0.ebuild b/dev-qt/qtbase/qtbase-6.9.0-r1.ebuild similarity index 99% rename from dev-qt/qtbase/qtbase-6.9.0.ebuild rename to dev-qt/qtbase/qtbase-6.9.0-r1.ebuild index ae86336ee73cb..75e08fb7ef893 100644 --- a/dev-qt/qtbase/qtbase-6.9.0.ebuild +++ b/dev-qt/qtbase/qtbase-6.9.0-r1.ebuild @@ -146,6 +146,7 @@ PATCHES=( "${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 ) src_prepare() { diff --git a/dev-qt/qtbase/qtbase-6.9.9999.ebuild b/dev-qt/qtbase/qtbase-6.9.9999.ebuild index ae86336ee73cb..75e08fb7ef893 100644 --- a/dev-qt/qtbase/qtbase-6.9.9999.ebuild +++ b/dev-qt/qtbase/qtbase-6.9.9999.ebuild @@ -146,6 +146,7 @@ PATCHES=( "${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 ) src_prepare() { diff --git a/dev-qt/qtbase/qtbase-6.9999.ebuild b/dev-qt/qtbase/qtbase-6.9999.ebuild index ae86336ee73cb..75e08fb7ef893 100644 --- a/dev-qt/qtbase/qtbase-6.9999.ebuild +++ b/dev-qt/qtbase/qtbase-6.9999.ebuild @@ -146,6 +146,7 @@ PATCHES=( "${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 ) src_prepare() {