summary refs log tree commit diff
path: root/pkgs/build-support/rust
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-10-14 03:37:29 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2020-10-14 04:20:23 +0000
commitc0df12de5d938e1c263c992ebd648c4100e8c0a2 (patch)
tree535a18403402fb116a4db93c3aabf79e2e60774b /pkgs/build-support/rust
parent6866f26c89dc7b2cf2e61aed461da36447ffd4be (diff)
downloadnixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.tar
nixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.tar.gz
nixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.tar.bz2
nixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.tar.lz
nixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.tar.xz
nixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.tar.zst
nixpkgs-c0df12de5d938e1c263c992ebd648c4100e8c0a2.zip
rust: Add support for managing target JSON in Nix
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix4
-rw-r--r--pkgs/build-support/rust/default.nix2
-rw-r--r--pkgs/build-support/rust/sysroot/default.nix4
4 files changed, 6 insertions, 6 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index 142109cef49..84d1b2300f1 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -15,7 +15,7 @@
       ++ [(mkRustcDepArgs dependencies crateRenames)]
       ++ [(mkRustcFeatureArgs crateFeatures)]
       ++ extraRustcOpts
-      ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
+      ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTargetSpec stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
       # since rustc 1.42 the "proc_macro" crate is part of the default crate prelude
       # https://github.com/rust-lang/cargo/commit/4d64eb99a4#diff-7f98585dbf9d30aa100c8318e2c77e79R1021-R1022
       ++ lib.optional (lib.elem "proc-macro" crateType) "--extern proc_macro"
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 18587f7047c..5ada40b3b9b 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -135,8 +135,8 @@ in ''
   export CARGO_MANIFEST_DIR=$(pwd)
   export DEBUG="${toString (!release)}"
   export OPT_LEVEL="${toString optLevel}"
-  export TARGET="${rust.toRustTarget stdenv.hostPlatform}"
-  export HOST="${rust.toRustTarget stdenv.buildPlatform}"
+  export TARGET="${rust.toRustTargetSpec stdenv.hostPlatform}"
+  export HOST="${rust.toRustTargetSpec stdenv.buildPlatform}"
   export PROFILE=${if release then "release" else "debug"}
   export OUT_DIR=$(pwd)/target/build/${crateName}.out
   export CARGO_PKG_VERSION_MAJOR=${lib.elemAt version 0}
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 0f3ff2b70e6..3f6a84b8aed 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -30,7 +30,7 @@
 , cargoBuildFlags ? []
 , buildType ? "release"
 , meta ? {}
-, target ? rust.toRustTarget stdenv.hostPlatform
+, target ? rust.toRustTargetSpec stdenv.hostPlatform
 , cargoVendorDir ? null
 , checkType ? buildType
 , depsExtraArgs ? {}
diff --git a/pkgs/build-support/rust/sysroot/default.nix b/pkgs/build-support/rust/sysroot/default.nix
index 8cfe2d55152..2625306b246 100644
--- a/pkgs/build-support/rust/sysroot/default.nix
+++ b/pkgs/build-support/rust/sysroot/default.nix
@@ -41,7 +41,7 @@ in rustPlatform.buildRustPackage {
     done
 
     export RUST_SYSROOT=$(rustc --print=sysroot)
-    export HOST=${rust.toRustTarget stdenv.buildPlatform}
-    cp -r $RUST_SYSROOT/lib/rustlib/$HOST $out
+    host=${rust.toRustTarget stdenv.buildPlatform}
+    cp -r $RUST_SYSROOT/lib/rustlib/$host $out
   '';
 }