haskell-github / github

The github API for Haskell
https://hackage.haskell.org/package/github
BSD 3-Clause "New" or "Revised" License
411 stars 190 forks source link

On GHC 9.2: Blocked on dependencies #468

Closed andreasabel closed 2 years ago

andreasabel commented 2 years ago

Seems like the dependency chain github -> tls -> memory -> basement is failing at its end:

$ cabal install github-0.27
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: github-0.27 (user goal)
[__1] trying: github:-openssl
[__2] trying: tls-1.5.5 (dependency of github -openssl)
[__3] trying: memory-0.16.0 (dependency of tls)
[__4] trying: memory:+support_foundation
[__5] trying: basement-0.0.12 (dependency of memory +support_foundation)
[__6] next goal: base (dependency of github)
[__6] rejecting: base-4.16.0.0/installed-4.16.0.0 (conflict: basement =>
base>=4.9 && <4.16)

Blocked by:

phadej commented 2 years ago

Don't use -openssl. The +openssl configuration works well. (Problems with basement aren't my problems).

andreasabel commented 2 years ago

Thanks for the quick advice!

With flag openssl (not the default) it seems to fail at HsOpenSSL (>=0.11.4.16 && <0.12), via github -> HsOpenSSL/text/parsec (incompatible requirements on bytestring).

$ cabal install github-0.27 -f+openssl
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: github-0.27 (user goal)
[__1] rejecting: github:-openssl (constraint from config file, command line
flag, or user target requires opposite flag selection)
[__1] trying: github:+openssl
[__2] trying: HsOpenSSL-0.11.7.2 (dependency of github +openssl)
[__3] next goal: text (dependency of github)
[__3] rejecting: text-1.2.5.0/installed-1.2.5.0 (conflict: HsOpenSSL =>
bytestring>=0.9 && <0.11, text => bytestring==0.11.1.0/installed-0.11.1.0)
[__3] trying: text-1.2.5.0
[__4] trying: network-uri-2.6.4.1 (dependency of github)
[__5] next goal: parsec (dependency of network-uri)
[__5] rejecting: parsec-3.1.14.0/installed-3.1.14.0 (conflict: HsOpenSSL =>
bytestring>=0.9 && <0.11, parsec => bytestring==0.11.1.0/installed-0.11.1.0)
[__5] trying: parsec-3.1.14.0
[__6] next goal: base (dependency of github)
[__6] rejecting: base-4.16.0.0/installed-4.16.0.0 (conflict: parsec =>
base>=4.5.0 && <4.16)

The version of HsOpenSSL that is picked by cabal-install with GHC 9.2 on my system is 0.11.4.15 (excluded by github-0.27):

$ cabal install HsOpenSSL
Resolving dependencies...
Build profile: -w ghc-9.2.1 -O1
In order, the following will be built (use -v for more details):
 - network-2.5.0.0 (lib:network) (requires download & build)
 - HsOpenSSL-0.11.4.15 (lib:HsOpenSSL) (requires download & build)
((SUCCEEDS))
phadej commented 2 years ago

https://github.com/phadej/github/blob/dd195d9b5eaba68c2408ab488af8c1dcabd2e033/cabal.project#L13-L15

andreasabel commented 2 years ago

Thanks!

I filed