frasertweedale / hs-jose

Haskell JOSE and JWT library
http://hackage.haskell.org/package/jose
Apache License 2.0
122 stars 46 forks source link

Build failure with GHC 8 #14

Closed snoyberg closed 8 years ago

snoyberg commented 8 years ago
> /tmp/stackage-build8$ stack unpack jose-0.4.0.1
Unpacked jose-0.4.0.1 to /tmp/stackage-build8/jose-0.4.0.1/
> /tmp/stackage-build8/jose-0.4.0.1$ runghc -clear-package-db -global-package-db -package-db=/home/stackage/work/builds/nightly/pkgdb Setup configure --package-db=clear --package-db=global --package-db=/home/stackage/work/builds/nightly/pkgdb --libdir=/home/stackage/work/builds/nightly/lib --bindir=/home/stackage/work/builds/nightly/bin --datadir=/home/stackage/work/builds/nightly/share --libexecdir=/home/stackage/work/builds/nightly/libexec --sysconfdir=/home/stackage/work/builds/nightly/etc --docdir=/home/stackage/work/builds/nightly/doc/jose-0.4.0.1 --htmldir=/home/stackage/work/builds/nightly/doc/jose-0.4.0.1 --haddockdir=/home/stackage/work/builds/nightly/doc/jose-0.4.0.1 --flags=
Configuring jose-0.4.0.1...
> /tmp/stackage-build8/jose-0.4.0.1$ runghc -clear-package-db -global-package-db -package-db=/home/stackage/work/builds/nightly/pkgdb Setup build
Building jose-0.4.0.1...
Preprocessing library jose-0.4.0.1...
[ 1 of 19] Compiling Crypto.JOSE.Types.Orphans ( src/Crypto/JOSE/Types/Orphans.hs, dist/build/Crypto/JOSE/Types/Orphans.o )

src/Crypto/JOSE/Types/Orphans.hs:22:1: warning: [-Wunused-imports]
    The import of ‘Control.Applicative’ is redundant
      except perhaps to import instances from ‘Control.Applicative’
    To import instances alone, use: import Control.Applicative()

src/Crypto/JOSE/Types/Orphans.hs:23:1: warning: [-Wunused-imports]
    The import of ‘Data.Traversable’ is redundant
      except perhaps to import instances from ‘Data.Traversable’
    To import instances alone, use: import Data.Traversable()

src/Crypto/JOSE/Types/Orphans.hs:25:1: warning: [-Wunused-imports]
    The import of ‘toList’
    from module ‘Data.List.NonEmpty’ is redundant

src/Crypto/JOSE/Types/Orphans.hs:27:1: warning: [-Wunused-imports]
    The qualified import of ‘Data.Vector’ is redundant
      except perhaps to import instances from ‘Data.Vector’
    To import instances alone, use: import Data.Vector()
[ 2 of 19] Compiling Crypto.JOSE.TH   ( src/Crypto/JOSE/TH.hs, dist/build/Crypto/JOSE/TH.o )

src/Crypto/JOSE/TH.hs:100:3: error:
    • Couldn't match expected type ‘Q Dec’
                  with actual type ‘CxtQ -> DecQ’
    • Probable cause: ‘dataD’ is applied to too few arguments
      In the expression:
        dataD
          (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"])
      In the first argument of ‘sequenceQ’, namely
        ‘[dataD
            (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"]),
          instanceD (cxt []) (aesonInstance s ''FromJSON) [parseJSONFun vs],
          instanceD (cxt []) (aesonInstance s ''ToJSON) [toJSONFun vs]]’
      In the expression:
        sequenceQ
          [dataD
             (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"]),
           instanceD (cxt []) (aesonInstance s ''FromJSON) [parseJSONFun vs],
           instanceD (cxt []) (aesonInstance s ''ToJSON) [toJSONFun vs]]

src/Crypto/JOSE/TH.hs:100:33: error:
    • Couldn't match expected type ‘Maybe Kind’
                  with actual type ‘[ConQ]’
    • In the fourth argument of ‘dataD’, namely ‘(map conQ vs)’
      In the expression:
        dataD
          (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"])
      In the first argument of ‘sequenceQ’, namely
        ‘[dataD
            (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"]),
          instanceD (cxt []) (aesonInstance s ''FromJSON) [parseJSONFun vs],
          instanceD (cxt []) (aesonInstance s ''ToJSON) [toJSONFun vs]]’

src/Crypto/JOSE/TH.hs:100:47: error:
    • Couldn't match type ‘Name’ with ‘Q Con’
      Expected type: [ConQ]
        Actual type: [Name]
    • In the fifth argument of ‘dataD’, namely
        ‘(map mkName ["Eq", "Show"])’
      In the expression:
        dataD
          (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"])
      In the first argument of ‘sequenceQ’, namely
        ‘[dataD
            (cxt []) (mkName s) [] (map conQ vs) (map mkName ["Eq", "Show"]),
          instanceD (cxt []) (aesonInstance s ''FromJSON) [parseJSONFun vs],
          instanceD (cxt []) (aesonInstance s ''ToJSON) [toJSONFun vs]]’
frasertweedale commented 8 years ago

Fixed in 6522888d2becb50dce4afdcf74f15b0042635b1f