-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
pkgsMusl.haskell.compiler.ghc8107Binary: Remove now-incorrect gmp dependency #138523
pkgsMusl.haskell.compiler.ghc8107Binary: Remove now-incorrect gmp dependency #138523
Conversation
13744ad
to
fb79cf9
Compare
I had no idea they switched. |
@nh2 How do you recommend this be tested? Would building the following things fully test this? binary ghcs
ghc8107
ghc901
Is this about right? Do the success of these derivations give a good indication as to whether this PR is correct? Or is this overkill? The one thing the above derivation list is missing is something like the above Also, in |
@cdepillabout Personally I'd just build all Haskell packages Hydra builds, and check if any of them regressed, if that's easy (I fail to remember how to do that though). However, all the packages you mentioned build fine for me (see below). That said, I think it'd be better to test application builds than library ones, given that we were dealing with linker errors. Recording here some failures and successes:
|
@@ -140,20 +143,35 @@ stdenv.mkDerivation rec { | |||
|
|||
src = fetchurl binDistUsed.src; | |||
|
|||
# Note that for GHC 8.10 versions <= 8.10.5, the GHC HQ musl bindist |
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 think this sentence is missing a word.
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.
Done.
nativeBuildInputs = [ perl ]; | ||
propagatedBuildInputs = | ||
lib.optionals useLLVM [ llvmPackages.llvm ] | ||
# Because musl bindists currently provide no way to tell where | ||
# libgmp is (see not [musl bindists have no .buildinfo]), we need |
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 the comment on musl bindists have no .buildinfo further down removed here as well (or clarified wrt musl)?
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.
Thanks, I have fixed the dangling reference.
Maybe let's close this in favor of #138524 for simplicity's sake? Would like to get all changes in this rotation. |
…endency. GHC HQ switched the musl bindists from gmp to `integer-simple` with GHC >= 8.10.6, but this was not reflected in the nixpkgs update: * commit 6f12424: ghc: 8.10.5-binary -> 8.10.7-binary From PR NixOS#135453 See also NixOS#130441.
fb79cf9
to
a51af7d
Compare
Sure, can do either. I made this one separately because it is much easier, as it touches only musl; the other one touches all compilers. |
I'd just do the set rebuild all in one go, actually. |
@sternenseemann Investigating this deeper, I found some odd results:
|
Reverse bootstrapping is not supported by GHC upstream. In the case of 8.8.4 it just happens to work using 8.10.2, with later versions, specifically 8.10.7 there seems to be some digressions in the generated / used C code which cause 8.8.4 to fail to compile [1]. Thus we revert to using 8.10.2 for aarch64 and Musl which means: Still no integer-simple and musl at the same time (however all other GHCs have it, so it's probably not a problem) and no aarch64-darwin (GHC 8.8.4 can't target that architecture anyways). In short, the situation stays the same. [1]: #138523 (comment)
Motivation for this change
GHC HQ switched the musl bindists from gmp to
integer-simple
with GHC >= 8.10.6, but this was not reflected in the nixpkgs update:
From PR haskellPackages: update stackage and hackage #135453
See also #130441.
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)