summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred Persson Forsberg <cat@catcream.org>2022-06-21 00:42:04 +0000
committerAndreas Sturmlechner <asturm@gentoo.org>2022-07-23 13:21:01 +0200
commitf80f3b27a81313f051b2ba0961a110aa14abb76d (patch)
tree3bf8a9818b4070dc14f4cbfd37896558ae20142e /dev-qt/qtcore
parentdev-qt/qtwidgets: Bump to QT5_KDEPATCHSET_REV=2 (diff)
downloadgentoo-f80f3b27a81313f051b2ba0961a110aa14abb76d.tar.gz
gentoo-f80f3b27a81313f051b2ba0961a110aa14abb76d.tar.bz2
gentoo-f80f3b27a81313f051b2ba0961a110aa14abb76d.zip
dev-qt/qtcore: fix musl with libexecinfo
QtCore incorrectly assumes that execinfo is already linked on Linux if execinfo.h is present. The edge case here is that on musl you can install libexecinfo standalone, thereby QtCore will detect the header but not the library, and QtCore will think that glibc has already linked it. There is no code/config for QMake to detect and link against -lexecinfo except on the BSD:s. Qt should properly add something similar for non-glibc as well. This is just a *fix* compatible with all supported Gentoo systems. Signed-off-by: Alfred Persson Forsberg <cat@catcream.org> Closes: https://github.com/gentoo/gentoo/pull/26012 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-qt/qtcore')
-rw-r--r--dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch27
-rw-r--r--dev-qt/qtcore/qtcore-5.15.5-r2.ebuild2
2 files changed, 29 insertions, 0 deletions
diff --git a/dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch b/dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch
new file mode 100644
index 000000000000..c74de19c6144
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.15.5-hack_never_use_execinfo.patch
@@ -0,0 +1,27 @@
+QtCore only links with -lexecinfo on *bsd and
+incorrectly assumes it's already linked on Linux
+if execinfo.h exists.
+
+This is a fix specificallly for non-glibc systems, was written for musl.
+We'll look to add a build system option for libexecinfo in future.
+
+---
+ src/corelib/global/qlogging.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp
+index 89f49324..1c34a1af 100644
+--- a/src/corelib/global/qlogging.cpp
++++ b/src/corelib/global/qlogging.cpp
+@@ -106,7 +106,7 @@
+ # if __UCLIBC_HAS_BACKTRACE__
+ # define QLOGGING_HAVE_BACKTRACE
+ # endif
+-# elif (defined(__GLIBC__) && defined(__GLIBCXX__)) || (__has_include(<cxxabi.h>) && __has_include(<execinfo.h>))
++# elif (defined(__GLIBC__) && defined(__GLIBCXX__))
+ # define QLOGGING_HAVE_BACKTRACE
+ # endif
+ #endif
+--
+2.35.1
+
diff --git a/dev-qt/qtcore/qtcore-5.15.5-r2.ebuild b/dev-qt/qtcore/qtcore-5.15.5-r2.ebuild
index 22d03f26bc3a..2b2d3b2fe2b5 100644
--- a/dev-qt/qtcore/qtcore-5.15.5-r2.ebuild
+++ b/dev-qt/qtcore/qtcore-5.15.5-r2.ebuild
@@ -27,6 +27,8 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=( "${FILESDIR}/${P}-hack_never_use_execinfo.patch" )
+
QT5_TARGET_SUBDIRS=(
src/tools/bootstrap
src/tools/moc