commit: f80f3b27a81313f051b2ba0961a110aa14abb76d Author: Alfred Persson Forsberg <cat <AT> catcream <DOT> org> AuthorDate: Tue Jun 21 00:42:04 2022 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Sat Jul 23 11:21:01 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f80f3b27
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 <AT> catcream.org> Closes: https://github.com/gentoo/gentoo/pull/26012 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../qtcore-5.15.5-hack_never_use_execinfo.patch | 27 ++++++++++++++++++++++ dev-qt/qtcore/qtcore-5.15.5-r2.ebuild | 2 ++ 2 files changed, 29 insertions(+) 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
