summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/tools/clang-tools/default.nix28
-rw-r--r--pkgs/top-level/all-packages.nix2
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; };