mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 14:54:29 +01:00
libcxx-4: add pthread_mach_thread_np patch
This commit is contained in:
parent
955b79f462
commit
7ddd5012a1
2 changed files with 54 additions and 8 deletions
|
@ -10,22 +10,27 @@ stdenv.mkDerivation rec {
|
||||||
export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
|
export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
# https://github.com/llvm-mirror/libcxx/commit/bcc92d75df0274b9593ebd097fcae60494e3bffc
|
||||||
|
patches = [ ./pthread_mach_thread_np.patch ];
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
|
||||||
|
'';
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
# Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
|
# Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
|
||||||
cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
|
cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patchPhase = ''
|
nativeBuildInputs = [ cmake ];
|
||||||
substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
||||||
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
||||||
"-DLIBCXX_CXX_ABI=libcxxabi"
|
"-DLIBCXX_CXX_ABI=libcxxabi"
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
From bcc92d75df0274b9593ebd097fcae60494e3bffc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Asiri Rathnayake <asiri.rathnayake@arm.com>
|
||||||
|
Date: Thu, 26 Jan 2017 10:40:17 +0000
|
||||||
|
Subject: [PATCH] Fix chromium build (libcxx)
|
||||||
|
|
||||||
|
Remove the reference to pthread_mach_thread_np() in libcxx headers.
|
||||||
|
|
||||||
|
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@293167 91177308-0d34-0410-b5e6-96231b3b80d8
|
||||||
|
---
|
||||||
|
include/__threading_support | 11 -----------
|
||||||
|
1 file changed, 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/__threading_support b/include/__threading_support
|
||||||
|
index 13ab769..dfe7fe1 100644
|
||||||
|
--- a/include/__threading_support
|
||||||
|
+++ b/include/__threading_support
|
||||||
|
@@ -149,11 +149,6 @@ int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
|
||||||
|
void (*init_routine)(void));
|
||||||
|
|
||||||
|
// Thread id
|
||||||
|
-#if defined(__APPLE__) && !defined(__arm__)
|
||||||
|
-_LIBCPP_THREAD_ABI_VISIBILITY
|
||||||
|
-mach_port_t __libcpp_thread_get_port();
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
_LIBCPP_THREAD_ABI_VISIBILITY
|
||||||
|
bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2);
|
||||||
|
|
||||||
|
@@ -297,12 +292,6 @@ int __libcpp_execute_once(__libcpp_exec_once_flag *flag,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Thread id
|
||||||
|
-#if defined(__APPLE__) && !defined(__arm__)
|
||||||
|
-mach_port_t __libcpp_thread_get_port() {
|
||||||
|
- return pthread_mach_thread_np(pthread_self());
|
||||||
|
-}
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
// Returns non-zero if the thread ids are equal, otherwise 0
|
||||||
|
bool __libcpp_thread_id_equal(__libcpp_thread_id t1, __libcpp_thread_id t2)
|
||||||
|
{
|
Loading…
Reference in a new issue