Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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