summary refs log tree commit diff
path: root/pkgs/development/tools/misc/ccache/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/misc/ccache/default.nix')
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix14
1 files changed, 10 insertions, 4 deletions
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index f344156f6bc..bc1f348040c 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -20,9 +20,14 @@ let ccache = stdenv.mkDerivation rec {
   passthru = {
     # A derivation that provides gcc and g++ commands, but that
     # will end up calling ccache for the given cacheDir
-    links = extraConfig: (runCommand "ccache-links"
-      { passthru.gcc = gcc; passthru.isGNU = true; }
-      ''
+    links = extraConfig: stdenv.mkDerivation rec {
+      name = "ccache-links";
+      passthru = {
+        inherit gcc;
+        isGNU = true;
+      };
+      inherit (gcc.cc) lib;
+      buildCommand = ''
         mkdir -p $out/bin
         if [ -x "${gcc.cc}/bin/gcc" ]; then
           cat > $out/bin/gcc << EOF
@@ -48,7 +53,8 @@ let ccache = stdenv.mkDerivation rec {
         for file in $(ls ${gcc.cc} | grep -vw bin); do
           ln -s ${gcc.cc}/$file $out/$file
         done
-      '');
+      '';
+    };
   };
 
   meta = with stdenv.lib; {