Skip to content

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

Closed
ghost wants to merge 1 commit intomasterfrom
unknown repository
Closed

pkgs/top-level: do not forbid cross-builds from powerpc64le#181158
ghost wants to merge 1 commit intomasterfrom
unknown repository

Conversation

@ghost
Copy link
Copy Markdown

@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
@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 Jul 11, 2022
@Mindavi Mindavi added the 6.topic: cross-compilation Building packages on a different platform than they will be used on label Jul 12, 2022
@Mindavi
Copy link
Copy Markdown
Contributor

Mindavi commented Jul 12, 2022

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

@ghost
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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 platform than they will be used on 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants