summaryrefslogtreecommitdiff
path: root/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-17 20:33:10 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-17 20:33:10 +0100
commit1c9a2b6cf059fca455a527c1bd76a2321f93b310 (patch)
tree1b35cf6afe711f7eaedfe2e5fe41b14e517ee215 /dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch
parentb9d1ad143f4a37061059ce69b1251e23fd760f95 (diff)
gentoo auto-resync : 17:08:2022 - 20:33:10
Diffstat (limited to 'dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch')
-rw-r--r--dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch b/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch
new file mode 100644
index 000000000000..b5085702a33e
--- /dev/null
+++ b/dev-libs/sink/files/sink-0.8.0-musl-execinfo.patch
@@ -0,0 +1,48 @@
+# Since musl doesn't have execinfo. We're going to avoid including it and make
+# the printStacktrace function void
+# Closes: https://bugs.gentoo.org/830945
+--- a/synchronizer/CMakeLists.txt
++++ b/synchronizer/CMakeLists.txt
+@@ -2,6 +2,12 @@ project(sink_synchronizer)
+
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+
++INCLUDE(CheckIncludeFiles)
++CHECK_INCLUDE_FILES("execinfo.h" HAVE_EXECINFO)
++IF (HAVE_EXECINFO)
++ add_compile_definitions(HAVE_EXECINFO_H)
++ENDIF(HAVE_EXECINFO)
++
+ set(sinksynchronizer_SRCS
+ main.cpp
+ backtrace.cpp
+--- a/synchronizer/backtrace.cpp
++++ b/synchronizer/backtrace.cpp
+@@ -31,7 +31,9 @@
+ #include <chrono>
+
+ #ifndef Q_OS_WIN
++#ifdef HAVE_EXECINFO_H
+ #include <execinfo.h>
++#endif // HAVE_EXECINFO_H
+ #include <unistd.h>
+ #include <cxxabi.h>
+ #include <dlfcn.h>
+@@ -143,7 +145,7 @@ private:
+ //Print a demangled stacktrace
+ static void printStacktrace()
+ {
+-#ifndef Q_OS_WIN
++#if !defined(Q_OS_WIN) && defined(HAVE_EXECINFO_H)
+ int skip = 1;
+ void *callstack[128];
+ const int nMaxFrames = sizeof(callstack) / sizeof(callstack[0]);
+@@ -178,7 +180,7 @@ static void printStacktrace()
+ trace_buf << "[truncated]\n";
+ }
+ std::cerr << trace_buf.str();
+-#else
++#elif defined(Q_OS_WIN)
+ enum { maxStackFrames = 100 };
+ DebugSymbolResolver resolver(GetCurrentProcess());
+ if (resolver.isValid()) {