haskell-cryptography / HsOpenSSL

OpenSSL binding for Haskell
http://hackage.haskell.org/package/HsOpenSSL
Creative Commons Zero v1.0 Universal
22 stars 33 forks source link

Allow `bytestring-0.11` for GHC 9.2 compatibility #64

Closed andreasabel closed 2 years ago

andreasabel commented 2 years ago

GHC 9.2 build fails because of dep chain HsOpenSSL -> bytestring-0.10 -> base-4.15.

$ cabal install HsOpenSSL-0.11.7.2
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: HsOpenSSL-0.11.7.2 (user goal)
[__1] next goal: bytestring (dependency of HsOpenSSL)
[__1] rejecting: bytestring-0.11.1.0/installed-0.11.1.0 (conflict: HsOpenSSL
=> bytestring>=0.9 && <0.11)
[__1] skipping: bytestring-0.11.1.0, bytestring-0.11.0.0 (has the same
characteristics that caused the previous version to fail: excluded by
constraint '>=0.9 && <0.11' from 'HsOpenSSL')
[__1] trying: bytestring-0.10.12.1
[__2] next goal: base (dependency of HsOpenSSL)
[__2] rejecting: base-4.16.0.0/installed-4.16.0.0 (conflict: bytestring =>
base>=4.2 && <4.16)

Overriding the bound on bytestring succeeds:

$ cabal install HsOpenSSL-0.11.7.2 --allow-newer='HsOpenSSL:bytestring'
Build profile: -w ghc-9.2.1 -O1
In order, the following will be built (use -v for more details):
 - network-3.1.2.5 (lib:network) (requires build)
 - HsOpenSSL-0.11.7.2 (lib:HsOpenSSL) (requires build)
...
((SUCCEEDS))

This suggest that the bound could be relaxed to bytestring < 0.12 via a hackage revision.

vshabanov commented 2 years ago

Done, thank you. I've also run a (rather small) test suite and it works as well.

andreasabel commented 2 years ago

Excellent!

For the reference, here is your revision: https://hackage.haskell.org/package/HsOpenSSL-0.11.7.2/revisions/