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
binutils: No more darwin conditionals #38399
binutils: No more darwin conditionals #38399
Conversation
@Ericson2314 Would you terribly mind rebasing this on top of staging so we don't have to deal with the 2.30 conflicts? |
@shlevy I'll do that if this turns out to be a mass rebuild, or resolve them myself with a merge if it isn't. |
Success on x86_64-linux (full log) Attempted: binutils Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: binutils Partial log (click to expand)
|
Success on x86_64-darwin (full log) Attempted: binutils Partial log (click to expand)
|
Since at least d7bddc2, we've had a situation where one should depend on: - `stdenv.cc.bintools`: for executables at build time - `libbfd` or `libiberty`: for those libraries - `targetPackages.cc.bintools`: for exectuables at *run* time - `binutils`: only for specifically GNU Binutils's executables, regardless of the host platform, at run time. and that commit cleaned up this usage to reflect that. This PR flips the switch so that: - `binutils` is indeed unconditionally GNU Binutils - `binutils-raw`, which previously served that role, is gone. so that the correct usage will be enforced going forward and everything is simple. N.B. In a few cases `binutils-unwrapped` (which before and now was unconditionally actual GNU binutils), rather than `binutils` was used to replace old `binutils-raw` as it is friendly towards some cross compilation usage by avoiding a reference to the next bootstrapping change.
9261503
to
adaa110
Compare
@shlevy urgg... my guess is the lack of a |
Success on x86_64-linux (full log) Attempted: binutils Partial log (click to expand)
|
Success on aarch64-linux (full log) Attempted: binutils Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: binutils Partial log (click to expand)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you also test the bootstrap tools?
I built stdenv on darwin myself, so no not really sure what the ofborg failure is about. |
Motivation for this change
Since at least d7bddc2, we've had a
situation where one should depend on:
stdenv.cc.bintools
: for executables at build timelibbfd
orlibiberty
: for those librariestargetPackages.cc.bintools
: for exectuables at run timebinutils
: only for specifically GNU Binutils's executables,regardless of the host platform, at run time.
and that commit cleaned up this usage to reflect that. This PR flips the
switch so that:
binutils
is indeed unconditionally GNU Binutilsbinutils-raw
, which previously served that role, is gone.so that the correct usage will be enforced going forward and everything
is simple.
N.B In a few cases
binutils-unwrapped
(which before and now wasunconditionally actual GNU binutils), rather than
binutils
was used toreplace old
binutils-raw
as it is friendly towards some crosscompilation usage by avoiding a reference to the next bootstrapping
change.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)CC @kmicklas @nixos/darwin-maintainers