aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix6
1 files changed, 5 insertions, 1 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix b/infra/libkookie/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
index 9d98e0851780..e605c9550e53 100644
--- a/infra/libkookie/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/infra/libkookie/nixpkgs/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 "";