-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
haskell: get cabal-install 3.0.0.0 building on ghc-8.6.5 and ghc-8.8.1 #67624
haskell: get cabal-install 3.0.0.0 building on ghc-8.6.5 and ghc-8.8.1 #67624
Conversation
…aluation on Hydra
This update was generated by hackage2nix v2.14.4-7-ga804c35 from Hackage revision commercialhaskell/all-cabal-hashes@cb6609e.
This update was generated by hackage2nix v2.14.4-7-ga804c35 from Hackage revision commercialhaskell/all-cabal-hashes@cb6609e.
@GrahamcOfBorg build haskell.packages.ghc865.cabal-install @GrahamcOfBorg build haskell.packages.ghc881.cabal-install @GrahamcOfBorg build cabal-install edit: This was dumb. You can see that building |
Also, I should mention that I was basically just guessing at the correct files to make changes in, so please let me know if I should be making different changes. |
@@ -109,13 +96,21 @@ self: super: { | |||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cabal-doctest-1.0.6.patch"; | |||
sha256 = "0735mkxhv557pgnfvdjakkw9r85l5gy28grdwg929m26ghbf9s8j"; | |||
}); | |||
QuickCheck = appendPatch super.QuickCheck (pkgs.fetchpatch { |
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.
This QuickCheck patch is no longer needed because hackage-packages.nix has a recent version of QuickCheck.
@@ -137,10 +132,6 @@ self: super: { | |||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch"; | |||
sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y"; | |||
}); | |||
HTTP = appendPatch (doJailbreak super.HTTP) (pkgs.fetchpatch { |
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.
This patch is no longer needed because hackage-packages.nix has a recent version of HTTP.
@@ -85,18 +84,6 @@ self: super: { | |||
sed -i -e 's/time < 1.9/time < 2/' tar.cabal | |||
''; | |||
}); | |||
resolv = overrideCabal (overrideSrc super.resolv { |
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.
The latest version of resolv now builds with ghc-8.8.1.
367d0eb
to
79cfb44
Compare
@peti Is there anything you'd like me to do to help out with this? It looks like there are some conflicts now, so should I try to fix them and rebase this on the current |
Yes, that would be very helpful! Please re-base the PR and ping me one more time. I'll take a lot of the remainder of the changes then. Sorry for the delay! |
3de4c46
to
75388ff
Compare
Looks like this is all already building on the current Thanks! |
Motivation for this change
Taking a look at hdyra, it appears that
cabal-install
has recently been updated to 3.0.0.0, but it is failing to build on both GHC-8.6.5 and GHC-8.8.1:This PR tries to fix cabal-install-3.0.0.0 so it builds on both GHC-8.6.5 and GHC-8.8.1.
Here's a summary of why cabal-install-3.0.0.0 doesn't work on both GHCs, and the changes I made in this PR:
GHC-8.6.5:
resolv
(0.1.1.3) requires base-4.13 (GHC-8.8.1). So this PR makes sure aresolve_0_1_1_2
is generated, and then uses that to buildcabal-install
. (Although, I haven't actually generatedhackage-packages.nix
, so this code shouldn't work untilhackage-packages.nix
is regenerated).GHC-8.8.1:
cabal-install has an unnecessary dependency on
base <= 4.13
, so it has been jailbroken.the
regex-base
package needs to be jailbroken (and patched) to work withbase-4.13
(GHC-8.8.1), however the build-depend is in a conditional, which it appears jailbreak-cabal can't deal with. So I've had to do this by hand.I also removed the
cabal-install-3
derivation, since it isn't needed anymore.With these changes, I am now able to build
cabal-install
:Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @peti @infinisil