lib/systems/parse.nix: replicate cygwin/msvc parsing hack when unparsing #235229
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
For about five years nixpkgs has parsed
*-*-{cygwin,msvc}
as ifcygwin
andmsvc
were ABIs for a common kernel (windows), rather than as kernels (which is howgnu-config
rather counterintuitively treats them). This PR replicates the special-case parsing hack when unparsing, in order to ensure that(unparse . parse)==id
.These windows triples are probably used much more often in Nix expressions downstream of nixpkgs than in nixpkgs itself -- so we have really poor visibility on what kind of breakage would be caused by changing this treatment. Because most of the uses of this behavior are by now long-established and out-of-tree where we can't see them, I think it would be a bad idea to try to change this, and we should just grandfather the hack as a special exception.
Part of:
Things done
sandbox = true
set 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/
)