summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/souffle/files/souffle-2.4.1-threads.patch')
-rw-r--r--dev-lang/souffle/files/souffle-2.4.1-threads.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/dev-lang/souffle/files/souffle-2.4.1-threads.patch b/dev-lang/souffle/files/souffle-2.4.1-threads.patch
new file mode 100644
index 000000000000..92e2ce79b409
--- /dev/null
+++ b/dev-lang/souffle/files/souffle-2.4.1-threads.patch
@@ -0,0 +1,34 @@
+Stolen from NixOS packages... later they removed the patch but looks
+like this is what should fix bug https://bugs.gentoo.org/918956
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 73d5c3c84..e4b0dbfd1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -104,13 +104,6 @@ option(SOUFFLE_CUSTOM_GETOPTLONG "Enable/Disable custom getopt_long implementati
+ cmake_dependent_option(SOUFFLE_USE_LIBCPP "Link to libc++ instead of libstdc++" ON
+ "CMAKE_CXX_COMPILER_ID STREQUAL Clang" OFF)
+
+-# Using Clang? Likely want to use `lld` too.
+-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld")
+- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld")
+- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=lld")
+-endif()
+-
+ # Add aditional modules to CMake
+ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
+
+@@ -247,7 +240,11 @@ endif()
+ # pthreads
+ # --------------------------------------------------
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
+-find_package(Threads REQUIRED)
++set(CMAKE_THREAD_LIBS_INIT "-lpthread")
++set(CMAKE_HAVE_THREADS_LIBRARY 1)
++set(CMAKE_USE_WIN32_THREADS_INIT 0)
++set(CMAKE_USE_PTHREADS_INIT 1)
++set(THREADS_PREFER_PTHREAD_FLAG ON)
+
+ # --------------------------------------------------
+ # OpenMP