-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
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] firefox: take LLVM tools from buildStdenv #123886
[staging-next] firefox: take LLVM tools from buildStdenv #123886
Conversation
Off the top of your head, do you understand some of the other llvm parts in firefox? {
# Force the use of lld and other llvm tools for LTO
llvmPackages = llvmPackages0.override {
bootBintoolsNoLibc = null;
bootBintools = null;
};
} |
That snippet forces Note that instead of Since we have a common |
For reference, this is how the nixpkgs/pkgs/development/compilers/llvm/11/default.nix Lines 52 to 59 in acb7a60
The default is nixpkgs/pkgs/top-level/all-packages.nix Lines 12738 to 12767 in acb7a60
The intention behind these changes is to make |
Since we are using the correct binutils actually, we should probably just set Would make such a change on staging though since I'm not sure if there may be any sideeffects. This seems like the safer fix. |
f3f2922
to
3dddea3
Compare
Okay using |
Since 37194a3 llvmPackages*.bintools is a bintools-wrapper. Thus it only contains a wrapper for `as` and `ld`. This change makes sense, but causes regressions like this one. Since the buildStdenv uses the llvm bintool set including lld as a linker we can use the cc.bintools.bintools derivation to get all the tools we need. Technically we wouldn't need to set absolute paths as all tools are also added to PATH, but it doesn't hurt either.
3dddea3
to
849fe55
Compare
Not exactly relevant to this PR but for what it is worth, the
I am not so sure if the conditional |
You bring up valid points, but I think this is the lowest-impact change we can make which has the least chance of breaking it in a different way which is what I am looking for in a staging-next PR. I'd say we do the other changes on master next and maybe backport them to 21.05. Confirmed this fixes the build on
|
was about to merge :). Anyway, thanks! |
Since 37194a3 llvmPackages*.bintools is a bintools-wrapper. Thus it
only contains a wrapper for
as
andld
. This change makes sense, butcauses regressions like this one. Since we need the LLVM tools
specifically opting to use llvmPackages.llvm instead of the alternative
which would be using the passed through “raw” bintools derivation
llvmPackages.bintools.bintools.
Untested, but verified all paths in
firefox-unwrapped.makeFlags
are now correct.Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)