Skip to content

Commit

Permalink
Merge pull request #925 from phadej/release-0.13-ghc-8.4.1
Browse files Browse the repository at this point in the history
Support GHC-8.4.1 and newer deps
  • Loading branch information
phadej authored Mar 15, 2018
2 parents 1d55429 + 67698db commit 0881c18
Show file tree
Hide file tree
Showing 16 changed files with 109 additions and 91 deletions.
31 changes: 9 additions & 22 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ matrix:
- compiler: "ghc-8.2.2"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.2.2], sources: [hvr-ghc]}}
- compiler: "ghc-8.4.1"
# env: TEST=--disable-tests BENCH=--disable-benchmarks
addons: {apt: {packages: [ghc-ppa-tools,cabal-install-head,ghc-8.4.1], sources: [hvr-ghc]}}

before_install:
- HC=${CC}
Expand All @@ -70,9 +73,9 @@ install:
- rm -fv cabal.project cabal.project.local
- "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
- grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
- "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"doc/cookbook/db-postgres-pool\" \"doc/cookbook/jwt-and-basic-auth\" \"doc/cookbook/db-sqlite-simple\" \"doc/cookbook/basic-auth\" \"doc/cookbook/https\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\" \"doc/cookbook/file-upload\"\\n' > cabal.project"
- "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"doc/cookbook/https\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\" \"doc/cookbook/file-upload\"\\n' > cabal.project"
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
- "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server' >> cabal.project"
- "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server, http-media:base' >> cabal.project"
- cat cabal.project
- if [ -f "servant/configure.ac" ]; then
(cd "servant" && autoreconf -i);
Expand All @@ -95,18 +98,6 @@ install:
- if [ -f "doc/tutorial/configure.ac" ]; then
(cd "doc/tutorial" && autoreconf -i);
fi
- if [ -f "doc/cookbook/db-postgres-pool/configure.ac" ]; then
(cd "doc/cookbook/db-postgres-pool" && autoreconf -i);
fi
- if [ -f "doc/cookbook/jwt-and-basic-auth/configure.ac" ]; then
(cd "doc/cookbook/jwt-and-basic-auth" && autoreconf -i);
fi
- if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then
(cd "doc/cookbook/db-sqlite-simple" && autoreconf -i);
fi
- if [ -f "doc/cookbook/basic-auth/configure.ac" ]; then
(cd "doc/cookbook/basic-auth" && autoreconf -i);
fi
- if [ -f "doc/cookbook/https/configure.ac" ]; then
(cd "doc/cookbook/https" && autoreconf -i);
fi
Expand All @@ -120,7 +111,7 @@ install:
(cd "doc/cookbook/file-upload" && autoreconf -i);
fi
- rm -f cabal.project.freeze
- rm -rf "servant"/.ghc.environment.* "servant-client"/.ghc.environment.* "servant-client-core"/.ghc.environment.* "servant-docs"/.ghc.environment.* "servant-foreign"/.ghc.environment.* "servant-server"/.ghc.environment.* "doc/tutorial"/.ghc.environment.* "doc/cookbook/db-postgres-pool"/.ghc.environment.* "doc/cookbook/jwt-and-basic-auth"/.ghc.environment.* "doc/cookbook/db-sqlite-simple"/.ghc.environment.* "doc/cookbook/basic-auth"/.ghc.environment.* "doc/cookbook/https"/.ghc.environment.* "doc/cookbook/structuring-apis"/.ghc.environment.* "doc/cookbook/using-custom-monad"/.ghc.environment.* "doc/cookbook/file-upload"/.ghc.environment.* "servant"/dist "servant-client"/dist "servant-client-core"/dist "servant-docs"/dist "servant-foreign"/dist "servant-server"/dist "doc/tutorial"/dist "doc/cookbook/db-postgres-pool"/dist "doc/cookbook/jwt-and-basic-auth"/dist "doc/cookbook/db-sqlite-simple"/dist "doc/cookbook/basic-auth"/dist "doc/cookbook/https"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist "doc/cookbook/file-upload"/dist
- rm -rf .ghc.environment.* "servant"/dist "servant-client"/dist "servant-client-core"/dist "servant-docs"/dist "servant-foreign"/dist "servant-server"/dist "doc/tutorial"/dist "doc/cookbook/https"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist "doc/cookbook/file-upload"/dist
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)

# Here starts the actual work to be performed for the package under test;
Expand All @@ -135,22 +126,18 @@ script:
- (cd "servant-foreign" && cabal sdist)
- (cd "servant-server" && cabal sdist)
- (cd "doc/tutorial" && cabal sdist)
- (cd "doc/cookbook/db-postgres-pool" && cabal sdist)
- (cd "doc/cookbook/jwt-and-basic-auth" && cabal sdist)
- (cd "doc/cookbook/db-sqlite-simple" && cabal sdist)
- (cd "doc/cookbook/basic-auth" && cabal sdist)
- (cd "doc/cookbook/https" && cabal sdist)
- (cd "doc/cookbook/structuring-apis" && cabal sdist)
- (cd "doc/cookbook/using-custom-monad" && cabal sdist)
- (cd "doc/cookbook/file-upload" && cabal sdist)
- echo -en 'travis_fold:end:sdist\\r'
- echo Unpacking... && echo -en 'travis_fold:start:unpack\\r'
- mv "servant"/dist/servant-*.tar.gz "servant-client"/dist/servant-client-*.tar.gz "servant-client-core"/dist/servant-client-core-*.tar.gz "servant-docs"/dist/servant-docs-*.tar.gz "servant-foreign"/dist/servant-foreign-*.tar.gz "servant-server"/dist/servant-server-*.tar.gz "doc/tutorial"/dist/tutorial-*.tar.gz "doc/cookbook/db-postgres-pool"/dist/cookbook-db-postgres-pool-*.tar.gz "doc/cookbook/jwt-and-basic-auth"/dist/cookbook-jwt-and-basic-auth-*.tar.gz "doc/cookbook/db-sqlite-simple"/dist/cookbook-db-sqlite-simple-*.tar.gz "doc/cookbook/basic-auth"/dist/cookbook-basic-auth-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz "doc/cookbook/file-upload"/dist/cookbook-file-upload-*.tar.gz ${DISTDIR}/
- mv "servant"/dist/servant-*.tar.gz "servant-client"/dist/servant-client-*.tar.gz "servant-client-core"/dist/servant-client-core-*.tar.gz "servant-docs"/dist/servant-docs-*.tar.gz "servant-foreign"/dist/servant-foreign-*.tar.gz "servant-server"/dist/servant-server-*.tar.gz "doc/tutorial"/dist/tutorial-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz "doc/cookbook/file-upload"/dist/cookbook-file-upload-*.tar.gz ${DISTDIR}/
- cd ${DISTDIR} || false
- find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
- "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal cookbook-db-postgres-pool-*/*.cabal cookbook-jwt-and-basic-auth-*/*.cabal cookbook-db-sqlite-simple-*/*.cabal cookbook-basic-auth-*/*.cabal cookbook-https-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal cookbook-file-upload-*/*.cabal\\n' > cabal.project"
- "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal cookbook-https-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal cookbook-file-upload-*/*.cabal\\n' > cabal.project"
- "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
- "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server' >> cabal.project"
- "echo 'allow-newer: servant-js:servant,servant-js:servant-foreign,servant-auth-server:http-types,servant-multipart:lens,servant-multipart:resourcet,servant-multipart:servant,servant-multipart:servant-server,servant-auth-server:servant-server, http-media:base' >> cabal.project"
- cat cabal.project
- echo -en 'travis_fold:end:unpack\\r'

Expand Down
16 changes: 15 additions & 1 deletion cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,18 @@ packages: servant/
servant-foreign/
servant-server/
doc/tutorial/
doc/cookbook/*/*.cabal

-- doc/cookbook/*/*.cabal

-- doc/cookbook/db-postgres-pool
-- doc/cookbook/jwt-and-basic-auth
-- doc/cookbook/db-sqlite-simple
-- doc/cookbook/basic-auth
doc/cookbook/https
doc/cookbook/structuring-apis
doc/cookbook/using-custom-monad
doc/cookbook/file-upload


allow-newer:
servant-js:servant,
Expand All @@ -21,3 +32,6 @@ constraints:
-- see https://github.com/haskell-infra/hackage-trustees/issues/119
foundation >=0.0.14,
memory <0.14.12 || >0.14.12

allow-newer:
http-media:base
2 changes: 1 addition & 1 deletion doc/cookbook/file-upload/file-upload.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
build-type: Simple
cabal-version: >=1.10
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1

executable cookbook-file-upload
main-is: FileUpload.lhs
Expand Down
2 changes: 1 addition & 1 deletion doc/cookbook/https/https.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
build-type: Simple
cabal-version: >=1.10
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1

executable cookbook-https
main-is: Https.lhs
Expand Down
2 changes: 1 addition & 1 deletion doc/cookbook/structuring-apis/structuring-apis.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
build-type: Simple
cabal-version: >=1.10
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1

executable cookbook-structuring-apis
main-is: StructuringApis.lhs
Expand Down
2 changes: 1 addition & 1 deletion doc/cookbook/using-custom-monad/using-custom-monad.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ author: Servant Contributors
maintainer: haskell-servant-maintainers@googlegroups.com
build-type: Simple
cabal-version: >=1.10
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.1

executable cookbook-using-custom-monad
main-is: UsingCustomMonad.lhs
Expand Down
11 changes: 6 additions & 5 deletions doc/tutorial/tutorial.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ maintainer: haskell-servant-maintainers@googlegroups.com
build-type: Simple
cabal-version: >=1.10
tested-with:
GHC==7.8.4
GHC==7.10.3
GHC==8.0.2
GHC==8.2.2
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.2,
GHC==8.4.1
extra-source-files:
static/index.html
static/ui.js
Expand All @@ -34,7 +35,7 @@ library
-- Packages `servant` depends on.
-- We don't need to specify bounds here as this package is never released.
build-depends:
base >= 4.7 && <4.11
base >= 4.7 && <4.12
, aeson
, aeson-compat
, attoparsec
Expand Down
17 changes: 9 additions & 8 deletions servant-client-core/servant-client-core.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@ extra-source-files:
CHANGELOG.md
README.md
tested-with:
GHC==7.8.4
GHC==7.10.3
GHC==8.0.2
GHC==8.2.2
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.2,
GHC==8.4.1

source-repository head
type: git
Expand All @@ -45,7 +46,7 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.7 && < 4.11
base >= 4.7 && < 4.12
, bytestring >= 0.10.4.0 && < 0.11
, containers >= 0.5.5.1 && < 0.6
, mtl >= 2.1 && < 2.3
Expand All @@ -64,7 +65,7 @@ library
build-depends:
base-compat >= 0.9.3 && < 0.10
, base64-bytestring >= 1.0.0.1 && < 1.1
, exceptions >= 0.8.3 && < 0.9
, exceptions >= 0.8.3 && < 0.11
, generics-sop >= 0.3.1.0 && < 0.4
, http-api-data >= 0.3.7.1 && < 0.4
, http-media >= 0.7.1.1 && < 0.8
Expand Down Expand Up @@ -95,8 +96,8 @@ test-suite spec
-- Additonal dependencies
build-depends:
deepseq >= 1.3.0.2 && <1.5
, hspec >= 2.4.4 && <2.5
, hspec >= 2.4.4 && <2.6
, QuickCheck >= 2.10.1 && < 2.12

build-tool-depends:
hspec-discover:hspec-discover >= 2.4.4 && <2.5
hspec-discover:hspec-discover >= 2.4.4 && <2.6
4 changes: 2 additions & 2 deletions servant-client-ghcjs/servant-client-ghcjs.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ library
Servant.Client.Ghcjs
Servant.Client.Internal.XhrClient
build-depends:
base >= 4.7 && < 4.11
base >= 4.7 && < 4.12
, bytestring >= 0.10 && < 0.11
, case-insensitive >= 1.2.0.0 && < 1.3.0.0
, containers >= 0.5 && < 0.6
, exceptions >= 0.8 && < 0.9
, exceptions >= 0.8 && < 0.11
, ghcjs-base >= 0.2.0.0 && < 0.3.0.0
, ghcjs-prim >= 0.1.0.0 && < 0.2.0.0
, http-media >= 0.6.2 && < 0.8
Expand Down
21 changes: 11 additions & 10 deletions servant-client/servant-client.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@ category: Servant, Web
build-type: Simple
cabal-version: >=1.10
tested-with:
GHC==7.8.4
GHC==7.10.3
GHC==8.0.2
GHC==8.2.2
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.2,
GHC==8.4.1
homepage: http://haskell-servant.readthedocs.org/
Bug-reports: http://github.com/haskell-servant/servant/issues
extra-source-files:
Expand All @@ -41,7 +42,7 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.7 && < 4.11
base >= 4.7 && < 4.12
, bytestring >= 0.10.4.0 && < 0.11
, containers >= 0.5.5.1 && < 0.6
, mtl >= 2.1 && < 2.3
Expand All @@ -59,19 +60,19 @@ 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:
aeson >= 1.2.3.0 && < 1.3
aeson >= 1.2.3.0 && < 1.4
, base-compat >= 0.9.3 && < 0.10
, attoparsec >= 0.13.2.0 && < 0.14
, http-client >= 0.5.7.1 && < 0.6
, http-client-tls >= 0.3.5.1 && < 0.4
, http-media >= 0.7.1.1 && < 0.8
, http-types >= 0.12 && < 0.13
, exceptions >= 0.8.3 && < 0.9
, exceptions >= 0.8.3 && < 0.11
, monad-control >= 1.0.0.4 && < 1.1
, semigroupoids >= 5.2.1 && < 5.3
, stm >= 2.4.4.1 && < 2.5
, transformers-base >= 0.4.4 && < 0.5
, transformers-compat >= 0.5.1 && < 0.6
, transformers-compat >= 0.5.1 && < 0.7

hs-source-dirs: src
default-language: Haskell2010
Expand Down Expand Up @@ -114,12 +115,12 @@ test-suite spec
build-depends:
deepseq >= 1.3.0.2 && < 1.5
, generics-sop >= 0.3.1.0 && < 0.4
, hspec >= 2.4.4 && < 2.5
, hspec >= 2.4.4 && < 2.6
, HUnit >= 1.6 && < 1.7
, network >= 2.6.3.2 && < 2.7
, QuickCheck >= 2.10.1 && < 2.12
, servant == 0.13.*
, servant-server == 0.13.*

build-tool-depends:
hspec-discover:hspec-discover >= 2.4.4 && < 2.5
hspec-discover:hspec-discover >= 2.4.4 && < 2.6
17 changes: 9 additions & 8 deletions servant-docs/servant-docs.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@ category: Servant, Web
build-type: Simple
cabal-version: >=1.10
tested-with:
GHC==7.8.4
GHC==7.10.3
GHC==8.0.2
GHC==8.2.2
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.2,
GHC==8.4.1
homepage: http://haskell-servant.readthedocs.org/
Bug-reports: http://github.com/haskell-servant/servant/issues
extra-source-files:
Expand All @@ -41,7 +42,7 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.7 && < 4.11
base >= 4.7 && < 4.12
, bytestring >= 0.10.4.0 && < 0.11
, text >= 1.2.3.0 && < 1.3

Expand All @@ -56,7 +57,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:
aeson >= 1.2.3.0 && < 1.3
aeson >= 1.2.3.0 && < 1.4
, aeson-pretty >= 0.8.5 && < 0.9
, base-compat >= 0.9.3 && < 0.10
, case-insensitive >= 1.2.0.10 && < 1.3
Expand Down Expand Up @@ -108,7 +109,7 @@ test-suite spec

-- Additonal dependencies
build-depends:
hspec >= 2.4.4 && < 2.5
hspec >= 2.4.4 && < 2.6

build-tool-depends:
hspec-discover:hspec-discover >=2.4.4 && <2.5
hspec-discover:hspec-discover >=2.4.4 && <2.6
5 changes: 5 additions & 0 deletions servant-foreign/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md)
[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)

0.11.1
------

- Add missing `Semigroup` instances

0.11
----

Expand Down
21 changes: 13 additions & 8 deletions servant-foreign/servant-foreign.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: servant-foreign
version: 0.11
version: 0.11.1
synopsis: Helpers for generating clients for servant APIs in any programming language
description:
Helper types and functions for generating client functions for servant APIs in any programming language
Expand All @@ -23,10 +23,11 @@ extra-source-files:
README.md
bug-reports: http://github.com/haskell-servant/servant/issues
tested-with:
GHC==7.8.4
GHC==7.10.3
GHC==8.0.2
GHC==8.2.2
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.2,
GHC==8.4.1

source-repository head
type: git
Expand All @@ -42,9 +43,13 @@ library
--
-- note: mtl lower bound is so low because of GHC-7.8
build-depends:
base >= 4.7 && <4.11
base >= 4.7 && <4.12
, text >= 1.2.3.0 && < 1.3

if !impl(ghc >= 8.0)
build-depends:
semigroups >=0.18.3 && <0.19

-- Servant dependencies
build-depends:
servant == 0.13.*
Expand Down Expand Up @@ -79,8 +84,8 @@ test-suite spec

-- Additonal dependencies
build-depends:
hspec >= 2.4.4 && <2.5
hspec >= 2.4.4 && <2.6

build-tool-depends:
hspec-discover:hspec-discover >=2.4.4 && <2.5
hspec-discover:hspec-discover >=2.4.4 && <2.6
default-language: Haskell2010
Loading

0 comments on commit 0881c18

Please sign in to comment.