rustPlatform: forward unpack hooks to cargo fetch#221093
Merged
figsoda merged 1 commit intoNixOS:masterfrom Mar 14, 2023
Merged
rustPlatform: forward unpack hooks to cargo fetch#221093figsoda merged 1 commit intoNixOS:masterfrom
figsoda merged 1 commit intoNixOS:masterfrom
Conversation
Sometimes it's more ergonomic to set up the build environment in hooks, to add to the default behaviour rather than replacing it. It's very surprising that the fetcher works fine with a custom unpackPhase, but not with custom preUnpack or postUnpack. Packages that use preUnpack or postUnpack and Cargo FODs seem to be very rare. I searched Nixpkgs for files containing one of "cargoHash", "cargoDeps", and "cargoSha256", and one of "preUnpack" or "postUnpack", and only found two such packages: python3.pkgs.tokenizers and rustdesk. Neither of their Cargo FOD hashes are affected by this change. So if that's any indication, we're unlikely to be breaking many out-of-tree hashes with these changes either.
figsoda
approved these changes
Mar 14, 2023
Member
figsoda
left a comment
There was a problem hiding this comment.
lgtm if rebuild count looks right
Member
Author
Unfortunately, because these are FODs, none would be rebuilt even if the outputs did change. :/ |
Member
|
oops, didn't think about that anyway, lgtm then. btw I don't think python3.pkgs.tokenizers is affected by this since it doesn't use |
zowoq
approved these changes
Mar 14, 2023
13 tasks
13 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes
Sometimes it's more ergonomic to set up the build environment in hooks, to add to the default behaviour rather than replacing it. It's very surprising that the fetcher works fine with a custom
unpackPhase, but not with custompreUnpackorpostUnpack.Packages that use
preUnpackorpostUnpackand Cargo FODs seem to be very rare. I searched Nixpkgs for files containing one ofcargoHash,cargoDeps, andcargoSha256, and one ofpreUnpackorpostUnpack, and only found two such packages:python3.pkgs.tokenizersandrustdesk. Neither of their Cargo FOD hashes are affected by this change. So if that's any indication, we're unlikely to be breaking many out-of-tree hashes with these changes either.Here's an example of where this is useful. I want to apply a patch to a crate dependency, so I patch the program to use a local crate override, then unpack the crate in
postUnpack.Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)