Skip to content

Commit e9d283a

Browse files
committed
Compatibility with GHC-9.6
1 parent 0babbed commit e9d283a

File tree

20 files changed

+57
-41
lines changed

20 files changed

+57
-41
lines changed

.github/workflows/master.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,20 @@ jobs:
1111
strategy:
1212
matrix:
1313
os: [ubuntu-latest]
14-
cabal: ["3.6"]
14+
cabal: ["3.10"]
1515
ghc:
1616
- "8.6.5"
1717
- "8.8.4"
1818
- "8.10.7"
1919
- "9.0.2"
20-
- "9.2.7"
21-
- "9.4.4"
20+
- "9.2.8"
21+
- "9.4.5"
22+
- "9.6.2"
2223

2324
steps:
2425
- uses: actions/checkout@v2
2526

26-
- uses: haskell/actions/setup@v1
27+
- uses: haskell/actions/setup@v2
2728
id: setup-haskell-cabal
2829
name: Setup Haskell
2930
with:
@@ -35,7 +36,7 @@ jobs:
3536
cabal configure --enable-tests --enable-benchmarks --test-show-details=direct
3637
cabal freeze
3738
38-
- uses: actions/cache@v2.1.3
39+
- uses: actions/cache/restore@v3
3940
name: Cache ~/.cabal/store and dist-newstyle
4041
with:
4142
path: |
@@ -45,9 +46,9 @@ jobs:
4546
restore-keys: |
4647
${{ runner.os }}-${{ matrix.ghc }}-
4748
48-
- name: Configure
49+
- name: Install doctest
4950
run: |
50-
cabal install --ignore-project -j2 doctest --constraint='doctest ^>=0.20'
51+
cabal install --ignore-project -j2 doctest --constraint='doctest ^>=0.21'
5152
5253
- name: Build
5354
run: |
@@ -62,7 +63,7 @@ jobs:
6263
# Necessary for doctest to be found in $PATH
6364
export PATH="$HOME/.cabal/bin:$PATH"
6465
65-
DOCTEST="cabal repl --with-ghc=doctest --ghc-options=-w"
66+
DOCTEST="cabal repl --with-ghc=doctest"
6667
(cd servant && eval $DOCTEST)
6768
(cd servant-client && eval $DOCTEST)
6869
(cd servant-client-core && eval $DOCTEST)
@@ -114,7 +115,7 @@ jobs:
114115
runs-on: "ubuntu-latest"
115116

116117
steps:
117-
- uses: actions/checkout@v2
118+
- uses: actions/checkout@v3
118119
- uses: cachix/install-nix-action@v20
119120
with:
120121
extra_nix_config: |
@@ -129,7 +130,7 @@ jobs:
129130
cat cabal.project
130131
nix-shell ghcjs.nix --run "cabal v2-update && cabal v2-freeze"
131132
132-
- uses: actions/cache@v2.1.3
133+
- uses: actions/cache/save@v3
133134
name: Cache ~/.cabal/store and dist-newstyle
134135
with:
135136
path: |

cabal.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,14 @@ optimization: False
5757
-- https://github.com/snoyberg/http-client/issues/508
5858
constraints: crypton < 0, crypton-connection < 0, crypton-x509 < 0, crypton-x509-store < 0, crypton-x509-system < 0, crypton-x509-validation < 0
5959
constraints: warp < 3.3.26
60+
61+
allow-newer: servant-js:base
62+
63+
-- Print ticks so that doctest type querying is consistent across GHC versions.
64+
-- This block can be removed when we drop support for GHC 9.4 and below.
65+
if(impl(ghc >= 9.6.1))
66+
package servant
67+
ghc-options: -fprint-redundant-promotion-ticks
68+
69+
package servant-server
70+
ghc-options: -fprint-redundant-promotion-ticks

servant-auth/servant-auth-client/servant-auth-client.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ library
3131
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
3232
ghc-options: -Wall
3333
build-depends:
34-
base >= 4.10 && < 4.18
34+
base >= 4.10 && < 4.19
3535
, bytestring >= 0.10.6.0 && < 0.12
3636
, containers >= 0.5.6.2 && < 0.7
3737
, servant-auth == 0.4.*
@@ -71,7 +71,7 @@ test-suite spec
7171
, servant-auth-server >= 0.4.2.0 && < 0.5
7272
, servant-server >= 0.13 && < 0.20
7373
, time >= 1.5.0.1 && < 1.13
74-
, transformers >= 0.4.2.0 && < 0.6
74+
, transformers >= 0.4.2.0 && < 0.7
7575
, wai >= 3.2.1.2 && < 3.3
7676
, warp >= 3.2.25 && < 3.4
7777
, jose >= 0.10 && < 0.11

servant-auth/servant-auth-docs/servant-auth-docs.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ library
3535
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
3636
ghc-options: -Wall
3737
build-depends:
38-
base >= 4.10 && < 4.18
38+
base >= 4.10 && < 4.19
3939
, servant-docs >= 0.11.2 && < 0.13
4040
, servant >= 0.13 && < 0.20
4141
, servant-auth == 0.4.*
@@ -50,7 +50,7 @@ test-suite doctests
5050
build-depends:
5151
base,
5252
servant-auth-docs,
53-
doctest >= 0.16 && < 0.21,
53+
doctest >= 0.16 && < 0.22,
5454
QuickCheck >= 2.11.3 && < 2.15,
5555
template-haskell
5656
ghc-options: -Wall -threaded

servant-auth/servant-auth-server/servant-auth-server.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ library
3131
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
3232
ghc-options: -Wall
3333
build-depends:
34-
base >= 4.10 && < 4.18
34+
base >= 4.10 && < 4.19
3535
, aeson >= 1.0.0.1 && < 3
3636
, base64-bytestring >= 1.0.0.1 && < 2
3737
, blaze-builder >= 0.4.1.0 && < 0.5

servant-auth/servant-auth-swagger/servant-auth-swagger.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ library
3131
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
3232
ghc-options: -Wall
3333
build-depends:
34-
base >= 4.10 && < 4.18
34+
base >= 4.10 && < 4.19
3535
, text >= 1.2.3.0 && < 2.1
3636
, servant-swagger >= 1.1.5 && < 2
3737
, swagger2 >= 2.2.2 && < 3

servant-auth/servant-auth/servant-auth.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ library
3333
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
3434
ghc-options: -Wall
3535
build-depends:
36-
base >= 4.10 && < 4.18
36+
base >= 4.10 && < 4.19
3737
, containers >= 0.6 && < 0.7
3838
, aeson >= 1.3.1.1 && < 3
3939
, jose >= 0.10 && < 0.11

servant-client-core/servant-client-core.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ library
5050
--
5151
-- note: mtl lower bound is so low because of GHC-7.8
5252
build-depends:
53-
base >= 4.9 && < 4.18
53+
base >= 4.9 && < 4.19
5454
, bytestring >= 0.10.8.1 && < 0.12
5555
, constraints >= 0.2 && < 0.14
5656
, containers >= 0.5.7.1 && < 0.7
5757
, deepseq >= 1.4.2.0 && < 1.5
5858
, text >= 1.2.3.0 && < 2.1
5959
, transformers >= 0.5.2.0 && < 0.7
60-
, template-haskell >= 2.11.1.0 && < 2.20
60+
, template-haskell >= 2.11.1.0 && < 2.21
6161

6262
if !impl(ghc >= 8.2)
6363
build-depends:

servant-client-core/src/Servant/Client/Core/BaseUrl.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ instance Eq BaseUrl where
5757
where s ('/':x) = x
5858
s x = x
5959

60-
-- | >>> traverse_ (LBS8.putStrLn . encode) $ parseBaseUrl "api.example.com"
60+
-- | >>> traverse_ (LBS8.putStrLn . encode) (parseBaseUrl "api.example.com" :: [BaseUrl])
6161
-- "http://api.example.com"
6262
instance ToJSON BaseUrl where
6363
toJSON = toJSON . showBaseUrl
@@ -72,8 +72,8 @@ instance FromJSON BaseUrl where
7272

7373
-- | >>> :{
7474
-- traverse_ (LBS8.putStrLn . encode) $ do
75-
-- u1 <- parseBaseUrl "api.example.com"
76-
-- u2 <- parseBaseUrl "example.com"
75+
-- u1 <- parseBaseUrl "api.example.com" :: [BaseUrl]
76+
-- u2 <- parseBaseUrl "example.com" :: [BaseUrl]
7777
-- return $ Map.fromList [(u1, 'x'), (u2, 'y')]
7878
-- :}
7979
-- {"http://api.example.com":"x","http://example.com":"y"}

servant-client/servant-client.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ library
4141
-- Bundled with GHC: Lower bound to not force re-installs
4242
-- text and mtl are bundled starting with GHC-8.4
4343
build-depends:
44-
base >= 4.9 && < 4.18
44+
base >= 4.9 && < 4.19
4545
, bytestring >= 0.10.8.1 && < 0.12
4646
, containers >= 0.5.7.1 && < 0.7
4747
, deepseq >= 1.4.2.0 && < 1.5

0 commit comments

Comments
 (0)