diff options
author | Andreas Herrmann <andreash87@gmx.ch> | 2016-09-27 23:55:26 +0200 |
---|---|---|
committer | Andreas Herrmann <andreash87@gmx.ch> | 2016-09-28 09:31:30 +0200 |
commit | 4a3e6d3091c17aa394cb4cf5381535ebe0c8e090 (patch) | |
tree | 0ea1cfb0b57375c844dbe2e2a6a94b9534da374a /pkgs | |
parent | 124f25bc7d53c6c3314eb306501840d38047638d (diff) | |
download | nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.tar nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.tar.gz nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.tar.bz2 nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.tar.lz nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.tar.xz nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.tar.zst nixlib-4a3e6d3091c17aa394cb4cf5381535ebe0c8e090.zip |
clang-tools: New package
Creates and installs wrapper scripts around the clang-tools from `llvmPackages.clang-unwrapped`. Motivation ---------- Fixes #9214 Allows to install clang-tools for C++ development without also installing the clang compiler and its tool-chain. This way it is possible to use e.g. `clang-format` without conflicting with e.g. GCC's tool-chain, or the global system tool-chain.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/tools/clang-tools/default.nix | 28 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 30 insertions, 0 deletions
diff --git a/pkgs/development/tools/clang-tools/default.nix b/pkgs/development/tools/clang-tools/default.nix new file mode 100644 index 000000000000..e09da0287c76 --- /dev/null +++ b/pkgs/development/tools/clang-tools/default.nix @@ -0,0 +1,28 @@ +{ stdenv, makeWrapper, writeScript, llvmPackages }: + +let + clang = llvmPackages.clang-unwrapped; + version = stdenv.lib.getVersion clang; +in + +stdenv.mkDerivation { + name = "clang-tools-${version}"; + builder = writeScript "builder" '' + source $stdenv/setup + for tool in \ + clang-apply-replacements \ + clang-check \ + clang-format \ + clang-rename \ + clang-tidy + do + makeWrapper $clang/bin/$tool $out/bin/$tool --argv0 $tool + done + ''; + buildInputs = [ makeWrapper ]; + inherit clang; + meta = clang.meta // { + description = "Standalone command line tools for C++ development"; + maintainers = with stdenv.lib.maintainers; [ aherrmann ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d4be96a76d77..c1d870c1d3a6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4424,6 +4424,8 @@ in clang_35 = wrapCC llvmPackages_35.clang; clang_34 = wrapCC llvmPackages_34.clang; + clang-tools = callPackage ../development/tools/clang-tools { }; + clang-analyzer = callPackage ../development/tools/analysis/clang-analyzer { }; clangUnwrapped = llvm: pkg: callPackage pkg { inherit llvm; }; |