diff options
author | Alfred Persson Forsberg <cat@catcream.org> | 2022-06-21 00:42:04 +0000 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2022-07-23 13:21:01 +0200 |
commit | f80f3b27a81313f051b2ba0961a110aa14abb76d (patch) | |
tree | 3bf8a9818b4070dc14f4cbfd37896558ae20142e /dev-qt/qtcore | |
parent | dev-qt/qtwidgets: Bump to QT5_KDEPATCHSET_REV=2 (diff) | |
download | gentoo-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.patch | 27 | ||||
-rw-r--r-- | dev-qt/qtcore/qtcore-5.15.5-r2.ebuild | 2 |
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 |