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
Somewhat saner cross-compiling through bootstrapping #21915
Conversation
@Ericson2314, thanks for your PR! By analyzing the history of the files in this pull request, we identified @edolstra, @viric, @vcunat, @LnL7 and @copumpkin to be potential reviewers. |
@nbp This first bit isn't even tempted to use |
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.
Overall 👍
One question: Why does "libiconv: TEMP force building library improperly for target plat like libc" have "TEMP" in the message?
buildPlatform hostPlatform targetPlatform; | ||
}; | ||
|
||
# The old identifiers for cross-compiling. These should eventually be removed, |
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.
Can you open an issue to track the eventual removal? Perhaps after the next release we can add a deprecation message with builtins.trace
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.
Oh I already removed crossSystem (it's just used for picking stdenvs now). I was going to remove stdenv.cross
after in a kind of victory lap :).
@shlevy ah yes, I'll make that message less scary looking as it's only temp in the larger scheme of things, not like something that should have been squashed. Then again, this PR only sets up host vs target but doesn't actually utilize it, so I should indeed check if that commit is necessary. |
7b7d87a
to
8847bd8
Compare
Hmm, the main non-cross tests fail on the base commit, and this commit—in different ways. Oh our CI... I guess I'll wait until the channel is bumped. Which honestly isn't so bad as I still gotta write the docs (and probably close some port-the-wiki issues on the process, Yay!) |
cd257fa
to
93e24be
Compare
OK, got lucky and the channel bumped. But my change from the first commit introduces some sort of infinite loop into the tester (too many recurse from derivations?). I'd love to get a stack overflow with a nix backtrace, but I get neither unfortunately. |
93e24be
to
8dead50
Compare
39fb46f
to
4c17cd5
Compare
4c17cd5
to
ca8ab80
Compare
Motivation for this change
Baby step towards #21268. It's not all the niceness, but it breaks (almost) no hashes of the things we test.
Evaluating
release-cross.nix
(which evals nixpkgs over and over again) now takes about 25% longer (me counting in my head). But splicing is only done when cross, so most users will be unaffected. In any event, it should be possible to eventually remove the expensive recursive splicing for cheap flat splicing.I think other than doc, I've gotten everything relevant from the original PR taken care of.
N.B the first commit message has a bunch of info relevant for the whole PR, more or less.
TODO:
Things done
http://hydra.nixos.org/jobset/nixpkgs/sonarpulse-cross-tepid, c.f. http://hydra.nixos.org/jobset/nixpkgs/sonarpulse-cross-compare
CC @shlevy