-
-
Notifications
You must be signed in to change notification settings - Fork 18k
release.nix: build Musl native bootstrap tools #169793
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
Conversation
This will allow us to differentiate between bootstrap tools for e.g. Musl and Glibc.
68c62db to
4ad3bba
Compare
| # The platforms for which we build Nixpkgs. | ||
| , supportedSystems ? [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ] | ||
| , limitedSupportedSystems ? [ "i686-linux" ] | ||
| , limitedSupportedExtraConfigs ? [ "aarch64-unknown-linux-musl" "x86_64-unknown-linux-musl" ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe name this relating to bootstrap tools since it's the only place this is used. Should lessen the confusion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I renamed it, I'd want to rename limitedSupportedSystems as well, since it's also only used for bootstrapping. But then that same parameter name is used in other places (with different values, no less), so should I rename them there too? Is it worth it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure I follow? I only see systemsWithAnySupport which is exclusively used for bootstrap-related things? Not terribly important though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean limitedSupportedSystems is used in other files. (It's a parameter, after all.)
| let | ||
|
|
||
| systemsWithAnySupport = supportedSystems ++ limitedSupportedSystems; | ||
| platformsWithAnySupport = map lib.systems.elaborate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe name this relating to bootstrap tools since it's the only place this is used.
| inherit | ||
| (import ../stdenv/linux/make-bootstrap-tools.nix { | ||
| localSystem = { inherit system; }; | ||
| localSystem = { inherit config; }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, don't want systemsWithAnySupport to make a 2-component config. I guess either make it a proper config to match, or do something a good bit more complex.
Description of changes
This will let us avoid horrible hacks like #169764 next time the bootstrap tools next to be updated.
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/)nixos/doc/manual/md-to-db.shto update generated release notes