Skip to content

Conversation

@alyssais
Copy link
Member

@alyssais alyssais commented Apr 22, 2022

Description of changes

This will let us avoid horrible hacks like #169764 next time the bootstrap tools next to be updated.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.05 Release Notes (or backporting 21.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

This will allow us to differentiate between bootstrap tools for
e.g. Musl and Glibc.
@alyssais alyssais added 6.topic: bootstrap Bootstrapping, avoiding pre-built binaries. Often overlaps with cross-compilation. 6.topic: musl Running or building packages with musl libc labels Apr 22, 2022
@alyssais alyssais requested a review from sternenseemann April 22, 2022 13:43
@alyssais alyssais force-pushed the hydra-musl-bootstrap branch from 68c62db to 4ad3bba Compare April 22, 2022 14:19
@alyssais alyssais removed request for matthewbauer and nbp April 22, 2022 14:20
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Apr 22, 2022
# 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" ]
Copy link
Member

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.

Copy link
Member Author

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?

Copy link
Member

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.

Copy link
Member Author

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
Copy link
Member

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; };
Copy link
Member

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.

@Artturin Artturin added the 12.approvals: 1 This PR was reviewed and approved by one person. label May 9, 2022
@alyssais alyssais marked this pull request as draft May 30, 2022 12:54
@stale stale bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jan 8, 2023
@alyssais alyssais deleted the hydra-musl-bootstrap branch October 21, 2023 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: bootstrap Bootstrapping, avoiding pre-built binaries. Often overlaps with cross-compilation. 6.topic: musl Running or building packages with musl libc 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants