Skip to content

Commit

Permalink
rtags: fix for clang/libc++ 4
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
copumpkin committed Apr 4, 2017
1 parent 35dbcbb commit 3a9c217
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
12 changes: 4 additions & 8 deletions pkgs/development/tools/rtags/default.nix
Expand Up @@ -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 {
Expand All @@ -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" ];
};
Expand Down
1 change: 1 addition & 0 deletions pkgs/os-specific/darwin/apple-sdk/default.nix
Expand Up @@ -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
'';
};
Expand Down

0 comments on commit 3a9c217

Please sign in to comment.