nixpkgs/pkgs/development/tools/clang-tools/default.nix
Jörg Thalheim a10ef1aa4f
clang-tools: teach about nix's include path
By translating NIX_CFLAGS_COMPILE to CPATH,
all tools will now find c headers properly,
when run in a nix-shell.
2019-11-13 18:29:58 +00:00

40 lines
879 B
Nix

{ stdenv, llvmPackages }:
let
clang = llvmPackages.clang-unwrapped;
in stdenv.mkDerivation {
pname = "clang-tools";
version = stdenv.lib.getVersion clang;
dontUnpack = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
export libc_includes="${stdenv.lib.getDev stdenv.cc.libc}/include"
export libcpp_includes="${llvmPackages.libcxx}/include/c++/v1"
export clang=${clang}
substituteAll ${./wrapper} $out/bin/clangd
chmod +x $out/bin/clangd
for tool in \
clang-apply-replacements \
clang-check \
clang-format \
clang-rename \
clang-tidy
do
ln -s $out/bin/clangd $out/bin/$tool
done
runHook postInstall
'';
meta = clang.meta // {
description = "Standalone command line tools for C++ development";
maintainers = with stdenv.lib.maintainers; [ aherrmann ];
};
}