Skip to content
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

Support ghc 9.0 (and newer) #7747

Closed
blackgnezdo opened this issue Oct 14, 2021 · 8 comments
Closed

Support ghc 9.0 (and newer) #7747

blackgnezdo opened this issue Oct 14, 2021 · 8 comments

Comments

@blackgnezdo
Copy link
Contributor

blackgnezdo commented Oct 14, 2021

Describe the bug

There doesn't seem to be a viable plan for building the current HEAD (69dbf54) with ghc-9.0.1.

To Reproduce
Steps to reproduce the behavior:

$ cabal v2-build cabal-install --minimize-conflict-set
cabal: Could not resolve dependencies:
[__0] trying: cabal-install-3.7.0.0 (user goal)
[__1] rejecting: cabal-install:!test (constraint from config file, command
line flag, or user target requires opposite flag selection)
[__1] trying: cabal-install:*test
[__2] next goal: network-uri (dependency of cabal-install)
[__2] rejecting: network-uri-2.6.4.1, network-uri-2.6.4.0 (conflict:
cabal-install *test => network-uri>=2.6.2.0 && <2.6.4.0)
[__2] trying: network-uri-2.6.3.0
[__3] next goal: template-haskell (dependency of network-uri)
[__3] rejecting: template-haskell-2.17.0.0/installed-2.17.0.0 (conflict:
network-uri => base>=3 && <4.15, template-haskell =>
base==4.15.0.0/installed-4.15.0.0)
[__3] rejecting: template-haskell-2.17.0.0, template-haskell-2.16.0.0,
template-haskell-2.15.0.0, template-haskell-2.14.0.0,
template-haskell-2.13.0.0, template-haskell-2.12.0.0,
template-haskell-2.11.1.0, template-haskell-2.11.0.0,
template-haskell-2.10.0.0, template-haskell-2.9.0.0, template-haskell-2.8.0.0,
template-haskell-2.7.0.0, template-haskell-2.6.0.0, template-haskell-2.5.0.0,
template-haskell-2.4.0.1, template-haskell-2.4.0.0, template-haskell-2.3.0.1,
template-haskell-2.3.0.0, template-haskell-2.2.0.0 (constraint from
non-upgradeable package requires installed instance)
[__3] fail (backjumping, conflict set: network-uri, template-haskell)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: cabal-install, template-haskell,
network-uri, cabal-install:test
$ ghc --version                                                                                                                                      
The Glorious Glasgow Haskell Compilation System, version 9.0.1
% cabal --version
cabal-install version 3.4.0.0
compiled using version 3.4.0.0 of the Cabal library 
% git log -n1   
commit 69dbf5415e341616999fcd1ddb97234ab6793aa9 (HEAD -> master, origin/master, origin/HEAD)
Merge: 69f62284b f07c922b7
Author: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Date:   Tue Oct 12 07:28:09 2021 +0000

    Merge pull request #7743 from peterbecich/type-annotations
    
    Type annotations

Expected behavior
Executable, viable build plan and a functional cabal-install at the end.

System information

  • OpenBSD
  • cabal 3.4.0.0, ghc 9.0.1
@Mikolaj
Copy link
Member

Mikolaj commented Oct 14, 2021

Thank you for the test. It seems the allow-newer entries in cabal.project needs to be updated. Have you filed a ticket to network-uri to update to GHC 9? BTW GHC 9 is not yet ready for consumption and not included in ghcup nor stack.

@Mikolaj
Copy link
Member

Mikolaj commented Oct 20, 2021

From what I hear from wise sages, the major work to support 9.0 is in hackage-security (bumps, release, adding GHC-9.0 CI job and handling the fallout, if any; I think I can do this part), then network-uri needs to be looked into and then cabal-install CI set up and any fallout handled there. Volunteers are welcome.

@phadej
Copy link
Collaborator

phadej commented Oct 20, 2021

https://hackage.haskell.org/package/network-uri-2.6.4.1 is GHC-9.0 compatible release. cabal-install has strict bounds on network-uri in tests, because it defines orphan instances (in unlikely, but possible case that network-uri would provide Arbitrary instances directly).

@Mikolaj
Copy link
Member

Mikolaj commented Oct 20, 2021

Oh, and #7763 is a serious issue, but probably just being fixed. [Edit: but apparently, while the fix works on Windows, there are related issues on Linux.]

@arrowd
Copy link
Collaborator

arrowd commented Nov 11, 2021

I guess, the blocked: upstream label can be removed now that network-uri was updated? The only problem left is #7763 ?

algitbot pushed a commit to alpinelinux/aports that referenced this issue Nov 17, 2021
This is the latest git HEAD since the most recent release is very very
difficult to bootstrap with GHC 9.X. Even Git HEAD still requires
loosening a bunch of version constraints on the standard library.

In a separate step, this package will be renamed to cabal-bootstrap and
used to build a full cabal-install distribution using v2-build.

See also haskell/cabal#7747

Fixes #13171

Shout-out to @sternenseemann
@Mikolaj
Copy link
Member

Mikolaj commented Nov 18, 2021

See also #7819 and https://gitlab.haskell.org/ghc/ghc/-/issues/20684 that is going to be fixed in 9.2.2.

@Mikolaj Mikolaj added this to the Considered for 3.8 milestone Jan 13, 2022
@andreabedini
Copy link
Collaborator

@Mikolaj is this still relevant?

@Mikolaj
Copy link
Member

Mikolaj commented Feb 22, 2022

I think it's superseded by the other mentioned tickets and with your work on CI for the new GHCs. Closing.

@blackgnezdo, and other people concerned, please kindly test #7907, which is probably already in its final form, either now or after it lands.

@Mikolaj Mikolaj closed this as completed Feb 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants