diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 2071c48cc6d5..b859d01dc085 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -1,4 +1,4 @@ -{ buildPackages, callPackage, stdenv }@prev: +{ buildPackages, callPackage, stdenv, runCommand }@prev: { rustc, cargo, stdenv ? prev.stdenv, ... }: @@ -21,11 +21,11 @@ rec { importCargoLock = buildPackages.callPackage ../../../build-support/rust/import-cargo-lock.nix {}; rustcSrc = callPackage ./rust-src.nix { - inherit stdenv rustc; + inherit runCommand rustc; }; rustLibSrc = callPackage ./rust-lib-src.nix { - inherit stdenv rustc; + inherit runCommand rustc; }; # Hooks diff --git a/pkgs/development/compilers/rust/rust-lib-src.nix b/pkgs/development/compilers/rust/rust-lib-src.nix index 67a7fa3641ad..aa914338639d 100644 --- a/pkgs/development/compilers/rust/rust-lib-src.nix +++ b/pkgs/development/compilers/rust/rust-lib-src.nix @@ -1,11 +1,6 @@ -{ stdenv, rustc }: +{ runCommand, rustc }: -stdenv.mkDerivation { - name = "rust-lib-src"; - src = rustc.src; - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - mv library $out - ''; -} +runCommand "rust-lib-src" { } '' + tar --strip-components=1 -xzf ${rustc.src} + mv library $out +'' diff --git a/pkgs/development/compilers/rust/rust-src.nix b/pkgs/development/compilers/rust/rust-src.nix index 4239e92b0363..69bdb37ac2fd 100644 --- a/pkgs/development/compilers/rust/rust-src.nix +++ b/pkgs/development/compilers/rust/rust-src.nix @@ -1,25 +1,21 @@ -{ lib, stdenv, rustc, minimalContent ? true }: +{ lib, runCommand, rustc, minimalContent ? true }: -stdenv.mkDerivation { - name = "rust-src"; - src = rustc.src; - phases = [ "unpackPhase" "installPhase" ]; - installPhase = '' - mv src $out - rm -rf $out/{${lib.concatStringsSep "," ([ - "ci" - "doc" - "etc" - "grammar" - "llvm-project" - "llvm-emscripten" - "rtstartup" - "rustllvm" - "test" - "vendor" - ] ++ lib.optionals minimalContent [ - "tools" - "stdarch" - ])}} - ''; -} +runCommand "rust-src" { } '' + tar -xzf ${rustc.src} + mv rustc-${rustc.version}-src $out + rm -rf $out/{${lib.concatStringsSep "," ([ + "ci" + "doc" + "etc" + "grammar" + "llvm-project" + "llvm-emscripten" + "rtstartup" + "rustllvm" + "test" + "vendor" + ] ++ lib.optionals minimalContent [ + "tools" + "stdarch" + ])}} +''