Skip to content
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

pkgs/top-level: do not forbid cross-builds from powerpc64le #181158

Closed
wants to merge 1 commit into from
Closed

pkgs/top-level: do not forbid cross-builds from powerpc64le #181158

wants to merge 1 commit into from

Conversation

ghost
Copy link

@ghost ghost commented Jul 11, 2022

Description of changes

This commit tells nixpkgs that it's okay to attempt cross-compiles from powerpc64le. These machines are exceptionally fast, they're great for doing large builds.

Things done
  • Built on platform(s)
    • powerpc64le-linux
  • 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
  • Fits CONTRIBUTING.md.

@ghost ghost requested review from Ericson2314 and matthewbauer as code owners July 11, 2022 20:25
@Mindavi Mindavi added the 6.topic: cross-compilation Building packages on a different sort platform than than they will be run on label Jul 12, 2022
@Mindavi
Copy link
Contributor

Mindavi commented Jul 12, 2022

Hmm, I thought this list was more meant for hydra to use

@ghost
Copy link
Author

ghost commented Jul 15, 2022

Hmm, I thought this list was more meant for hydra to use

Unfortunately this assertion triggers even outside of Hydra:

assert lib.elem drv.system supportedSystems;

Would you prefer that I change this PR to remove the assertion? It obstructs attempts to run otherwise-valid builds.

$ uname -m
ppc64le

$ nix-build pkgs/top-level/release-cross.nix -A bootstrapTools.mips64el-linux-gnuabi64
error: assertion '((lib).elem (drv).system supportedSystems)' failed

       at /nix/nixpkgs/pkgs/top-level/release-cross.nix:219:7:

          218|     mkBootstrapToolsJob = drv:
          219|       assert lib.elem drv.system supportedSystems;
             |       ^
          220|       hydraJob' (lib.addMetaAttrs { inherit maintainers; } drv);

@vcunat
Copy link
Member

vcunat commented Jul 27, 2022

The pkgs/top-level/release*.nix files are designed only for Hydra.nixos.org right now, so this would introduce jobs in there which it couldn't run and they would accumulate in queue. Still the list can be overridden on command line and the Hydra's jobset allows configuring that as well, so it certainly could be done without issues (most likely), but it would be a change in the current design.

@ghost
Copy link
Author

ghost commented Jul 27, 2022

Thanks for explaining! Makes sense now.

@ghost ghost closed this Jul 27, 2022
@ghost ghost deleted the pr/release-cross/allow-powerpc64le branch January 23, 2024 06:49
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: cross-compilation Building packages on a different sort platform than than they will be run on 10.rebuild-darwin: 0 10.rebuild-linux: 0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants