diff options
author | John Ericson <git@JohnEricson.me> | 2020-11-29 10:50:25 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-29 10:50:25 -0500 |
commit | 77816426b69bb754d3f370f22f2a9b211484d227 (patch) | |
tree | 482d4f3b067d8fbfd69103d6e267faec1893fe86 /pkgs/build-support/rust/build-rust-crate | |
parent | a86b1f48bf373706e5ef50547ceeaeaec9ee7d34 (diff) | |
parent | 8c479059b9a1a0010deaa2b2d815789febb030a1 (diff) |
Merge pull request #105305 from lopsided98/build-rust-crate-platform-hash
buildRustCrate: add host platform to rlib hash suffix
Diffstat (limited to 'pkgs/build-support/rust/build-rust-crate')
-rw-r--r-- | pkgs/build-support/rust/build-rust-crate/default.nix | 6 |
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 9d98e0851780d..e605c9550e538 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 ""; |