-
-
Notifications
You must be signed in to change notification settings - Fork 226
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
Update for GHC 8.8.x and newer versions of network, hoauth2, feed #646
Conversation
For context, this allows gitit to be built under the latest nixpkgs unstable package set. |
Thanks very much for taking this on! Unfortunately the CI builds are still failing. Maybe you can see what the issue is? (Btw, the commit message should indicate clearly any API changes -- e.g. the type change for Rpxnow.authenticate -- and with that API change we'll need a bump in the second version number.) |
GHC 8.8's base-4.13.0.0 removes `fail` from Monad, requiring a few uses of `fail` to be removed and the json dependency to be updated. Because arbitrary `Monad` instances no longer support failure, the `Monad m` used in the return type of Network.Gitit.Rpxnow.authenticate has been fixed as `Either String`.
This also fixes type mismatches that prevent compiling with hoauth-1.9.x
network-3.0.0.0 moves the Network.BSD module into its own "network-bsd" package and removes deprecated API elements. This requires a new dependency on "network-bsd" and a code change to stop using the removed inet_addr function. This change also adds < 3.2 as an upper bound for network (there was previously no upper bound).
The changes to EntryContent in feed-1.2.0.0 were reverted in 1.3.0.0 http://hackage.haskell.org/package/feed-1.3.0.0/changelog haskell-party/feed#35 Updating to feed-1.3.0.0 required simply reverting the changes to Network.Gitit.Feed which were made in commit d783f12. The changed versions from that commit are retained using CPP to switch them in so that feed-1.2.x remains supported for now.
The Linux CI builds were all failing because `cabal v2-test all` exited with an error when called, due to there being no tests.
I've bumped the package version and documented the Rpxnow API change in the commit and in a new changelog entry. Most of the Linux CI builds were failing due to calling Two failures remain.
|
Excellent, many thanks. |
I still can't get it to build with stack. If anyone can help here, that would be great. |
I can build with stack on the command line, if you mean that the Travis CI build fails to build with stack, I've submitted PR #648 . |
@octalsrc After merging this I'm still seeing CI build failures on GHC 8.8 on the CI (see the Actions tab on this repository). Other GHC versions build well now with cabal, but not 8.8. |
As I said in my last comment in this thread, the GHC 8.8.1 build fails because:
So Cabal with GHC 8.8 in a vanilla environment won't be able to build Gitit (or anything that depends on MissingH) until MissingH is updated. There are two PRs related to this that could use some attention: haskell-hvr/missingh#51, haskell-infra/hackage-trustees#253. I can edit the title of this PR to something like "Prepare for future GHC 8.8.x builds". And for reference, NixOS unstable is using GHC 8.8.2, so that's what I've tested this with. |
Ah yes, you did say that -- sorry! |
This update allows
gitit
to be compiled with GHC 8.8.x (usingbase-4.13.0.0
),network-3.x
,hoauth2-1.11.x
, andfeed-1.3.x
.All are small changes which do not change
gitit
's behavior. Each is explained in its relevant commit message. The updates needed for each library are independent---they could be pull-requested individually if that's helpful.