-
-
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
pkgs/top-level/haskell-packages.nix: llvm 12 -> llvm 15 #379039
base: staging
Are you sure you want to change the base?
Conversation
I am confused. If this works, why haven’t we done this before? |
It is not supported. So far this has been a pure possibility we've entertained. Has anything been done to confirm that this is indeed possible? The burden of proof is on our side, as upstream doesn't claim this would work. |
I built |
shellcheck uses GHC 9.6 which isn't even changed by this PR. Also note that LLVM isn't necessarily used on many platforms. Most notable use of the LLVM backend is aarch64 for GHC < 9.2. The problem is that regressions will likely occur in edge cases for which we don't have CI coverage (e.g. cross compilation to platforms that don't have native code generation (NCG) in GHC and there isn't even full CI coverage for e.g. GHC 8.10.7 aarch64). I suspect we'll have to review the upstream code gen backend changes for LLVM between GHC versions to figure out whether it is feasible. I unfortunately don't have time for that particular adventure at the moment. (Already making extremely slow progress on #371032 which is arguably higher priority at the moment.) |
Then why did GHC 9.6 stuff rebuild?
I did build and test on aarch64 but didn't see any problems so that's good at least. I'm just not sure what uses GHC < 9.2. |
You did touch
Neither 9.2.4 nor 9.6.6 use the LLVM backend for aarch64-linux. |
Gotcha
So what GHC < 9.2 uses the LLVM backend on aarch64-linux and which packages are used by that version? I'd like to know so I can properly test it. |
I've just checked and remaining are
Bootstrapping relations can be seen from Also, note that the GHC configure script checks that the LLVM version is below a certain number, so you'll probably have to patch that somehow. |
A cursory look at the commit history of May also be sensible to figure out how to run the GHC test suite in the derivation if we are going to do this… |
Things done
Moves Haskell away from LLVM 12. #305146
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.