mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-25 04:12:44 +03:00
rtags: fix for clang/libc++ 4
This also fixes a missing header in the SDK that rtags needs to work properly. The underlying cause is that C++ headers got shuffled around a lot in libc++ 3.8 (I believe) and became more standards-compliant, which led to a lot of C-compatible passthrough header files being added to it like math.h, which defines some C++-compatible versions of standard functions like signbit, while #include_next'ing the system math.h. In this case, including the SDK was stuffing another math.h in front of the libc++ shim, which led to all sorts of mysterious failures.
This commit is contained in:
parent
35dbcbb296
commit
3a9c217804
@ -5,15 +5,11 @@ stdenv.mkDerivation rec {
|
||||
version = "2.8-p1";
|
||||
|
||||
buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ]
|
||||
++ lib.optionals stdenv.isDarwin [ apple_sdk.sdk apple_sdk.frameworks.CoreServices ];
|
||||
++ lib.optionals stdenv.isDarwin [ apple_sdk.libs.xpc apple_sdk.frameworks.CoreServices ];
|
||||
|
||||
preConfigure = ''
|
||||
export LIBCLANG_CXXFLAGS="-isystem ${llvmPackages.clang.cc}/include $(llvm-config --cxxflags) -fexceptions" \
|
||||
LIBCLANG_LIBDIR="${llvmPackages.clang.cc}/lib" \
|
||||
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
export CXXFLAGS="-isysroot ${apple_sdk.sdk}/" \
|
||||
MACOSX_DEPLOYMENT_TARGET="10.9"
|
||||
LIBCLANG_LIBDIR="${llvmPackages.clang.cc}/lib"
|
||||
'';
|
||||
|
||||
src = fetchgit {
|
||||
@ -24,11 +20,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0g9sgc763c5d695hjffhis19sbaqk8z4884szljf7kbrjxl17y78";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "C/C++ client-server indexer based on clang";
|
||||
|
||||
homepage = https://github.com/andersbakken/rtags;
|
||||
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.allBut [ "i686-linux" ];
|
||||
};
|
||||
|
@ -157,6 +157,7 @@ in rec {
|
||||
mkdir -p $out/include
|
||||
pushd $out/include >/dev/null
|
||||
ln -s "${sdk}/include/xpc"
|
||||
ln -s "${sdk}/include/launch.h"
|
||||
popd >/dev/null
|
||||
'';
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user