diff options
author | Dan Peebles <pumpkin@me.com> | 2017-04-04 08:07:52 -0400 |
---|---|---|
committer | Dan Peebles <pumpkin@me.com> | 2017-04-04 08:07:52 -0400 |
commit | 3a9c217804688668404ebfe9a199e6e85297a3a7 (patch) | |
tree | b1f6e8d27e26b9389776b0cbfcfb0ddc01e45e22 | |
parent | 35dbcbb2960cd5a310638183cf75a7874c57e373 (diff) |
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.
-rw-r--r-- | pkgs/development/tools/rtags/default.nix | 12 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/apple-sdk/default.nix | 1 |
2 files changed, 5 insertions, 8 deletions
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix index 44f922906e894..4f396e26bf94c 100644 --- a/pkgs/development/tools/rtags/default.nix +++ b/pkgs/development/tools/rtags/default.nix @@ -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" ]; }; diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 536e62f777e2e..73126ce1f5c1f 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -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 ''; }; |