-
-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lib.systems.doubles.all: reorganize #119833
Conversation
a0fa18b
to
be1927a
Compare
I'm fine with rearranging the big lists, but I think all lists below should be calculated not handwritten. This is important to ensure that the predicates and the platforms list stay in sync. |
See also https://github.com/NixOS/nixpkgs/blob/master/lib/tests/systems.nix for the lists which are supposed to stay hand coded. |
I don't understand what you mean by this. Can you rephrase? |
I mean when we do e.g.
and then in https://github.com/NixOS/nixpkgs/blob/master/lib/tests/systems.nix do
we are testing
here we are no longer testing |
I mean when we do e.g.
```
darwin = filterDoubles predicates.isDarwin;
```
and then in https://github.com/NixOS/nixpkgs/blob/master/lib/tests/systems.nix do
```
testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
```
we are testing `isDarwin` does what we expect, but if we write
```
darwin = [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
```
here we are no longer testing `isDarwin`.
Ah, I see. So should I just make `all` a big array, with comments to
seperate different OSes maybe, and go back to generating all the smaller
lists?
|
That sounds great to me! |
The previous mess was partially grouped by OS, and partially grouped by architecture, which made it very difficult to know where to add new entries. I've chosen to group by OS entirely, because OSes are likely to maintain exhaustive lists of supported architectures, but it's far less likely we'd be able to find exhaustive lists of supported OSes for every architecture.
Motivation for this change
The previous mess was partially grouped by OS, and partially grouped
by architecture, which made it very difficult to know where to add new
entries.
I've chosen to group by OS entirely, because OSes are likely to
maintain exhaustive lists of supported architectures, but it's far
less likely we'd be able to find exhaustive lists of supported OSes
for every architecture.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)