snoyberg/http-client

http-conduit fails to build with GHC 9.4 and aeson 2.2.0.0

vmchale opened this issue · 5 comments

[3 of 3] Compiling Network.HTTP.Simple ( Network/HTTP/Simple.hs, /tmp/http-conduit-2.3.8.2/dist-newstyle/build/x86_64-linux/ghc-9.4.5/http-conduit-2.3.8.2/build/Network/HTTP/Simple.o, /tmp/http-conduit-2.3.8.2/dist-newstyle/build/x86_64-linux/ghc-9.4.5/http-conduit-2.3.8.2/build/Network/HTTP/Simple.dyn_o )

Network/HTTP/Simple.hs:106:1: error:
    Could not load module ‘Data.Aeson.Parser’
    It is a member of the hidden package ‘aeson-2.1.2.1’.
    Perhaps you need to add ‘aeson’ to the build-depends in your .cabal file.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
    |
106 | import Data.Aeson.Parser (json')
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The package bounds need to be revised to only allow aeson <2.2

juhp commented

(Yep, don't think it is related with ghc-9.4)

I downloaded every http-conduit release on hackage and looked for the ones which imported Data.Aeson.Parser. I recommend revising the bounds of the following releases to aeson <2.2:

$ grep -r 'Data.Aeson.Parser' * | cut -f1 -d/ | sort
http-conduit-2.1.10
http-conduit-2.1.10.1
http-conduit-2.1.11
http-conduit-2.2.0
http-conduit-2.2.0.1
http-conduit-2.2.1
http-conduit-2.2.2
http-conduit-2.2.2.1
http-conduit-2.2.3
http-conduit-2.2.3.1
http-conduit-2.2.3.2
http-conduit-2.2.4
http-conduit-2.3.0
http-conduit-2.3.1
http-conduit-2.3.2
http-conduit-2.3.3
http-conduit-2.3.4
http-conduit-2.3.5
http-conduit-2.3.6
http-conduit-2.3.6.1
http-conduit-2.3.7
http-conduit-2.3.7.1
http-conduit-2.3.7.2
http-conduit-2.3.7.3
http-conduit-2.3.7.4
http-conduit-2.3.8
http-conduit-2.3.8.1
http-conduit-2.3.8.2

I am prepared to do this in my capacity as Hackage Trustee; please let me know in the next couple of weeks if I shouldn't.

juhp commented

This basically breaks all use of http-conduit with cabal builds, eg GH actions.

juhp commented

Okay I confirmed that http-conduit-2.3.8.3 fixes the build issue, thanks 👍

As Hackage Trustee jack, I have added aeson <2.2 to the following packages:

http-conduit-2.2.0
http-conduit-2.2.0.1
http-conduit-2.2.1
http-conduit-2.2.2
http-conduit-2.2.2.1
http-conduit-2.2.3
http-conduit-2.2.3.1
http-conduit-2.2.3.2
http-conduit-2.2.4
http-conduit-2.3.0
http-conduit-2.3.1
http-conduit-2.3.2
http-conduit-2.3.3
http-conduit-2.3.4
http-conduit-2.3.5
http-conduit-2.3.6
http-conduit-2.3.6.1
http-conduit-2.3.7
http-conduit-2.3.7.1
http-conduit-2.3.7.2
http-conduit-2.3.7.3
http-conduit-2.3.7.4
http-conduit-2.3.8
http-conduit-2.3.8.1
http-conduit-2.3.8.2