git.iko.soy/typeable/servant
on master help sign in
Support GHC-8.4.1 and newer deps
commitc56fda3869efc191df8779e133d173e475b08e0d authorOleg Grenrus <oleg.grenrus@iki.fi> dateThu 15 Mar 2018, 10:46 (9 years ago) parent3e8c217
23 files changed+121−81
.travis.yml+36−35 cabal.project+15−7 doc/cookbook/basic-auth/basic-auth.cabal+1−1 doc/cookbook/db-postgres-pool/db-postgres-pool.cabal+1−1 doc/cookbook/db-sqlite-simple/db-sqlite-simple.cabal+1−1 doc/cookbook/file-upload/file-upload.cabal+1−1 doc/cookbook/https/https.cabal+1−1 doc/cookbook/jwt-and-basic-auth/jwt-and-basic-auth.cabal+1−1 doc/cookbook/pagination/Dummy.hs+3 doc/cookbook/pagination/pagination.cabal+15−12 doc/cookbook/structuring-apis/structuring-apis.cabal+1−1 doc/cookbook/using-custom-monad/using-custom-monad.cabal+1−1 doc/tutorial/tutorial.cabal+2−1 servant-client-core/servant-client-core.cabal+2−1 servant-client-ghcjs/servant-client-ghcjs.cabal+1−1 servant-client/servant-client.cabal+3−2 servant-client/test/Servant/StreamSpec.hs+15−7 servant-docs/servant-docs.cabal+2−1 servant-foreign/CHANGELOG.md+5 servant-foreign/servant-foreign.cabal+6−1 servant-foreign/src/Servant/Foreign/Internal.hs+3−2 servant-server/servant-server.cabal+3−2 servant/servant.cabal+2−1
.travis.yml+36−35
@@ -1,6 +1,6 @@
11# This Travis job script has been generated by a script via
22#
3−# runghc make_travis_yml_2.hs '--config=cabal.make-travis-yml' '--output=.travis.yml' '--max-backjumps=10000' 'cabal.project'
3+# runghc make_travis_yml_2.hs '--config=cabal.make-travis-yml' '--output=.travis.yml' 'cabal.project'
44#
55# For more information, see https://github.com/hvr/multi-ghc-travis
66#
@@ -33,18 +33,21 @@ before_cache:
3333
3434matrix:
3535 include:
36− - compiler: "ghc-7.8.4"
36+ - compiler: "ghc-8.4.2"
3737 # env: TEST=--disable-tests BENCH=--disable-benchmarks
38− addons: {apt: {packages: [ghc-ppa-tools,ghc-7.8.4,xz-utils], sources: [hvr-ghc]}}
39− - compiler: "ghc-7.10.3"
38+ addons: {apt: {packages: [ghc-ppa-tools,ghc-8.4.2], sources: [hvr-ghc]}}
39+ - compiler: "ghc-8.2.2"
4040 # env: TEST=--disable-tests BENCH=--disable-benchmarks
41− addons: {apt: {packages: [ghc-ppa-tools,ghc-7.10.3,xz-utils], sources: [hvr-ghc]}}
41+ addons: {apt: {packages: [ghc-ppa-tools,ghc-8.2.2], sources: [hvr-ghc]}}
4242 - compiler: "ghc-8.0.2"
4343 # env: TEST=--disable-tests BENCH=--disable-benchmarks
44− addons: {apt: {packages: [ghc-ppa-tools,ghc-8.0.2,xz-utils], sources: [hvr-ghc]}}
45− - compiler: "ghc-8.2.2"
44+ addons: {apt: {packages: [ghc-ppa-tools,ghc-8.0.2], sources: [hvr-ghc]}}
45+ - compiler: "ghc-7.10.3"
46+ # env: TEST=--disable-tests BENCH=--disable-benchmarks
47+ addons: {apt: {packages: [ghc-ppa-tools,ghc-7.10.3], sources: [hvr-ghc]}}
48+ - compiler: "ghc-7.8.4"
4649 # env: TEST=--disable-tests BENCH=--disable-benchmarks
47− addons: {apt: {packages: [ghc-ppa-tools,ghc-8.2.2,xz-utils], sources: [hvr-ghc]}}
50+ addons: {apt: {packages: [ghc-ppa-tools,ghc-7.8.4], sources: [hvr-ghc]}}
4851
4952before_install:
5053 - HC=${CC}
@@ -75,15 +78,14 @@ install:
7578 - HADDOCK=${HADDOCK-true}
7679 - INSTALLED=${INSTALLED-true}
7780 - GHCHEAD=${GHCHEAD-false}
78− - CABALNEWBUILDOPTS=--max-backjumps=10000
7981 - travis_retry cabal update -v
8082 - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
8183 - rm -fv cabal.project cabal.project.local
8284 - "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
8385 - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
84− - "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"
86+ - "printf 'packages: \"servant\" \"servant-client\" \"servant-client-core\" \"servant-docs\" \"servant-foreign\" \"servant-server\" \"doc/tutorial\" \"doc/cookbook/basic-auth\" \"doc/cookbook/db-postgres-pool\" \"doc/cookbook/db-sqlite-simple\" \"doc/cookbook/file-upload\" \"doc/cookbook/https\" \"doc/cookbook/pagination\" \"doc/cookbook/structuring-apis\" \"doc/cookbook/using-custom-monad\"\\n' > cabal.project"
8587 - "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
86− - "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"
88+ - "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"
8789 - cat cabal.project
8890 - if [ -f "servant/configure.ac" ]; then
8991 (cd "servant" && autoreconf -i);
@@ -106,32 +108,32 @@ install:
106108 - if [ -f "doc/tutorial/configure.ac" ]; then
107109 (cd "doc/tutorial" && autoreconf -i);
108110 fi
111+ - if [ -f "doc/cookbook/basic-auth/configure.ac" ]; then
112+ (cd "doc/cookbook/basic-auth" && autoreconf -i);
113+ fi
109114 - if [ -f "doc/cookbook/db-postgres-pool/configure.ac" ]; then
110115 (cd "doc/cookbook/db-postgres-pool" && autoreconf -i);
111116 fi
112− - if [ -f "doc/cookbook/jwt-and-basic-auth/configure.ac" ]; then
113− (cd "doc/cookbook/jwt-and-basic-auth" && autoreconf -i);
114− fi
115117 - if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then
116118 (cd "doc/cookbook/db-sqlite-simple" && autoreconf -i);
117119 fi
118− - if [ -f "doc/cookbook/basic-auth/configure.ac" ]; then
119− (cd "doc/cookbook/basic-auth" && autoreconf -i);
120+ - if [ -f "doc/cookbook/file-upload/configure.ac" ]; then
121+ (cd "doc/cookbook/file-upload" && autoreconf -i);
120122 fi
121123 - if [ -f "doc/cookbook/https/configure.ac" ]; then
122124 (cd "doc/cookbook/https" && autoreconf -i);
123125 fi
126+ - if [ -f "doc/cookbook/pagination/configure.ac" ]; then
127+ (cd "doc/cookbook/pagination" && autoreconf -i);
128+ fi
124129 - if [ -f "doc/cookbook/structuring-apis/configure.ac" ]; then
125130 (cd "doc/cookbook/structuring-apis" && autoreconf -i);
126131 fi
127132 - if [ -f "doc/cookbook/using-custom-monad/configure.ac" ]; then
128133 (cd "doc/cookbook/using-custom-monad" && autoreconf -i);
129134 fi
130− - if [ -f "doc/cookbook/file-upload/configure.ac" ]; then
131− (cd "doc/cookbook/file-upload" && autoreconf -i);
132− fi
133135 - rm -f cabal.project.freeze
134− - 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/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
136+ - 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/basic-auth"/dist "doc/cookbook/db-postgres-pool"/dist "doc/cookbook/db-sqlite-simple"/dist "doc/cookbook/file-upload"/dist "doc/cookbook/https"/dist "doc/cookbook/pagination"/dist "doc/cookbook/structuring-apis"/dist "doc/cookbook/using-custom-monad"/dist
135137 - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
136138
137139# Here starts the actual work to be performed for the package under test;
@@ -146,38 +148,37 @@ script:
146148 - (cd "servant-foreign" && cabal sdist)
147149 - (cd "servant-server" && cabal sdist)
148150 - (cd "doc/tutorial" && cabal sdist)
151+ - (cd "doc/cookbook/basic-auth" && cabal sdist)
149152 - (cd "doc/cookbook/db-postgres-pool" && cabal sdist)
150− - (cd "doc/cookbook/jwt-and-basic-auth" && cabal sdist)
151153 - (cd "doc/cookbook/db-sqlite-simple" && cabal sdist)
152− - (cd "doc/cookbook/basic-auth" && cabal sdist)
154+ - (cd "doc/cookbook/file-upload" && cabal sdist)
153155 - (cd "doc/cookbook/https" && cabal sdist)
156+ - (cd "doc/cookbook/pagination" && cabal sdist)
154157 - (cd "doc/cookbook/structuring-apis" && cabal sdist)
155158 - (cd "doc/cookbook/using-custom-monad" && cabal sdist)
156− - (cd "doc/cookbook/file-upload" && cabal sdist)
157159 - echo -en 'travis_fold:end:sdist\\r'
158160 - echo Unpacking... && echo -en 'travis_fold:start:unpack\\r'
159− - 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}/
161+ - 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/basic-auth"/dist/cookbook-basic-auth-*.tar.gz "doc/cookbook/db-postgres-pool"/dist/cookbook-db-postgres-pool-*.tar.gz "doc/cookbook/db-sqlite-simple"/dist/cookbook-db-sqlite-simple-*.tar.gz "doc/cookbook/file-upload"/dist/cookbook-file-upload-*.tar.gz "doc/cookbook/https"/dist/cookbook-https-*.tar.gz "doc/cookbook/pagination"/dist/cookbook-pagination-*.tar.gz "doc/cookbook/structuring-apis"/dist/cookbook-structuring-apis-*.tar.gz "doc/cookbook/using-custom-monad"/dist/cookbook-using-custom-monad-*.tar.gz ${DISTDIR}/
160162 - cd ${DISTDIR} || false
161163 - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
162− - "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"
164+ - "printf 'packages: servant-*/*.cabal servant-client-*/*.cabal servant-client-core-*/*.cabal servant-docs-*/*.cabal servant-foreign-*/*.cabal servant-server-*/*.cabal tutorial-*/*.cabal cookbook-basic-auth-*/*.cabal cookbook-db-postgres-pool-*/*.cabal cookbook-db-sqlite-simple-*/*.cabal cookbook-file-upload-*/*.cabal cookbook-https-*/*.cabal cookbook-pagination-*/*.cabal cookbook-structuring-apis-*/*.cabal cookbook-using-custom-monad-*/*.cabal\\n' > cabal.project"
163165 - "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
164− - "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"
166+ - "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"
165167 - cat cabal.project
166168 - echo -en 'travis_fold:end:unpack\\r'
167169
168170
169171 - echo Building with tests and benchmarks... && echo -en 'travis_fold:start:build-everything\\r'
170172 # build & run tests, build benchmarks
171− - cabal new-build -w ${HC} ${TEST} ${BENCH} ${CABALNEWBUILDOPTS} all
173+ - cabal new-build -w ${HC} ${TEST} ${BENCH} all
172174 - echo -en 'travis_fold:end:build-everything\\r'
173− - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} ${BENCH} ${CABALNEWBUILDOPTS} all; fi
175+ - if [ "x$TEST" = "x--enable-tests" ]; then cabal new-test -w ${HC} ${TEST} ${BENCH} all; fi
174176
175−# - echo Haddock... && echo -en 'travis_fold:start:haddock\\r'
176−# # haddock
177−# - rm -rf ./dist-newstyle
178−# - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} ${CABALNEWBUILDOPTS} all; else echo "Skipping haddock generation";fi
179−#
180−# - echo -en 'travis_fold:end:haddock\\r'
177+ - echo Haddock... && echo -en 'travis_fold:start:haddock\\r'
178+ # haddock
179+ - rm -rf ./dist-newstyle
180+ - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
181181
182−# REGENDATA ["--config=cabal.make-travis-yml","--output=.travis.yml","--max-backjumps=10000","cabal.project"]
182+ - echo -en 'travis_fold:end:haddock\\r'
183+# REGENDATA ["--config=cabal.make-travis-yml","--output=.travis.yml","cabal.project"]
183184# EOF
cabal.project+15−7
@@ -5,19 +5,27 @@ packages: servant/
55 servant-foreign/
66 servant-server/
77 doc/tutorial/
8− doc/cookbook/*/*.cabal
8+
9+ -- doc/cookbook/*/*.cabal
10+
11+ doc/cookbook/basic-auth
12+ doc/cookbook/db-postgres-pool
13+ doc/cookbook/db-sqlite-simple
14+ doc/cookbook/file-upload
15+ doc/cookbook/https
16+ -- doc/cookbook/jwt-and-basic-auth
17+ doc/cookbook/pagination
18+ doc/cookbook/structuring-apis
19+ doc/cookbook/using-custom-monad
920
1021allow-newer:
11− servant-js:servant,
12− servant-js:servant-foreign,
1322 servant-auth-server:http-types,
14− servant-multipart:lens,
15− servant-multipart:resourcet,
16− servant-multipart:servant,
17− servant-multipart:servant-server,
1823 servant-auth-server:servant-server
1924
2025constraints:
2126 -- see https://github.com/haskell-infra/hackage-trustees/issues/119
2227 foundation >=0.0.14,
2328 memory <0.14.12 || >0.14.12
29+
30+allow-newer:
31+ http-media:base
doc/cookbook/basic-auth/basic-auth.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-basic-auth
1414 main-is: BasicAuth.lhs
doc/cookbook/db-postgres-pool/db-postgres-pool.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-db-postgres-pool
1414 main-is: PostgresPool.lhs
doc/cookbook/db-sqlite-simple/db-sqlite-simple.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-db-sqlite-simple
1414 main-is: DBConnection.lhs
doc/cookbook/file-upload/file-upload.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-file-upload
1414 main-is: FileUpload.lhs
doc/cookbook/https/https.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-https
1414 main-is: Https.lhs
doc/cookbook/jwt-and-basic-auth/jwt-and-basic-auth.cabal+1−1
@@ -11,7 +11,7 @@ maintainer: haskell-servant-maintainers@googlegroups.com
1111category: Servant
1212build-type: Simple
1313cabal-version: >=1.10
14−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
14+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1515
1616executable cookbook-jwt-and-basic-auth
1717 if !impl(ghc >= 7.10)
doc/cookbook/pagination/Dummy.hsnew file+3
@@ -0,0 +1,3 @@
1+module Main where
2+main :: IO ()
3+main = return ()
doc/cookbook/pagination/pagination.cabal+15−12
@@ -8,17 +8,20 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1112
1213executable cookbook-pagination
13− if impl(ghc < 7.10.1)
14− buildable: False
15− main-is: Pagination.lhs
16− build-depends: base == 4.*
17− , aeson
18− , servant
19− , servant-server
20− , servant-pagination >= 2.1.0 && < 3.0.0
21− , warp
22− default-language: Haskell2010
23− ghc-options: -Wall -pgmL markdown-unlit
24− build-tool-depends: markdown-unlit:markdown-unlit
14+ if impl(ghc >= 8.0)
15+ main-is: Pagination.lhs
16+ build-depends: base >= 4.8 && <4.12
17+ , aeson
18+ , servant
19+ , servant-server
20+ , servant-pagination >= 2.1.0 && < 3.0.0
21+ , warp
22+ default-language: Haskell2010
23+ ghc-options: -Wall -pgmL markdown-unlit
24+ build-tool-depends: markdown-unlit:markdown-unlit
25+ else
26+ main-is: Dummy.hs
27+ build-depends: base
doc/cookbook/structuring-apis/structuring-apis.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-structuring-apis
1414 main-is: StructuringApis.lhs
doc/cookbook/using-custom-monad/using-custom-monad.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
88maintainer: haskell-servant-maintainers@googlegroups.com
99build-type: Simple
1010cabal-version: >=1.10
11−tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2
11+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.2
1212
1313executable cookbook-using-custom-monad
1414 main-is: UsingCustomMonad.lhs
doc/tutorial/tutorial.cabal+2−1
@@ -17,6 +17,7 @@ tested-with:
1717 GHC==7.10.3
1818 GHC==8.0.2
1919 GHC==8.2.2
20+ GHC==8.4.2
2021extra-source-files:
2122 static/index.html
2223 static/ui.js
@@ -34,7 +35,7 @@ library
3435 -- Packages `servant` depends on.
3536 -- We don't need to specify bounds here as this package is never released.
3637 build-depends:
37− base >= 4.7 && <4.11
38+ base >= 4.7 && <4.12
3839 , aeson
3940 , aeson-compat
4041 , attoparsec
servant-client-core/servant-client-core.cabal+2−1
@@ -23,6 +23,7 @@ tested-with:
2323 GHC==7.10.3
2424 GHC==8.0.2
2525 GHC==8.2.2
26+ GHC==8.4.2
2627
2728source-repository head
2829 type: git
@@ -47,7 +48,7 @@ library
4748 --
4849 -- note: mtl lower bound is so low because of GHC-7.8
4950 build-depends:
50− base >= 4.7 && < 4.11
51+ base >= 4.7 && < 4.12
5152 , bytestring >= 0.10.4.0 && < 0.11
5253 , containers >= 0.5.5.1 && < 0.6
5354 , mtl >= 2.1 && < 2.3
servant-client-ghcjs/servant-client-ghcjs.cabal+1−1
@@ -31,7 +31,7 @@ library
3131 Servant.Client.Ghcjs
3232 Servant.Client.Internal.XhrClient
3333 build-depends:
34− base >= 4.7 && < 4.11
34+ base >= 4.7 && < 4.12
3535 , bytestring >= 0.10 && < 0.11
3636 , case-insensitive >= 1.2.0.0 && < 1.3.0.0
3737 , containers >= 0.5 && < 0.6
servant-client/servant-client.cabal+3−2
@@ -21,6 +21,7 @@ tested-with:
2121 GHC==7.10.3
2222 GHC==8.0.2
2323 GHC==8.2.2
24+ GHC==8.4.2
2425homepage: http://haskell-servant.readthedocs.org/
2526Bug-reports: http://github.com/haskell-servant/servant/issues
2627extra-source-files:
@@ -41,7 +42,7 @@ library
4142 --
4243 -- note: mtl lower bound is so low because of GHC-7.8
4344 build-depends:
44− base >= 4.7 && < 4.11
45+ base >= 4.7 && < 4.12
4546 , bytestring >= 0.10.4.0 && < 0.11
4647 , containers >= 0.5.5.1 && < 0.6
4748 , mtl >= 2.1 && < 2.3
@@ -121,7 +122,7 @@ test-suite spec
121122 , hspec >= 2.4.4 && < 2.6
122123 , HUnit >= 1.6 && < 1.7
123124 , random-bytestring >= 0.1 && < 0.2
124− , network >= 2.6.3.2 && < 2.7
125+ , network >= 2.6.3.2 && < 2.8
125126 , QuickCheck >= 2.10.1 && < 2.12
126127 , servant == 0.13.*
127128 , servant-server == 0.13.*
servant-client/test/Servant/StreamSpec.hs+15−7
@@ -29,7 +29,6 @@ module Servant.StreamSpec (spec) where
2929import Control.Monad (replicateM_, void)
3030import qualified Data.ByteString as BS
3131import Data.Proxy
32−import GHC.Stats (currentBytesUsed, getGCStats)
3332import qualified Network.HTTP.Client as C
3433import Prelude ()
3534import Prelude.Compat
@@ -47,6 +46,11 @@ import Servant.ClientSpec (Person (..))
4746import qualified Servant.ClientSpec as CS
4847import Servant.Server
4948
49+#if MIN_VERSION_base(4,10,0)
50+import GHC.Stats (gcdetails_mem_in_use_bytes, gc, getRTSStats)
51+#else
52+import GHC.Stats (currentBytesUsed, getGCStats)
53+#endif
5054
5155spec :: Spec
5256spec = describe "Servant.Stream" $ do
@@ -81,16 +85,16 @@ server = serve sapi
8185 :<|> return (StreamGenerator lotsGenerator)
8286 where
8387 lotsGenerator f r = do
84− f ""
85− withFile "/dev/urandom" ReadMode $
88+ void $ f ""
89+ void $ withFile "/dev/urandom" ReadMode $
8690 \handle -> streamFiveMBNTimes handle 1000 r
8791 return ()
8892
8993 streamFiveMBNTimes handle left sink
90− | left <= 0 = return ""
94+ | left <= (0 :: Int) = return ()
9195 | otherwise = do
9296 msg <- BS.hGet handle (megabytes 5)
93− sink msg
97+ _ <- sink msg
9498 streamFiveMBNTimes handle (left - 1) sink
9599
96100
@@ -129,8 +133,12 @@ streamSpec = beforeAll (CS.startWaiApp server) $ afterAll CS.endWaiApp $ do
129133 Right (ResultStream res) <- runClient getGetALot baseUrl
130134 let consumeNChunks n = replicateM_ n (res void)
131135 consumeNChunks 900
136+#if MIN_VERSION_base(4,10,0)
137+ memUsed <- gcdetails_mem_in_use_bytes . gc <$> getRTSStats
138+#else
132139 memUsed <- currentBytesUsed <$> getGCStats
133− memUsed `shouldSatisfy` (< (megabytes 20))
140+#endif
141+ memUsed `shouldSatisfy` (< megabytes 22)
134142
135143megabytes :: Num a => a -> a
136−megabytes n = n * (1000 ^ 2)
144+megabytes n = n * (1000 ^ (2 :: Int))
servant-docs/servant-docs.cabal+2−1
@@ -21,6 +21,7 @@ tested-with:
2121 GHC==7.10.3
2222 GHC==8.0.2
2323 GHC==8.2.2
24+ GHC==8.4.2
2425homepage: http://haskell-servant.readthedocs.org/
2526Bug-reports: http://github.com/haskell-servant/servant/issues
2627extra-source-files:
@@ -42,7 +43,7 @@ library
4243 --
4344 -- note: mtl lower bound is so low because of GHC-7.8
4445 build-depends:
45− base >= 4.7 && < 4.11
46+ base >= 4.7 && < 4.12
4647 , bytestring >= 0.10.4.0 && < 0.11
4748 , text >= 1.2.3.0 && < 1.3
4849
servant-foreign/CHANGELOG.md+5
@@ -1,6 +1,11 @@
11[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md)
22[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
33
4+0.11.1
5+------
6+
7+- Add missing `Semigroup` instances
8+
490.11
510----
611
servant-foreign/servant-foreign.cabal+6−1
@@ -27,6 +27,7 @@ tested-with:
2727 GHC==7.10.3
2828 GHC==8.0.2
2929 GHC==8.2.2
30+ GHC==8.4.2
3031
3132source-repository head
3233 type: git
@@ -42,9 +43,13 @@ library
4243 --
4344 -- note: mtl lower bound is so low because of GHC-7.8
4445 build-depends:
45− base >= 4.7 && <4.11
46+ base >= 4.7 && <4.12
4647 , text >= 1.2.3.0 && < 1.3
4748
49+ if !impl(ghc >= 8.0)
50+ build-depends:
51+ semigroups >=0.18.3 && <0.19
52+
4853 -- Servant dependencies
4954 build-depends:
5055 servant == 0.13.*
servant-foreign/src/Servant/Foreign/Internal.hs+3−2
@@ -27,6 +27,7 @@ import Control.Lens (makePrisms, makeLenses, Getter, (&), (<>~), (%~),
2727 (.~))
2828import Data.Data (Data)
2929import Data.Proxy
30+import Data.Semigroup (Semigroup)
3031import Data.String
3132import Data.Text
3233import Data.Typeable (Typeable)
@@ -38,12 +39,12 @@ import Servant.API.TypeLevel
3839import Servant.API.Modifiers (RequiredArgument)
3940
4041newtype FunctionName = FunctionName { unFunctionName :: [Text] }
41− deriving (Data, Show, Eq, Monoid, Typeable)
42+ deriving (Data, Show, Eq, Semigroup, Monoid, Typeable)
4243
4344makePrisms ''FunctionName
4445
4546newtype PathSegment = PathSegment { unPathSegment :: Text }
46− deriving (Data, Show, Eq, IsString, Monoid, Typeable)
47+ deriving (Data, Show, Eq, IsString, Semigroup, Monoid, Typeable)
4748
4849makePrisms ''PathSegment
4950
servant-server/servant-server.cabal+3−2
@@ -26,6 +26,7 @@ tested-with:
2626 GHC==7.10.3
2727 GHC==8.0.2
2828 GHC==8.2.2
29+ GHC==8.4.2
2930extra-source-files:
3031 include/*.h
3132 CHANGELOG.md
@@ -60,7 +61,7 @@ library
6061 --
6162 -- note: mtl lower bound is so low because of GHC-7.8
6263 build-depends:
63− base >= 4.7 && < 4.11
64+ base >= 4.7 && < 4.12
6465 , bytestring >= 0.10.4.0 && < 0.11
6566 , containers >= 0.5.5.1 && < 0.6
6667 , mtl >= 2.1 && < 2.3
@@ -89,7 +90,7 @@ library
8990 , http-types >= 0.12 && < 0.13
9091 , network-uri >= 2.6.1.0 && < 2.7
9192 , monad-control >= 1.0.0.4 && < 1.1
92− , network >= 2.6.3.2 && < 2.7
93+ , network >= 2.6.3.2 && < 2.8
9394 , safe >= 0.3.15 && < 0.4
9495 , split >= 0.2.3.2 && < 0.3
9596 , string-conversions >= 0.4.0.1 && < 0.5
servant/servant.cabal+2−1
@@ -22,6 +22,7 @@ tested-with:
2222 GHC==7.10.3
2323 GHC==8.0.2
2424 GHC==8.2.2
25+ GHC==8.4.2
2526extra-source-files:
2627 include/*.h
2728 CHANGELOG.md
@@ -69,7 +70,7 @@ library
6970 --
7071 -- note: mtl lower bound is so low because of GHC-7.8
7172 build-depends:
72− base >= 4.7 && < 4.11
73+ base >= 4.7 && < 4.12
7374 , bytestring >= 0.10.4.0 && < 0.11
7475 , mtl >= 2.1 && < 2.3
7576 , text >= 1.2.3.0 && < 1.3