buildRustCrate: add host platform to rlib hash suffix

wip/yesman
Ben Wolsieffer 4 years ago
parent 91e2677267
commit 8c479059b9
  1. 6
      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 "";

Loading…
Cancel
Save