I just noticed that all of the checkInputs
have been replaced with nativeCheckInputs
. What was the rationale for this change? The treewide commit includes only a very brief description of the changes and doesn’t link to any kind of RFC or anything like that.
So a few questions:
- What is
nativeCheckInputs
? When should one use checkInputs
vs nativeCheckInputs
?
- What’s the rationale for changing the old
checkInputs
system?
- What is the protocol for these sweeping treewide changes? Presumably there’s some discussion and process around them?
2 Likes
cc @symphorien, the commit author
There is more context and a link to the previous discussions started about a year ago about the issue in the commit introducing nativeCheckInputs: nativeCheckInputs by symphorien · Pull Request #206742 · NixOS/nixpkgs · GitHub
nativeCheckInputs are also documented in the manual: Nixpkgs 23.05 manual and in the release notes NixOS 23.05 manual
I’m also adding more high level documentation currently: doc: add a simpler explanation of dependencies by symphorien · Pull Request #213403 · NixOS/nixpkgs · GitHub
I’m intentionally not paraphrasing it here; if you don’t find it clear enough please let me know and maybe we can improve it.
Regarding discussions, besides the issue/PRs (it’s the second attempt), I asked for opinions/oppositions several times on the nixos dev matrix channel. Surprisingly there were very few objections.
3 Likes
Thanks for explaining @symphorien! I appreciate your response, and I’ll go check out these links!