ndmitchell / hoogle

Haskell API search engine
http://hoogle.haskell.org/
Other
754 stars 137 forks source link

Bump hackage version #435

Open foxyseta opened 1 month ago

foxyseta commented 1 month ago

Would it be possible to make a new release on Hackage, please? My hoogle generate is still broken from #426, and the last available release is from January. I'd rather not clone and build from the git repository manually.

Sorry if this is a silly request.

LaurentRDC commented 1 month ago

Another reason to bump the hackage version: the most recent version only supports crypton-connection==0.3.2, which is rather restrictive

hamishmack commented 2 weeks ago

It seems cabal is currently unable to build hoogle from hackage without allow-newer: hoogle:crypton-connection.

Without relaxing this constraint incompatible versions of data-default and data-default-class are picked in order to avoid using an older version of tls. Cabal has to choose between using tls <2 or data-default-class <0.2 and it decides to use the older data-default-class and not the new one that is compatible with data-default-0.8.

Adding a build-depends to data-default-0.8 requiring data-default-class >0.2 would perhaps help, however it would force the solver to use tls <2. Edit: That would be a circular reference.

Bodigrim commented 2 weeks ago

Thanks to recent releases of other packages, which helped to convince Cabal solver to do the right thing, cabal install hoogle now works again, even with rypton-connection == 0.3.2.

foxyseta commented 2 weeks ago

Personally, this is what I am getting now:

Resolving dependencies...
Build profile: -w ghc-9.4.8 -O1
In order, the following will be built (use -v for more details):
 - data-default-0.8.0.0 (lib) (requires download & build)
 - extra-1.8 (lib) (requires download & build)
 - warp-3.4.4 (lib) (requires build)
 - process-extras-0.7.4 (lib) (requires build)
 - crypton-x509-validation-1.6.13 (lib) (requires build)
 - tls-2.0.6 (lib) (requires build)
 - tls-session-manager-0.0.7 (lib) (requires build)
 - crypton-connection-0.3.2 (lib) (requires build)
 - warp-tls-3.4.9 (lib) (requires build)
 - http-client-tls-0.3.6.4 (lib) (requires build)
 - http-conduit-2.3.9.1 (lib) (requires build)
 - hoogle-5.0.18.4 (lib) (requires build)
 - hoogle-5.0.18.4 (exe:hoogle) (requires build)
Downloading  data-default-0.8.0.0
Starting     warp-3.4.4 (lib)
Downloaded   data-default-0.8.0.0
Downloading  extra-1.8
Starting     data-default-0.8.0.0 (lib)
Downloaded   extra-1.8
Starting     extra-1.8 (lib)
Building     warp-3.4.4 (lib)
Building     data-default-0.8.0.0 (lib)
Building     extra-1.8 (lib)
Installing   data-default-0.8.0.0 (lib)
Completed    data-default-0.8.0.0 (lib)
Starting     process-extras-0.7.4 (lib)
Starting     crypton-x509-validation-1.6.13 (lib)
Installing   extra-1.8 (lib)
Building     crypton-x509-validation-1.6.13 (lib)
Building     process-extras-0.7.4 (lib)
Completed    extra-1.8 (lib)
Installing   crypton-x509-validation-1.6.13 (lib)
Installing   process-extras-0.7.4 (lib)
Installing   warp-3.4.4 (lib)
Completed    crypton-x509-validation-1.6.13 (lib)
Starting     tls-2.0.6 (lib)
Completed    process-extras-0.7.4 (lib)
Completed    warp-3.4.4 (lib)
Building     tls-2.0.6 (lib)

Failed to build tls-2.0.6.
Build log (
/home/foxy/.cache/cabal/logs/ghc-9.4.8/tls-2.0.6-714a9bd3a14c045704175fa1a806ab0567a056ca2fb7db8759c4a5558fae4807.log
):
Configuring library for tls-2.0.6..
Preprocessing library for tls-2.0.6..
Building library for tls-2.0.6..
[ 1 of 76] Compiling Network.TLS.Crypto.Types ( Network/TLS/Crypto/Types.hs, dist/build/Network/TLS/Crypto/Types.o, dist/build/Network/TLS/Crypto/Types.dyn_o )
[ 2 of 76] Compiling Network.TLS.ErrT ( Network/TLS/ErrT.hs, dist/build/Network/TLS/ErrT.o, dist/build/Network/TLS/ErrT.dyn_o )
[ 3 of 76] Compiling Network.TLS.Imports ( Network/TLS/Imports.hs, dist/build/Network/TLS/Imports.o, dist/build/Network/TLS/Imports.dyn_o )
[ 4 of 76] Compiling Network.TLS.Backend ( Network/TLS/Backend.hs, dist/build/Network/TLS/Backend.o, dist/build/Network/TLS/Backend.dyn_o )
[ 5 of 76] Compiling Network.TLS.Measurement ( Network/TLS/Measurement.hs, dist/build/Network/TLS/Measurement.o, dist/build/Network/TLS/Measurement.dyn_o )
[ 6 of 76] Compiling Network.TLS.RNG  ( Network/TLS/RNG.hs, dist/build/Network/TLS/RNG.o, dist/build/Network/TLS/RNG.dyn_o )
[ 7 of 76] Compiling Network.TLS.Crypto.DH ( Network/TLS/Crypto/DH.hs, dist/build/Network/TLS/Crypto/DH.o, dist/build/Network/TLS/Crypto/DH.dyn_o )
[ 8 of 76] Compiling Network.TLS.Extra.FFDHE ( Network/TLS/Extra/FFDHE.hs, dist/build/Network/TLS/Extra/FFDHE.o, dist/build/Network/TLS/Extra/FFDHE.dyn_o )
[ 9 of 76] Compiling Network.TLS.Util ( Network/TLS/Util.hs, dist/build/Network/TLS/Util.o, dist/build/Network/TLS/Util.dyn_o )
[10 of 76] Compiling Network.TLS.Util.ASN1 ( Network/TLS/Util/ASN1.hs, dist/build/Network/TLS/Util/ASN1.o, dist/build/Network/TLS/Util/ASN1.dyn_o )
[11 of 76] Compiling Network.TLS.Util.Serialization ( Network/TLS/Util/Serialization.hs, dist/build/Network/TLS/Util/Serialization.o, dist/build/Network/TLS/Util/Serialization.dyn_o )
[12 of 76] Compiling Network.TLS.Crypto.IES ( Network/TLS/Crypto/IES.hs, dist/build/Network/TLS/Crypto/IES.o, dist/build/Network/TLS/Crypto/IES.dyn_o )
[13 of 76] Compiling Network.TLS.Crypto ( Network/TLS/Crypto.hs, dist/build/Network/TLS/Crypto.o, dist/build/Network/TLS/Crypto.dyn_o )
[14 of 76] Compiling Network.TLS.Types ( Network/TLS/Types.hs, dist/build/Network/TLS/Types.o, dist/build/Network/TLS/Types.dyn_o )
[15 of 76] Compiling Network.TLS.Session ( Network/TLS/Session.hs, dist/build/Network/TLS/Session.o, dist/build/Network/TLS/Session.dyn_o )
[16 of 76] Compiling Network.TLS.Compression ( Network/TLS/Compression.hs, dist/build/Network/TLS/Compression.o, dist/build/Network/TLS/Compression.dyn_o )
[17 of 76] Compiling Network.TLS.Struct ( Network/TLS/Struct.hs, dist/build/Network/TLS/Struct.o, dist/build/Network/TLS/Struct.dyn_o )
[18 of 76] Compiling Network.TLS.Struct13 ( Network/TLS/Struct13.hs, dist/build/Network/TLS/Struct13.o, dist/build/Network/TLS/Struct13.dyn_o )
[19 of 76] Compiling Network.TLS.MAC  ( Network/TLS/MAC.hs, dist/build/Network/TLS/MAC.o, dist/build/Network/TLS/MAC.dyn_o )
[20 of 76] Compiling Network.TLS.Cipher ( Network/TLS/Cipher.hs, dist/build/Network/TLS/Cipher.o, dist/build/Network/TLS/Cipher.dyn_o )
[21 of 76] Compiling Network.TLS.Handshake.Control ( Network/TLS/Handshake/Control.hs, dist/build/Network/TLS/Handshake/Control.o, dist/build/Network/TLS/Handshake/Control.dyn_o )
[22 of 76] Compiling Network.TLS.Extra.Cipher ( Network/TLS/Extra/Cipher.hs, dist/build/Network/TLS/Extra/Cipher.o, dist/build/Network/TLS/Extra/Cipher.dyn_o )
[23 of 76] Compiling Network.TLS.Extra ( Network/TLS/Extra.hs, dist/build/Network/TLS/Extra.o, dist/build/Network/TLS/Extra.dyn_o )
[24 of 76] Compiling Network.TLS.Wire ( Network/TLS/Wire.hs, dist/build/Network/TLS/Wire.o, dist/build/Network/TLS/Wire.dyn_o )
[25 of 76] Compiling Network.TLS.Packet ( Network/TLS/Packet.hs, dist/build/Network/TLS/Packet.o, dist/build/Network/TLS/Packet.dyn_o )
[26 of 76] Compiling Network.TLS.Record.State ( Network/TLS/Record/State.hs, dist/build/Network/TLS/Record/State.o, dist/build/Network/TLS/Record/State.dyn_o )
[27 of 76] Compiling Network.TLS.Record.Types ( Network/TLS/Record/Types.hs, dist/build/Network/TLS/Record/Types.o, dist/build/Network/TLS/Record/Types.dyn_o )
[28 of 76] Compiling Network.TLS.Record.Engage ( Network/TLS/Record/Engage.hs, dist/build/Network/TLS/Record/Engage.o, dist/build/Network/TLS/Record/Engage.dyn_o )
[29 of 76] Compiling Network.TLS.Record.Disengage ( Network/TLS/Record/Disengage.hs, dist/build/Network/TLS/Record/Disengage.o, dist/build/Network/TLS/Record/Disengage.dyn_o )
[30 of 76] Compiling Network.TLS.Record ( Network/TLS/Record.hs, dist/build/Network/TLS/Record.o, dist/build/Network/TLS/Record.dyn_o )
[31 of 76] Compiling Network.TLS.Packet13 ( Network/TLS/Packet13.hs, dist/build/Network/TLS/Packet13.o, dist/build/Network/TLS/Packet13.dyn_o )
[32 of 76] Compiling Network.TLS.Handshake.State ( Network/TLS/Handshake/State.hs, dist/build/Network/TLS/Handshake/State.o, dist/build/Network/TLS/Handshake/State.dyn_o )
[33 of 76] Compiling Network.TLS.KeySchedule ( Network/TLS/KeySchedule.hs, dist/build/Network/TLS/KeySchedule.o, dist/build/Network/TLS/KeySchedule.dyn_o )
[34 of 76] Compiling Network.TLS.Extension ( Network/TLS/Extension.hs, dist/build/Network/TLS/Extension.o, dist/build/Network/TLS/Extension.dyn_o )
[35 of 76] Compiling Network.TLS.State ( Network/TLS/State.hs, dist/build/Network/TLS/State.o, dist/build/Network/TLS/State.dyn_o )
[36 of 76] Compiling Network.TLS.X509 ( Network/TLS/X509.hs, dist/build/Network/TLS/X509.o, dist/build/Network/TLS/X509.dyn_o )
[37 of 76] Compiling Network.TLS.Hooks ( Network/TLS/Hooks.hs, dist/build/Network/TLS/Hooks.o, dist/build/Network/TLS/Hooks.dyn_o )
[38 of 76] Compiling Network.TLS.Credentials ( Network/TLS/Credentials.hs, dist/build/Network/TLS/Credentials.o, dist/build/Network/TLS/Credentials.dyn_o )
[39 of 76] Compiling Network.TLS.Parameters ( Network/TLS/Parameters.hs, dist/build/Network/TLS/Parameters.o, dist/build/Network/TLS/Parameters.dyn_o )

Network/TLS/Parameters.hs:404:39: error:
    • No instance for (Default ValidationCache)
        arising from a use of ‘def’
    • In the ‘sharedValidationCache’ field of a record
      In the expression:
        Shared
          {sharedCredentials = mempty,
           sharedSessionManager = noSessionManager, sharedCAStore = mempty,
           sharedValidationCache = def, sharedHelloExtensions = []}
      In an equation for ‘def’:
          def
            = Shared
                {sharedCredentials = mempty,
                 sharedSessionManager = noSessionManager, sharedCAStore = mempty,
                 sharedValidationCache = def, sharedHelloExtensions = []}
    |
404 |             , sharedValidationCache = def
    |                                       ^^^
Error: cabal: Failed to build tls-2.0.6 (which is required by exe:hoogle from
hoogle-5.0.18.4). See the build log above for details.
Bodigrim commented 2 weeks ago

@foxyseta did you run cabal update?

foxyseta commented 2 weeks ago

My bad! Here is the actual error message now:

Resolving dependencies...
Build profile: -w ghc-9.4.8 -O1
In order, the following will be built (use -v for more details):
 - data-default-class-0.2.0.0 (lib) (requires download & build)
 - tls-2.0.6 (lib) (requires build)
 - cookie-0.5.0 (lib) (requires build)
 - tls-session-manager-0.0.7 (lib) (requires build)
 - crypton-connection-0.3.2 (lib) (requires build)
 - http-client-0.7.17 (lib) (requires build)
 - warp-tls-3.4.9 (lib) (requires build)
 - http-client-tls-0.3.6.4 (lib) (requires build)
 - http-conduit-2.3.9.1 (lib) (requires build)
 - hoogle-5.0.18.4 (lib) (requires build)
 - hoogle-5.0.18.4 (exe:hoogle) (requires build)
Downloading  data-default-class-0.2.0.0
Downloaded   data-default-class-0.2.0.0
Starting     data-default-class-0.2.0.0 (lib)
Building     data-default-class-0.2.0.0 (lib)
Installing   data-default-class-0.2.0.0 (lib)
Completed    data-default-class-0.2.0.0 (lib)
Starting     cookie-0.5.0 (lib)
Starting     tls-2.0.6 (lib)
Building     cookie-0.5.0 (lib)
Building     tls-2.0.6 (lib)
Installing   cookie-0.5.0 (lib)
Completed    cookie-0.5.0 (lib)
Starting     http-client-0.7.17 (lib)
Building     http-client-0.7.17 (lib)
Installing   http-client-0.7.17 (lib)
Completed    http-client-0.7.17 (lib)
Installing   tls-2.0.6 (lib)
Completed    tls-2.0.6 (lib)
Starting     tls-session-manager-0.0.7 (lib)
Starting     crypton-connection-0.3.2 (lib)
Building     tls-session-manager-0.0.7 (lib)
Building     crypton-connection-0.3.2 (lib)
Installing   tls-session-manager-0.0.7 (lib)
Installing   crypton-connection-0.3.2 (lib)
Completed    tls-session-manager-0.0.7 (lib)
Starting     warp-tls-3.4.9 (lib)
Completed    crypton-connection-0.3.2 (lib)
Starting     http-client-tls-0.3.6.4 (lib)
Building     warp-tls-3.4.9 (lib)
Building     http-client-tls-0.3.6.4 (lib)
Installing   warp-tls-3.4.9 (lib)
Installing   http-client-tls-0.3.6.4 (lib)
Completed    warp-tls-3.4.9 (lib)
Completed    http-client-tls-0.3.6.4 (lib)
Starting     http-conduit-2.3.9.1 (lib)
Building     http-conduit-2.3.9.1 (lib)
Installing   http-conduit-2.3.9.1 (lib)
Completed    http-conduit-2.3.9.1 (lib)
Starting     hoogle-5.0.18.4 (lib)
Building     hoogle-5.0.18.4 (lib)

Failed to build hoogle-5.0.18.4.
Build log (
/home/foxy/.cache/cabal/logs/ghc-9.4.8/hoogle-5.0.18.4-a5306a7bc7e4aaaaedce053d1e44ace714a177609070a8f88ac402b2198d41de.log
):
Configuring library for hoogle-5.0.18.4..
Preprocessing library for hoogle-5.0.18.4..
Building library for hoogle-5.0.18.4..
[ 1 of 28] Compiling General.Str      ( src/General/Str.hs, dist/build/General/Str.o, dist/build/General/Str.dyn_o )
[ 2 of 28] Compiling General.IString  ( src/General/IString.hs, dist/build/General/IString.o, dist/build/General/IString.dyn_o )
[ 3 of 28] Compiling General.Conduit  ( src/General/Conduit.hs, dist/build/General/Conduit.o, dist/build/General/Conduit.dyn_o )
[ 4 of 28] Compiling General.Template ( src/General/Template.hs, dist/build/General/Template.o, dist/build/General/Template.dyn_o )
[ 5 of 28] Compiling General.Util     ( src/General/Util.hs, dist/build/General/Util.o, dist/build/General/Util.dyn_o )
[ 6 of 28] Compiling General.Timing   ( src/General/Timing.hs, dist/build/General/Timing.o, dist/build/General/Timing.dyn_o )
[ 7 of 28] Compiling General.Log      ( src/General/Log.hs, dist/build/General/Log.o, dist/build/General/Log.dyn_o )
[ 8 of 28] Compiling Input.Download   ( src/Input/Download.hs, dist/build/Input/Download.o, dist/build/Input/Download.dyn_o )
[ 9 of 28] Compiling Input.Item       ( src/Input/Item.hs, dist/build/Input/Item.o, dist/build/Input/Item.dyn_o )
[10 of 28] Compiling Input.Haddock    ( src/Input/Haddock.hs, dist/build/Input/Haddock.o, dist/build/Input/Haddock.dyn_o )
[11 of 28] Compiling Input.Set        ( src/Input/Set.hs, dist/build/Input/Set.o, dist/build/Input/Set.dyn_o )
[12 of 28] Compiling Paths_hoogle     ( dist/build/autogen/Paths_hoogle.hs, dist/build/Paths_hoogle.o, dist/build/Paths_hoogle.dyn_o )
[13 of 28] Compiling Input.Settings   ( src/Input/Settings.hs, dist/build/Input/Settings.o, dist/build/Input/Settings.dyn_o )
[14 of 28] Compiling Input.Reorder    ( src/Input/Reorder.hs, dist/build/Input/Reorder.o, dist/build/Input/Reorder.dyn_o )
[15 of 28] Compiling Input.Cabal      ( src/Input/Cabal.hs, dist/build/Input/Cabal.o, dist/build/Input/Cabal.dyn_o )
[16 of 28] Compiling General.Store    ( src/General/Store.hs, dist/build/General/Store.o, dist/build/General/Store.dyn_o )
[17 of 28] Compiling Output.Types     ( src/Output/Types.hs, dist/build/Output/Types.o, dist/build/Output/Types.dyn_o )
[18 of 28] Compiling Output.Names     ( src/Output/Names.hs, dist/build/Output/Names.o, dist/build/Output/Names.dyn_o )
[19 of 28] Compiling Output.Items     ( src/Output/Items.hs, dist/build/Output/Items.o, dist/build/Output/Items.dyn_o )
[20 of 28] Compiling Action.CmdLine   ( src/Action/CmdLine.hs, dist/build/Action/CmdLine.o, dist/build/Action/CmdLine.dyn_o )
[21 of 28] Compiling General.Web      ( src/General/Web.hs, dist/build/General/Web.o, dist/build/General/Web.dyn_o )
[22 of 28] Compiling Query            ( src/Query.hs, dist/build/Query.o, dist/build/Query.dyn_o )
[23 of 28] Compiling Output.Tags      ( src/Output/Tags.hs, dist/build/Output/Tags.o, dist/build/Output/Tags.dyn_o )
[24 of 28] Compiling Action.Generate  ( src/Action/Generate.hs, dist/build/Action/Generate.o, dist/build/Action/Generate.dyn_o )
[25 of 28] Compiling Action.Search    ( src/Action/Search.hs, dist/build/Action/Search.o, dist/build/Action/Search.dyn_o )
[26 of 28] Compiling Action.Server    ( src/Action/Server.hs, dist/build/Action/Server.o, dist/build/Action/Server.dyn_o )
[27 of 28] Compiling Action.Test      ( src/Action/Test.hs, dist/build/Action/Test.o, dist/build/Action/Test.dyn_o )
[28 of 28] Compiling Hoogle           ( src/Hoogle.hs, dist/build/Hoogle.o, dist/build/Hoogle.dyn_o )

In file included from cbits/text_search.c:2:0: error:
/usr/include/fortify/string.h: In function 'strncat':

/usr/include/fortify/string.h:297:36: error:
     error: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Wimplicit-function-declaration]
      297 |                 __fh_size_t __sl = strnlen(__s, __n);
          |                                    ^~~~~~~
          |                                    strlen
    |
297 |                 __fh_size_t __sl = strnlen(__s, __n);
    |                                    ^
`gcc' failed in phase `C Compiler'. (Exit code: 1)
Error: cabal: Failed to build hoogle-5.0.18.4 (which is required by exe:hoogle
from hoogle-5.0.18.4). See the build log above for details.

As this is showing the right hoogle version, perhaps I should close this issue and open a different one?

LaurentRDC commented 2 weeks ago

I should close this issue

Please don't, a new Hackage version is also required to support crypton-connection >= 0.4