Skip to content

crypto-api-0.13.3 broken on GHC 7.10.3 and older #29

Open
@hvr

Description

@hvr

It appears that .hs-boot semantics have changed in GHC 8.0 in such a way that you can provide default method implementations referring to module-private entitites, but this wasn't possible in GHC 7.10.3 yet it seems:

Build profile: -w ghc-7.10.3 -O1
In order, the following will be built (use -v for more details):
 - crypto-api-0.13.3 (lib:crypto-api) (first run)
Configuring crypto-api-0.13.3...
Preprocessing library for crypto-api-0.13.3..
Building library for crypto-api-0.13.3..
[ 1 of 11] Compiling Crypto.CPoly     ( Crypto/CPoly.hs, /tmp/crypto-api-0.13.3/dist-newstyle/build/x86_64-linux/ghc-7.10.3/crypto-api-0.13.3/build/Crypto/CPoly.o )
[ 2 of 11] Compiling Crypto.Types     ( Crypto/Types.hs, /tmp/crypto-api-0.13.3/dist-newstyle/build/x86_64-linux/ghc-7.10.3/crypto-api-0.13.3/build/Crypto/Types.o )
[ 3 of 11] Compiling Crypto.Util      ( Crypto/Util.hs, /tmp/crypto-api-0.13.3/dist-newstyle/build/x86_64-linux/ghc-7.10.3/crypto-api-0.13.3/build/Crypto/Util.o )
[ 4 of 11] Compiling Crypto.Random    ( Crypto/Random.hs, /tmp/crypto-api-0.13.3/dist-newstyle/build/x86_64-linux/ghc-7.10.3/crypto-api-0.13.3/build/Crypto/Random.o )
[ 5 of 11] Compiling Crypto.Classes[boot] ( Crypto/Classes.hs-boot, /tmp/crypto-api-0.13.3/dist-newstyle/build/x86_64-linux/ghc-7.10.3/crypto-api-0.13.3/build/Crypto/Classes.o-boot )

Crypto/Classes.hs-boot:32:11: Not in scope: ‘modeEcb'’

Crypto/Classes.hs-boot:35:13: Not in scope: ‘modeUnEcb'’

Crypto/Classes.hs-boot:38:11: Not in scope: ‘modeCbc'’

Crypto/Classes.hs-boot:41:13: Not in scope: ‘modeUnCbc'’

Crypto/Classes.hs-boot:45:11: Not in scope: ‘modeCtr'’

Crypto/Classes.hs-boot:45:20: Not in scope: ‘incIV’

Crypto/Classes.hs-boot:49:13: Not in scope: ‘modeUnCtr'’

Crypto/Classes.hs-boot:49:24: Not in scope: ‘incIV’

Crypto/Classes.hs-boot:53:15: Not in scope: ‘modeCtr’

Crypto/Classes.hs-boot:53:23: Not in scope: ‘incIV’

Crypto/Classes.hs-boot:57:17: Not in scope: ‘modeUnCtr’

Crypto/Classes.hs-boot:57:27: Not in scope: ‘incIV’

Crypto/Classes.hs-boot:61:11: Not in scope: ‘modeCfb'’

Crypto/Classes.hs-boot:64:13: Not in scope: ‘modeUnCfb'’

Crypto/Classes.hs-boot:67:11: Not in scope: ‘modeOfb'’

Crypto/Classes.hs-boot:71:13: Not in scope: ‘modeUnOfb'’

Crypto/Classes.hs-boot:75:15: Not in scope: ‘modeCbc’

Crypto/Classes.hs-boot:79:17: Not in scope: ‘modeUnCbc’

Crypto/Classes.hs-boot:86:15: Not in scope: ‘modeSiv’

Crypto/Classes.hs-boot:93:17: Not in scope: ‘modeUnSiv’

Crypto/Classes.hs-boot:100:11: Not in scope: ‘modeSiv'’

Crypto/Classes.hs-boot:107:13: Not in scope: ‘modeUnSiv'’

Crypto/Classes.hs-boot:111:15: Not in scope: ‘modeEcb’

Crypto/Classes.hs-boot:115:17: Not in scope: ‘modeUnEcb’

Crypto/Classes.hs-boot:120:15: Not in scope: ‘modeCfb’

Crypto/Classes.hs-boot:125:17: Not in scope: ‘modeUnCfb’

Crypto/Classes.hs-boot:129:15: Not in scope: ‘modeOfb’

Crypto/Classes.hs-boot:133:17: Not in scope: ‘modeUnOfb’

As this has started breaking install-plans, I've just added a lower bound on base to prevent the cabal solver from picking up 0.13.3 with GHC 7.10 and older (see https://hackage.haskell.org/package/crypto-api-0.13.3/revisions/).

matrix ci

cc @mightybyte

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions