diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-10-07 22:20:10 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2021-11-08 20:38:59 +0000 |
commit | cbd00bab803b03cacbea27d442c60e719a804992 (patch) | |
tree | 0064d18076fa504b69691967c3c3d327f2538627 /pkgs/build-support/rust | |
parent | 2c7f62379f7c65d573892ba89eefb5631d721ba8 (diff) | |
download | nixpkgs-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.nix | 13 | ||||
-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.nix | 21 | ||||
-rwxr-xr-x | pkgs/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 |