summary refs log tree commit diff
path: root/pkgs/build-support/rust
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-10-07 22:20:10 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2021-11-08 20:38:59 +0000
commitcbd00bab803b03cacbea27d442c60e719a804992 (patch)
tree0064d18076fa504b69691967c3c3d327f2538627 /pkgs/build-support/rust
parent2c7f62379f7c65d573892ba89eefb5631d721ba8 (diff)
downloadnixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.tar
nixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.tar.gz
nixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.tar.bz2
nixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.tar.lz
nixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.tar.xz
nixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.tar.zst
nixpkgs-cbd00bab803b03cacbea27d442c60e719a804992.zip
build-support/rust: Split out sysroot src derivation
Hoping to make it usable for `buildRustCrate` too.
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r--pkgs/build-support/rust/build-rust-package/sysroot/default.nix13
-rw-r--r--pkgs/build-support/rust/sysroot/Cargo.lock (renamed from pkgs/build-support/rust/build-rust-package/sysroot/Cargo.lock)0
-rw-r--r--pkgs/build-support/rust/sysroot/cargo.py (renamed from pkgs/build-support/rust/build-rust-package/sysroot/cargo.py)0
-rw-r--r--pkgs/build-support/rust/sysroot/src.nix21
-rwxr-xr-xpkgs/build-support/rust/sysroot/update-lockfile.sh (renamed from pkgs/build-support/rust/build-rust-package/sysroot/update-lockfile.sh)0
5 files changed, 23 insertions, 11 deletions
diff --git a/pkgs/build-support/rust/build-rust-package/sysroot/default.nix b/pkgs/build-support/rust/build-rust-package/sysroot/default.nix
index 4db7cf0dc39..1e0b901105c 100644
--- a/pkgs/build-support/rust/build-rust-package/sysroot/default.nix
+++ b/pkgs/build-support/rust/build-rust-package/sysroot/default.nix
@@ -3,17 +3,8 @@
 { shortTarget, originalCargoToml, target, RUSTFLAGS }:
 
 let
-  cargoSrc = stdenv.mkDerivation {
-    name = "cargo-src";
-    preferLocalBuild = true;
-    phases = [ "installPhase" ];
-    installPhase = ''
-      RUSTC_SRC=${rustPlatform.rustcSrc.override { minimalContent = false; }} ORIG_CARGO=${originalCargoToml} \
-        ${buildPackages.python3.withPackages (ps: with ps; [ toml ])}/bin/python3 ${./cargo.py}
-      mkdir -p $out
-      cp Cargo.toml $out/Cargo.toml
-      cp ${./Cargo.lock} $out/Cargo.lock
-    '';
+  cargoSrc = import ../../sysroot/src.nix {
+    inherit stdenv rustPlatform buildPackages originalCargoToml;
   };
 in rustPlatform.buildRustPackage {
   inherit target RUSTFLAGS;
diff --git a/pkgs/build-support/rust/build-rust-package/sysroot/Cargo.lock b/pkgs/build-support/rust/sysroot/Cargo.lock
index 61fcef61744..61fcef61744 100644
--- a/pkgs/build-support/rust/build-rust-package/sysroot/Cargo.lock
+++ b/pkgs/build-support/rust/sysroot/Cargo.lock
diff --git a/pkgs/build-support/rust/build-rust-package/sysroot/cargo.py b/pkgs/build-support/rust/sysroot/cargo.py
index 09f6fba6d1c..09f6fba6d1c 100644
--- a/pkgs/build-support/rust/build-rust-package/sysroot/cargo.py
+++ b/pkgs/build-support/rust/sysroot/cargo.py
diff --git a/pkgs/build-support/rust/sysroot/src.nix b/pkgs/build-support/rust/sysroot/src.nix
new file mode 100644
index 00000000000..065f9828614
--- /dev/null
+++ b/pkgs/build-support/rust/sysroot/src.nix
@@ -0,0 +1,21 @@
+{ lib, stdenv, rustPlatform, buildPackages
+, originalCargoToml ? null
+}:
+
+stdenv.mkDerivation {
+  name = "cargo-src";
+  preferLocalBuild = true;
+  phases = [ "installPhase" ];
+  installPhase = ''
+    export RUSTC_SRC=${rustPlatform.rustcSrc.override { minimalContent = false; }}
+  ''
+  + lib.optionalString (originalCargoToml != null) ''
+    export ORIG_CARGO=${originalCargoToml}
+  ''
+  + ''
+    ${buildPackages.python3.withPackages (ps: with ps; [ toml ])}/bin/python3 ${./cargo.py}
+    mkdir -p $out
+    cp Cargo.toml $out/Cargo.toml
+    cp ${./Cargo.lock} $out/Cargo.lock
+  '';
+}
diff --git a/pkgs/build-support/rust/build-rust-package/sysroot/update-lockfile.sh b/pkgs/build-support/rust/sysroot/update-lockfile.sh
index 83d29832384..83d29832384 100755
--- a/pkgs/build-support/rust/build-rust-package/sysroot/update-lockfile.sh
+++ b/pkgs/build-support/rust/sysroot/update-lockfile.sh