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

[staging-next] llvmPackages_{10,11,12}.compiler-rt: install resource txts to $out/share #123124

Merged
merged 1 commit into from May 15, 2021

Conversation

sternenseemann
Copy link
Member

This is a scaled back version of #123103 which doesn't cause a stdenv rebuild on darwin according to my testing,
I'm hoping ofborg will confirm that.


7869d16 changed how resource files are
installed. Likely by accident, now some of the resource files are
installed to $dev/include instead of $out/share. This causes the cc
wrapper's resource-root to miss those files from compiler-rt as they are
in a different place than expected.

This commit fixes all instances of this incorrect installation for
llvmPackages_10, 11 and 12 which are the only llvm package sets which
link ${targetLlvmLibraries.compiler-rt.out}/share to the resource-root.

For the other llvm package set this will likely also need to be fixed,
but it doesn't have to have immediate urgency and doing it in two steps
allows us to (hopefully) fix the chromium build without causing a darwin
stdenv rebuild.

The full fix can be found in #123103 and should probably be included in
the next staging-next rotation.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

7869d16 changed how resource files are
installed. Likely by accident, now some of the resource files are
installed to $dev/include instead of $out/share. This causes the cc
wrapper's resource-root to miss those files from compiler-rt as they are
in a different place than expected.

This commit fixes all instances of this incorrect installation for
llvmPackages_10, 11 and 12 which are the only llvm package sets which
link ${targetLlvmLibraries.compiler-rt.out}/share to the resource-root.

For the other llvm package set this will likely also need to be fixed,
but it doesn't have to have immediate urgency and doing it in two steps
allows us to (hopefully) fix the chromium build without causing a darwin
stdenv rebuild.

The full fix can be found in NixOS#123103 and should probably be included in
the next staging-next rotation.
@vcunat
Copy link
Member

vcunat commented May 15, 2021

I confirm it doesn't rebuild darwin stdenv.

@vcunat
Copy link
Member

vcunat commented May 15, 2021

... and chromium isn't stuck at the start. So overall I expect this is what we need for current staging-next.

@vcunat vcunat merged commit 91cba7b into NixOS:staging-next May 15, 2021
@vcunat
Copy link
Member

vcunat commented May 15, 2021

(let's get Hydra start working on this)

@sternenseemann sternenseemann deleted the llvm-10-12-resource-dir branch May 15, 2021 15:59
@sternenseemann sternenseemann restored the llvm-10-12-resource-dir branch July 24, 2021 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants