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
llvmPackages_{38,39}: musl compat, minor cleanup #42452
Conversation
@@ -81,6 +85,14 @@ in stdenv.mkDerivation rec { | |||
++ stdenv.lib.optionals ( isDarwin) [ | |||
"-DLLVM_ENABLE_LIBCXX=ON" | |||
"-DCAN_TARGET_i386=false" | |||
] ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [ | |||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" |
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 we handle these without the condition? I guess that could break things but I would much prefer to have these 3 flags be unconditional.
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.
I would too -- but previously was asked to keep them musl-only for now so I was following along here. How about I make a new PR doing this across LLVM versions containing this?
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.
Okay that's definitely fine to make it musl-only. I just want to minimize conditionals in Nixpkgs as much as possible.
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.
I assume since the nativeBuildInput
stuff is done in here, doing that too wouldn't make it a mass rebuild, right? I'd ping whoever asked before, either in this PR, or a 3rd master PR (not the 4 5 6 one).
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.
I'll make a new PR if that's alright with you-- rather keep unrelated things separate even if it looks like we have 3 PR's on that subject now but oh well :).
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.
(since that PR will conflict with this one if not based on top, I'll wait to put that together until this is merged since I think there's little controversial/risky here, esp in comparison :))
Failure on x86_64-darwin (full log) Attempted: clang_38, clang_39, llvm_38, llvm_39, llvm_4 Partial log (click to expand)
|
Success on x86_64-linux (full log) Attempted: clang_38, clang_39, llvm_38, llvm_39, llvm_4 Partial log (click to expand)
|
Previously we only set these when using musl. See NixOS#42452 (comment) Same should be done for changes in NixOS#42452, I'll add a follow-up commit doing so in the PR containing this or wherever makes sense-- depending on how review/merging of that goes. Sending similar changes for LLVM 4 to master, as suggested.
Success on aarch64-linux (full log) Attempted: clang_38, clang_39, llvm_38, llvm_39, llvm_4 Partial log (click to expand)
|
Darwin failure looks transient-- builder overloaded with processes apparently:
|
Rebuild script says these are the jobs that will be rebuilt: (I wanted to get clearer idea of the 11-100 darwin tag):
|
Mostly same as used with LLVM 4.0
(as we do on other LLVM builds)
Don't have a fix for this handy and don't need it yet so for now just disable.
Same as those added to llvm_39 a few commits ago.
789313f
to
db7041a
Compare
Rebasing for some fixes on master to make for cleaner nox-review (not sure I have enough build power to process them but the first one I tried failed so I investigated :)) |
Success on aarch64-linux (full log) Attempted: clang_38, clang_39, llvm_38, llvm_39, llvm_4 Partial log (click to expand)
|
Failure on x86_64-darwin (full log) Attempted: clang_38, clang_39, llvm_38, llvm_39, llvm_4 Partial log (click to expand)
|
Alright LGTM on Linux and such-- post-merge review welcome, and will be monitoring hydra a bit to see how non-borg Darwin likes the changes (since they appear to be builder-specific). |
Success on x86_64-linux (full log) Attempted: clang_38, clang_39, llvm_38, llvm_39, llvm_4 Partial log (click to expand)
|
"cleanup" is really few instances of moving cmake to nativeBuildInput.
Patches are all the ones already used for LLVM 4, which this moves
a level up so they can share the same files.
Generally seems good, although libc++ doesn't seem to work due to not
having fixes that made it into later releases.
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)