buildRustCrate: add host platform to rlib hash suffix

This commit is contained in:
Ben Wolsieffer 2020-11-28 19:28:11 -05:00
parent 91e2677267
commit 8c479059b9

View file

@ -54,6 +54,10 @@ let
}; };
installCrate = import ./install-crate.nix { inherit stdenv; }; 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 in
/* The overridable pkgs.buildRustCrate function. /* The overridable pkgs.buildRustCrate function.
@ -250,7 +254,7 @@ stdenv.mkDerivation (rec {
depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies); depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
hashedMetadata = builtins.hashString "sha256" hashedMetadata = builtins.hashString "sha256"
(crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) + (crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) +
"___" + depsMetadata); "___" + depsMetadata + "___" + rustAttrs.toRustTarget stdenv.hostPlatform);
in lib.substring 0 10 hashedMetadata; in lib.substring 0 10 hashedMetadata;
build = crate.build or ""; build = crate.build or "";