aboutsummaryrefslogtreecommitdiff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2020-11-28 19:28:11 -0500
committerBen Wolsieffer <benwolsieffer@gmail.com>2020-11-28 22:25:11 -0500
commit8c479059b9a1a0010deaa2b2d815789febb030a1 (patch)
tree3802fe2ea8b73efb97740b1e11d85eba796cde44 /pkgs/build-support
parent91e26772675cd19a9ccea849779a142451b3bfae (diff)
buildRustCrate: add host platform to rlib hash suffix
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix6
1 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 9d98e0851780..e605c9550e53 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -54,6 +54,10 @@ let
};
installCrate = import ./install-crate.nix { inherit stdenv; };
+
+ # Allow access to the rust attribute set from inside buildRustCrate, which
+ # has a parameter that shadows the name.
+ rustAttrs = rust;
in
/* The overridable pkgs.buildRustCrate function.
@@ -250,7 +254,7 @@ stdenv.mkDerivation (rec {
depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
hashedMetadata = builtins.hashString "sha256"
(crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) +
- "___" + depsMetadata);
+ "___" + depsMetadata + "___" + rustAttrs.toRustTarget stdenv.hostPlatform);
in lib.substring 0 10 hashedMetadata;
build = crate.build or "";