Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GHC 9.2 support #1482

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ jobs:
- "8.8.4"
- "8.10.7"
- "9.0.2"
# can't build with GHC 9.2 until basement, hs-memory, and cryptonite
# are updated to work with 9.2
# - "9.2.1"

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -92,8 +95,15 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
stack: ["2.7.3"]
ghc: ["8.10.7"]
include:
- stack: "2.7.3"
ghc: "8.10.7"
stack-yaml: "stack.yaml"
- stack: "2.7.3"
ghc: "9.2.1"
stack-yaml: "stack-ghc-9.2.yaml"
env:
STACK_YAML: ${{ matrix.stack-yaml }}

steps:
- uses: actions/checkout@v2
Expand Down
8 changes: 8 additions & 0 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,11 @@ write-ghc-environment-files: always
-- https://github.com/chordify/haskell-servant-pagination/pull/12
allow-newer: servant-pagination-2.2.2:servant
allow-newer: servant-pagination-2.2.2:servant-server

-- ghc 9.2
allow-newer: basement:base
allow-newer: memory:base
allow-newer: servant-multipart-api:bytestring
allow-newer: servant-multipart:bytestring
allow-newer: servant-multipart:http-media
allow-newer: servant-multipart:resourcet
2 changes: 1 addition & 1 deletion doc/tutorial/tutorial.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ library
, blaze-markup >= 0.8.0.0 && < 0.9
, cookie >= 0.4.3 && < 0.5
, js-jquery >= 3.3.1 && < 3.4
, lucid >= 2.9.11 && < 2.10
, lucid >= 2.9.11 && < 2.12
, random >= 1.1 && < 1.3
, servant-js >= 0.9 && < 0.10
, time >= 1.6.0.1 && < 1.13
Expand Down
1 change: 1 addition & 0 deletions nix/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ $ nix-shell nix/shell.nix --argstr compiler ghcHEAD
- `ghc884`
- `ghc8104` - default
- `ghc901`
- `ghc921`

### Cabal users

Expand Down
6 changes: 3 additions & 3 deletions servant-auth/servant-auth-client/servant-auth-client.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ library
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
ghc-options: -Wall
build-depends:
base >= 4.10 && < 4.16
, bytestring >= 0.10.6.0 && < 0.11
base >= 4.10 && < 4.17
, bytestring >= 0.10.6.0 && < 0.12
, containers >= 0.5.6.2 && < 0.7
, servant-auth == 0.4.*
, servant >= 0.13 && < 0.20
Expand Down Expand Up @@ -65,7 +65,7 @@ test-suite spec
hspec >= 2.5.5 && < 2.9
, QuickCheck >= 2.11.3 && < 2.15
, aeson >= 1.3.1.1 && < 3
, bytestring >= 0.10.6.0 && < 0.11
, bytestring >= 0.10.6.0 && < 0.12
, http-client >= 0.5.13.1 && < 0.8
, http-types >= 0.12.2 && < 0.13
, servant-auth-server >= 0.4.2.0 && < 0.5
Expand Down
2 changes: 1 addition & 1 deletion servant-auth/servant-auth-docs/servant-auth-docs.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ library
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
ghc-options: -Wall
build-depends:
base >= 4.10 && < 4.16
base >= 4.10 && < 4.17
, servant-docs >= 0.11.2 && < 0.13
, servant >= 0.13 && < 0.20
, servant-auth == 0.4.*
Expand Down
6 changes: 3 additions & 3 deletions servant-auth/servant-auth-server/servant-auth-server.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ library
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
ghc-options: -Wall
build-depends:
base >= 4.10 && < 4.16
base >= 4.10 && < 4.17
, aeson >= 1.0.0.1 && < 3
, base64-bytestring >= 1.0.0.1 && < 2
, blaze-builder >= 0.4.1.0 && < 0.5
, bytestring >= 0.10.6.0 && < 0.11
, bytestring >= 0.10.6.0 && < 0.12
, case-insensitive >= 1.2.0.11 && < 1.3
, cookie >= 0.4.4 && < 0.5
, data-default-class >= 0.1.2.0 && < 0.2
Expand All @@ -51,7 +51,7 @@ library
, servant-server >= 0.13 && < 0.20
, tagged >= 0.8.4 && < 0.9
, text >= 1.2.3.0 && < 2.1
, time >= 1.5.0.1 && < 1.10
, time >= 1.5.0.1 && < 1.12
, unordered-containers >= 0.2.9.0 && < 0.3
, wai >= 3.2.1.2 && < 3.3

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ library
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
ghc-options: -Wall
build-depends:
base >= 4.10 && < 4.16
base >= 4.10 && < 4.17
, text >= 1.2.3.0 && < 2.1
, servant-swagger >= 1.1.5 && < 2
, swagger2 >= 2.2.2 && < 3
Expand Down
2 changes: 1 addition & 1 deletion servant-auth/servant-auth/servant-auth.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ library
default-extensions: ConstraintKinds DataKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances FunctionalDependencies GADTs KindSignatures MultiParamTypeClasses OverloadedStrings RankNTypes ScopedTypeVariables TypeFamilies TypeOperators
ghc-options: -Wall
build-depends:
base >= 4.10 && < 4.16
base >= 4.10 && < 4.17
, containers >= 0.6 && < 0.7
, aeson >= 1.3.1.1 && < 3
, jose >= 0.7.0.0 && < 0.10
Expand Down
6 changes: 3 additions & 3 deletions servant-client-core/servant-client-core.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, bytestring >= 0.10.8.1 && < 0.12
, constraints >= 0.2 && < 0.14
, containers >= 0.5.7.1 && < 0.7
, deepseq >= 1.4.2.0 && < 1.5
, text >= 1.2.3.0 && < 2.1
, transformers >= 0.5.2.0 && < 0.6
, template-haskell >= 2.11.1.0 && < 2.18
, template-haskell >= 2.11.1.0 && < 2.19

if !impl(ghc >= 8.2)
build-depends:
Expand All @@ -71,7 +71,7 @@ library
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
aeson >= 1.4.1.0 && < 3
, base-compat >= 0.10.5 && < 0.12
, base-compat >= 0.10.5 && < 0.13
, base64-bytestring >= 1.0.0.1 && < 1.3
, exceptions >= 0.10.0 && < 0.11
, free >= 5.1 && < 5.2
Expand Down
6 changes: 3 additions & 3 deletions servant-client/servant-client.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ library
-- Bundled with GHC: Lower bound to not force re-installs
-- text and mtl are bundled starting with GHC-8.4
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, bytestring >= 0.10.8.1 && < 0.12
, containers >= 0.5.7.1 && < 0.7
, deepseq >= 1.4.2.0 && < 1.5
, mtl >= 2.2.2 && < 2.3
, stm >= 2.4.5.1 && < 2.6
, text >= 1.2.3.0 && < 2.1
, time >= 1.6.0.1 && < 1.10
, time >= 1.6.0.1 && < 1.12
, transformers >= 0.5.2.0 && < 0.6

if !impl(ghc >= 8.2)
Expand All @@ -64,7 +64,7 @@ library
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
base-compat >= 0.10.5 && < 0.12
base-compat >= 0.10.5 && < 0.13
, http-client >= 0.5.13.1 && < 0.8
, http-media >= 0.7.1.3 && < 0.9
, http-types >= 0.12.2 && < 0.13
Expand Down
4 changes: 2 additions & 2 deletions servant-docs/servant-docs.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, bytestring >= 0.10.8.1 && < 0.12
, text >= 1.2.3.0 && < 2.1

Expand All @@ -54,7 +54,7 @@ library
build-depends:
aeson >= 1.4.1.0 && < 3
, aeson-pretty >= 0.8.5 && < 0.9
, base-compat >= 0.10.5 && < 0.12
, base-compat >= 0.10.5 && < 0.13
, case-insensitive >= 1.2.0.11 && < 1.3
, hashable >= 1.2.7.0 && < 1.5
, http-media >= 0.7.1.3 && < 0.9
Expand Down
4 changes: 2 additions & 2 deletions servant-foreign/servant-foreign.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, text >= 1.2.3.0 && < 2.1

-- Servant dependencies
Expand All @@ -51,7 +51,7 @@ library
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
base-compat >= 0.10.5 && < 0.12
base-compat >= 0.10.5 && < 0.13
, lens >= 4.17 && < 5.2
, http-types >= 0.12.2 && < 0.13

Expand Down
8 changes: 4 additions & 4 deletions servant-http-streams/servant-http-streams.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ library
-- Bundled with GHC: Lower bound to not force re-installs
-- text and mtl are bundled starting with GHC-8.4
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, bytestring >= 0.10.8.1 && < 0.12
, containers >= 0.5.7.1 && < 0.7
, deepseq >= 1.4.2.0 && < 1.5
, mtl >= 2.2.2 && < 2.3
, text >= 1.2.3.0 && < 2.1
, time >= 1.6.0.1 && < 1.10
, time >= 1.6.0.1 && < 1.12
, transformers >= 0.5.2.0 && < 0.6

if !impl(ghc >= 8.2)
Expand All @@ -60,13 +60,13 @@ library
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
base-compat >= 0.10.5 && < 0.12
base-compat >= 0.10.5 && < 0.13
, case-insensitive
, http-streams >= 0.8.6.1 && < 0.9
, http-media >= 0.7.1.3 && < 0.9
, io-streams >= 1.5.0.1 && < 1.6
, http-types >= 0.12.2 && < 0.13
, http-common >= 0.8.2.0 && < 0.8.3
, http-common >= 0.8.2.0 && < 0.9
, exceptions >= 0.10.0 && < 0.11
, kan-extensions >= 5.2 && < 5.3
, monad-control >= 1.0.2.3 && < 1.1
Expand Down
4 changes: 2 additions & 2 deletions servant-server/servant-server.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ library
-- Bundled with GHC: Lower bound to not force re-installs
-- text and mtl are bundled starting with GHC-8.4
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, bytestring >= 0.10.8.1 && < 0.12
, constraints >= 0.2 && < 0.14
, containers >= 0.5.7.1 && < 0.7
Expand All @@ -78,7 +78,7 @@ library
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
base-compat >= 0.10.5 && < 0.12
base-compat >= 0.10.5 && < 0.13
, base64-bytestring >= 1.0.0.1 && < 1.3
, exceptions >= 0.10.0 && < 0.11
, http-media >= 0.7.1.3 && < 0.9
Expand Down
6 changes: 3 additions & 3 deletions servant-swagger/servant-swagger.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ source-repository head
custom-setup
setup-depends:
base >=4.9 && <5,
Cabal >= 1.24 && < 3.5,
Cabal >= 1.24 && < 3.7,
cabal-doctest >=1.0.6 && <1.1

library
Expand All @@ -72,8 +72,8 @@ library
build-depends: aeson >=1.4.2.0 && <3
, aeson-pretty >=0.8.7 && <0.9
, base >=4.9.1.0 && <5
, base-compat >=0.10.5 && <0.12
, bytestring >=0.10.8.1 && <0.11
, base-compat >=0.10.5 && <0.13
, bytestring >=0.10.8.1 && <0.12
, http-media >=0.7.1.3 && <0.9
, insert-ordered-containers >=0.2.1.0 && <0.3
, lens >=4.17 && <6
Expand Down
4 changes: 2 additions & 2 deletions servant/servant.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.9 && < 4.16
base >= 4.9 && < 4.17
, bytestring >= 0.10.8.1 && < 0.12
, constraints >= 0.2
, mtl >= 2.2.2 && < 2.3
Expand All @@ -98,7 +98,7 @@ library
-- Other dependencies: Lower bound around what is in the latest Stackage LTS.
-- Here can be exceptions if we really need features from the newer versions.
build-depends:
base-compat >= 0.10.5 && < 0.12
base-compat >= 0.10.5 && < 0.13
, aeson >= 1.4.1.0 && < 3
, attoparsec >= 0.13.2.2 && < 0.15
, bifunctors >= 5.5.3 && < 5.6
Expand Down
37 changes: 37 additions & 0 deletions stack-ghc-9.2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
resolver: nightly-2022-02-14
compiler: ghc-9.2.1

packages:
- servant-client-core/
- servant-client/
- servant-docs/
- servant-foreign/
- servant-http-streams/
- servant-server/
- servant/

- servant-conduit
- servant-machines/
- servant-pipes/
- servant-swagger/

extra-deps:
- base-compat-0.12.1
- base-compat-batteries-0.12.1
- lens-5.1

# https://github.com/haskell-foundation/foundation/pull/555
- github: haskell-foundation/foundation
commit: 0bb195e1fea06d144dafc5af9a0ff79af0a5f4a0
subdirs:
- basement

# https://github.com/vincenthz/hs-memory/pull/87
- github: vincenthz/hs-memory
commit: 3cf661a8a9a8ac028df77daa88e8d65c55a3347a

# https://github.com/haskell-crypto/cryptonite/pull/354
- github: haskell-crypto/cryptonite
commit: 3b081e3ad027b0550fc87f171dffecbb20dedafe

allow-newer: true
9 changes: 2 additions & 7 deletions stack.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
resolver: lts-18.5
resolver: lts-18.25

packages:
- servant-client-core/
- servant-client/
Expand All @@ -12,9 +13,3 @@ packages:
- servant-machines/
- servant-pipes/
- servant-swagger/

# allow-newer: true # ignores all bounds, that's a sledgehammer
# - doc/tutorial/

extra-deps:
- hspec-wai-0.10.1
17 changes: 5 additions & 12 deletions stack.yaml.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,10 @@
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files

packages:
- completed:
hackage: hspec-wai-0.10.1@sha256:56dd9ec1d56f47ef1946f71f7cbf070e4c285f718cac1b158400ae5e7172ef47,2290
pantry-tree:
size: 809
sha256: 17af1c2e709cd84bfda066b9ebb04cdde7f92660c51a1f7401a1e9f766524e93
original:
hackage: hspec-wai-0.10.1
packages: []
snapshots:
- completed:
size: 585817
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/5.yaml
sha256: 22d24d0dacad9c1450b9a174c28d203f9bb482a2a8da9710a2f2a9f4afee2887
original: lts-18.5
size: 587393
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/25.yaml
sha256: 1b74fb5e970497b5aefae56703f1bd44aa648bd1a5ef95c1eb8c29775087e2bf
original: lts-18.25