on master help sign in
Support GHC-8.4.1 and newer deps
c56fda3Oleg Grenrus
.travis.yml+36−35
@@ -1,6 +1,6 @@
1# This Travis job script has been generated by a script via
1# This Travis job script has been generated by a script via
2#
2#
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'
4#
4#
5# For more information, see https://github.com/hvr/multi-ghc-travis
5# For more information, see https://github.com/hvr/multi-ghc-travis
6#
6#
@@ -33,18 +33,21 @@ before_cache:
33
33
34matrix:
34matrix:
35 include:
35 include:
36− - compiler: "ghc-7.8.4"
36+ - compiler: "ghc-8.4.2"
37 # env: TEST=--disable-tests BENCH=--disable-benchmarks
37 # env: TEST=--disable-tests BENCH=--disable-benchmarks
38− addons: {apt: {packages: [ghc-ppa-tools,ghc-7.8.4,xz-utils], sources: [hvr-ghc]}}
38+ addons: {apt: {packages: [ghc-ppa-tools,ghc-8.4.2], sources: [hvr-ghc]}}
39− - compiler: "ghc-7.10.3"
39+ - compiler: "ghc-8.2.2"
40 # env: TEST=--disable-tests BENCH=--disable-benchmarks
40 # 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]}}
42 - compiler: "ghc-8.0.2"
42 - compiler: "ghc-8.0.2"
43 # env: TEST=--disable-tests BENCH=--disable-benchmarks
43 # env: TEST=--disable-tests BENCH=--disable-benchmarks
44− addons: {apt: {packages: [ghc-ppa-tools,ghc-8.0.2,xz-utils], sources: [hvr-ghc]}}
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]}}
45− - compiler: "ghc-8.2.2"
48+ - compiler: "ghc-7.8.4"
46 # env: TEST=--disable-tests BENCH=--disable-benchmarks
49 # 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]}}
48
51
49before_install:
52before_install:
50 - HC=${CC}
53 - HC=${CC}
@@ -75,15 +78,14 @@ install:
75 - HADDOCK=${HADDOCK-true}
78 - HADDOCK=${HADDOCK-true}
76 - INSTALLED=${INSTALLED-true}
79 - INSTALLED=${INSTALLED-true}
77 - GHCHEAD=${GHCHEAD-false}
80 - GHCHEAD=${GHCHEAD-false}
78− - CABALNEWBUILDOPTS=--max-backjumps=10000
79 - travis_retry cabal update -v
81 - travis_retry cabal update -v
80 - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
82 - "sed -i.bak 's/^jobs:/-- jobs:/' ${HOME}/.cabal/config"
81 - rm -fv cabal.project cabal.project.local
83 - rm -fv cabal.project cabal.project.local
82 - "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
84 - "if [ $HCNUMVER -ge 70800 ]; then sed -i.bak 's/-- ghc-options:.*/ghc-options: -j2/' ${HOME}/.cabal/config; fi"
83 - grep -Ev -- '^\s*--' ${HOME}/.cabal/config | grep -Ev '^\s*$'
85 - 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"
85 - "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
87 - "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"
87 - cat cabal.project
89 - cat cabal.project
88 - if [ -f "servant/configure.ac" ]; then
90 - if [ -f "servant/configure.ac" ]; then
89 (cd "servant" && autoreconf -i);
91 (cd "servant" && autoreconf -i);
@@ -106,32 +108,32 @@ install:
106 - if [ -f "doc/tutorial/configure.ac" ]; then
108 - if [ -f "doc/tutorial/configure.ac" ]; then
107 (cd "doc/tutorial" && autoreconf -i);
109 (cd "doc/tutorial" && autoreconf -i);
108 fi
110 fi
111+ - if [ -f "doc/cookbook/basic-auth/configure.ac" ]; then
112+ (cd "doc/cookbook/basic-auth" && autoreconf -i);
113+ fi
109 - if [ -f "doc/cookbook/db-postgres-pool/configure.ac" ]; then
114 - if [ -f "doc/cookbook/db-postgres-pool/configure.ac" ]; then
110 (cd "doc/cookbook/db-postgres-pool" && autoreconf -i);
115 (cd "doc/cookbook/db-postgres-pool" && autoreconf -i);
111 fi
116 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
115 - if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then
117 - if [ -f "doc/cookbook/db-sqlite-simple/configure.ac" ]; then
116 (cd "doc/cookbook/db-sqlite-simple" && autoreconf -i);
118 (cd "doc/cookbook/db-sqlite-simple" && autoreconf -i);
117 fi
119 fi
118− - if [ -f "doc/cookbook/basic-auth/configure.ac" ]; then
120+ - if [ -f "doc/cookbook/file-upload/configure.ac" ]; then
119− (cd "doc/cookbook/basic-auth" && autoreconf -i);
121+ (cd "doc/cookbook/file-upload" && autoreconf -i);
120 fi
122 fi
121 - if [ -f "doc/cookbook/https/configure.ac" ]; then
123 - if [ -f "doc/cookbook/https/configure.ac" ]; then
122 (cd "doc/cookbook/https" && autoreconf -i);
124 (cd "doc/cookbook/https" && autoreconf -i);
123 fi
125 fi
126+ - if [ -f "doc/cookbook/pagination/configure.ac" ]; then
127+ (cd "doc/cookbook/pagination" && autoreconf -i);
128+ fi
124 - if [ -f "doc/cookbook/structuring-apis/configure.ac" ]; then
129 - if [ -f "doc/cookbook/structuring-apis/configure.ac" ]; then
125 (cd "doc/cookbook/structuring-apis" && autoreconf -i);
130 (cd "doc/cookbook/structuring-apis" && autoreconf -i);
126 fi
131 fi
127 - if [ -f "doc/cookbook/using-custom-monad/configure.ac" ]; then
132 - if [ -f "doc/cookbook/using-custom-monad/configure.ac" ]; then
128 (cd "doc/cookbook/using-custom-monad" && autoreconf -i);
133 (cd "doc/cookbook/using-custom-monad" && autoreconf -i);
129 fi
134 fi
130− - if [ -f "doc/cookbook/file-upload/configure.ac" ]; then
131− (cd "doc/cookbook/file-upload" && autoreconf -i);
132− fi
133 - rm -f cabal.project.freeze
135 - 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
135 - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
137 - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
136
138
137# Here starts the actual work to be performed for the package under test;
139# Here starts the actual work to be performed for the package under test;
@@ -146,38 +148,37 @@ script:
146 - (cd "servant-foreign" && cabal sdist)
148 - (cd "servant-foreign" && cabal sdist)
147 - (cd "servant-server" && cabal sdist)
149 - (cd "servant-server" && cabal sdist)
148 - (cd "doc/tutorial" && cabal sdist)
150 - (cd "doc/tutorial" && cabal sdist)
151+ - (cd "doc/cookbook/basic-auth" && cabal sdist)
149 - (cd "doc/cookbook/db-postgres-pool" && cabal sdist)
152 - (cd "doc/cookbook/db-postgres-pool" && cabal sdist)
150− - (cd "doc/cookbook/jwt-and-basic-auth" && cabal sdist)
151 - (cd "doc/cookbook/db-sqlite-simple" && cabal sdist)
153 - (cd "doc/cookbook/db-sqlite-simple" && cabal sdist)
152− - (cd "doc/cookbook/basic-auth" && cabal sdist)
154+ - (cd "doc/cookbook/file-upload" && cabal sdist)
153 - (cd "doc/cookbook/https" && cabal sdist)
155 - (cd "doc/cookbook/https" && cabal sdist)
156+ - (cd "doc/cookbook/pagination" && cabal sdist)
154 - (cd "doc/cookbook/structuring-apis" && cabal sdist)
157 - (cd "doc/cookbook/structuring-apis" && cabal sdist)
155 - (cd "doc/cookbook/using-custom-monad" && cabal sdist)
158 - (cd "doc/cookbook/using-custom-monad" && cabal sdist)
156− - (cd "doc/cookbook/file-upload" && cabal sdist)
157 - echo -en 'travis_fold:end:sdist\\r'
159 - echo -en 'travis_fold:end:sdist\\r'
158 - echo Unpacking... && echo -en 'travis_fold:start:unpack\\r'
160 - 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}/
160 - cd ${DISTDIR} || false
162 - cd ${DISTDIR} || false
161 - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
163 - 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"
163 - "echo 'constraints: foundation >=0.0.14,memory <0.14.12 || >0.14.12' >> cabal.project"
165 - "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"
165 - cat cabal.project
167 - cat cabal.project
166 - echo -en 'travis_fold:end:unpack\\r'
168 - echo -en 'travis_fold:end:unpack\\r'
167
169
168
170
169 - echo Building with tests and benchmarks... && echo -en 'travis_fold:start:build-everything\\r'
171 - echo Building with tests and benchmarks... && echo -en 'travis_fold:start:build-everything\\r'
170 # build & run tests, build benchmarks
172 # build & run tests, build benchmarks
171− - cabal new-build -w ${HC} ${TEST} ${BENCH} ${CABALNEWBUILDOPTS} all
173+ - cabal new-build -w ${HC} ${TEST} ${BENCH} all
172 - echo -en 'travis_fold:end:build-everything\\r'
174 - 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
174
176
175−# - echo Haddock... && echo -en 'travis_fold:start:haddock\\r'
177+ - echo Haddock... && echo -en 'travis_fold:start:haddock\\r'
176−# # haddock
178+ # haddock
177−# - rm -rf ./dist-newstyle
179+ - rm -rf ./dist-newstyle
178−# - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} ${CABALNEWBUILDOPTS} all; else echo "Skipping haddock generation";fi
180+ - if $HADDOCK; then cabal new-haddock -w ${HC} ${TEST} ${BENCH} all; else echo "Skipping haddock generation";fi
179−#
180−# - echo -en 'travis_fold:end:haddock\\r'
181
181
182+ - echo -en 'travis_fold:end:haddock\\r'
182−# REGENDATA ["--config=cabal.make-travis-yml","--output=.travis.yml","--max-backjumps=10000","cabal.project"]
183+# REGENDATA ["--config=cabal.make-travis-yml","--output=.travis.yml","cabal.project"]
183# EOF
184# EOF
cabal.project+15−7
@@ -5,19 +5,27 @@ packages: servant/
5 servant-foreign/
5 servant-foreign/
6 servant-server/
6 servant-server/
7 doc/tutorial/
7 doc/tutorial/
8+
8− doc/cookbook/*/*.cabal
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
9
20
10allow-newer:
21allow-newer:
11− servant-js:servant,
12− servant-js:servant-foreign,
13 servant-auth-server:http-types,
22 servant-auth-server:http-types,
14− servant-multipart:lens,
15− servant-multipart:resourcet,
16− servant-multipart:servant,
17− servant-multipart:servant-server,
18 servant-auth-server:servant-server
23 servant-auth-server:servant-server
19
24
20constraints:
25constraints:
21 -- see https://github.com/haskell-infra/hackage-trustees/issues/119
26 -- see https://github.com/haskell-infra/hackage-trustees/issues/119
22 foundation >=0.0.14,
27 foundation >=0.0.14,
23 memory <0.14.12 || >0.14.12
28 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
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-basic-auth
13executable cookbook-basic-auth
14 main-is: BasicAuth.lhs
14 main-is: BasicAuth.lhs
doc/cookbook/db-postgres-pool/db-postgres-pool.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-db-postgres-pool
13executable cookbook-db-postgres-pool
14 main-is: PostgresPool.lhs
14 main-is: PostgresPool.lhs
doc/cookbook/db-sqlite-simple/db-sqlite-simple.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-db-sqlite-simple
13executable cookbook-db-sqlite-simple
14 main-is: DBConnection.lhs
14 main-is: DBConnection.lhs
doc/cookbook/file-upload/file-upload.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-file-upload
13executable cookbook-file-upload
14 main-is: FileUpload.lhs
14 main-is: FileUpload.lhs
doc/cookbook/https/https.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-https
13executable cookbook-https
14 main-is: Https.lhs
14 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
11category: Servant
11category: Servant
12build-type: Simple
12build-type: Simple
13cabal-version: >=1.10
13cabal-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
15
15
16executable cookbook-jwt-and-basic-auth
16executable cookbook-jwt-and-basic-auth
17 if !impl(ghc >= 7.10)
17 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
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
11
12
12executable cookbook-pagination
13executable cookbook-pagination
13− if impl(ghc < 7.10.1)
14+ if impl(ghc >= 8.0)
14− buildable: False
15− main-is: Pagination.lhs
15+ main-is: Pagination.lhs
16− build-depends: base == 4.*
16+ build-depends: base >= 4.8 && <4.12
17− , aeson
17+ , aeson
18− , servant
18+ , servant
19− , servant-server
19+ , servant-server
20− , servant-pagination >= 2.1.0 && < 3.0.0
20+ , servant-pagination >= 2.1.0 && < 3.0.0
21− , warp
21+ , warp
22− default-language: Haskell2010
22+ default-language: Haskell2010
23− ghc-options: -Wall -pgmL markdown-unlit
23+ ghc-options: -Wall -pgmL markdown-unlit
24− build-tool-depends: markdown-unlit: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
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-structuring-apis
13executable cookbook-structuring-apis
14 main-is: StructuringApis.lhs
14 main-is: StructuringApis.lhs
doc/cookbook/using-custom-monad/using-custom-monad.cabal+1−1
@@ -8,7 +8,7 @@ author: Servant Contributors
8maintainer: haskell-servant-maintainers@googlegroups.com
8maintainer: haskell-servant-maintainers@googlegroups.com
9build-type: Simple
9build-type: Simple
10cabal-version: >=1.10
10cabal-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
12
12
13executable cookbook-using-custom-monad
13executable cookbook-using-custom-monad
14 main-is: UsingCustomMonad.lhs
14 main-is: UsingCustomMonad.lhs
doc/tutorial/tutorial.cabal+2−1
@@ -17,6 +17,7 @@ tested-with:
17 GHC==7.10.3
17 GHC==7.10.3
18 GHC==8.0.2
18 GHC==8.0.2
19 GHC==8.2.2
19 GHC==8.2.2
20+ GHC==8.4.2
20extra-source-files:
21extra-source-files:
21 static/index.html
22 static/index.html
22 static/ui.js
23 static/ui.js
@@ -34,7 +35,7 @@ library
34 -- Packages `servant` depends on.
35 -- Packages `servant` depends on.
35 -- We don't need to specify bounds here as this package is never released.
36 -- We don't need to specify bounds here as this package is never released.
36 build-depends:
37 build-depends:
37− base >= 4.7 && <4.11
38+ base >= 4.7 && <4.12
38 , aeson
39 , aeson
39 , aeson-compat
40 , aeson-compat
40 , attoparsec
41 , attoparsec
servant-client-core/servant-client-core.cabal+2−1
@@ -23,6 +23,7 @@ tested-with:
23 GHC==7.10.3
23 GHC==7.10.3
24 GHC==8.0.2
24 GHC==8.0.2
25 GHC==8.2.2
25 GHC==8.2.2
26+ GHC==8.4.2
26
27
27source-repository head
28source-repository head
28 type: git
29 type: git
@@ -47,7 +48,7 @@ library
47 --
48 --
48 -- note: mtl lower bound is so low because of GHC-7.8
49 -- note: mtl lower bound is so low because of GHC-7.8
49 build-depends:
50 build-depends:
50− base >= 4.7 && < 4.11
51+ base >= 4.7 && < 4.12
51 , bytestring >= 0.10.4.0 && < 0.11
52 , bytestring >= 0.10.4.0 && < 0.11
52 , containers >= 0.5.5.1 && < 0.6
53 , containers >= 0.5.5.1 && < 0.6
53 , mtl >= 2.1 && < 2.3
54 , mtl >= 2.1 && < 2.3
servant-client-ghcjs/servant-client-ghcjs.cabal+1−1
@@ -31,7 +31,7 @@ library
31 Servant.Client.Ghcjs
31 Servant.Client.Ghcjs
32 Servant.Client.Internal.XhrClient
32 Servant.Client.Internal.XhrClient
33 build-depends:
33 build-depends:
34− base >= 4.7 && < 4.11
34+ base >= 4.7 && < 4.12
35 , bytestring >= 0.10 && < 0.11
35 , bytestring >= 0.10 && < 0.11
36 , case-insensitive >= 1.2.0.0 && < 1.3.0.0
36 , case-insensitive >= 1.2.0.0 && < 1.3.0.0
37 , containers >= 0.5 && < 0.6
37 , containers >= 0.5 && < 0.6
servant-client/servant-client.cabal+3−2
@@ -21,6 +21,7 @@ tested-with:
21 GHC==7.10.3
21 GHC==7.10.3
22 GHC==8.0.2
22 GHC==8.0.2
23 GHC==8.2.2
23 GHC==8.2.2
24+ GHC==8.4.2
24homepage: http://haskell-servant.readthedocs.org/
25homepage: http://haskell-servant.readthedocs.org/
25Bug-reports: http://github.com/haskell-servant/servant/issues
26Bug-reports: http://github.com/haskell-servant/servant/issues
26extra-source-files:
27extra-source-files:
@@ -41,7 +42,7 @@ library
41 --
42 --
42 -- note: mtl lower bound is so low because of GHC-7.8
43 -- note: mtl lower bound is so low because of GHC-7.8
43 build-depends:
44 build-depends:
44− base >= 4.7 && < 4.11
45+ base >= 4.7 && < 4.12
45 , bytestring >= 0.10.4.0 && < 0.11
46 , bytestring >= 0.10.4.0 && < 0.11
46 , containers >= 0.5.5.1 && < 0.6
47 , containers >= 0.5.5.1 && < 0.6
47 , mtl >= 2.1 && < 2.3
48 , mtl >= 2.1 && < 2.3
@@ -121,7 +122,7 @@ test-suite spec
121 , hspec >= 2.4.4 && < 2.6
122 , hspec >= 2.4.4 && < 2.6
122 , HUnit >= 1.6 && < 1.7
123 , HUnit >= 1.6 && < 1.7
123 , random-bytestring >= 0.1 && < 0.2
124 , random-bytestring >= 0.1 && < 0.2
124− , network >= 2.6.3.2 && < 2.7
125+ , network >= 2.6.3.2 && < 2.8
125 , QuickCheck >= 2.10.1 && < 2.12
126 , QuickCheck >= 2.10.1 && < 2.12
126 , servant == 0.13.*
127 , servant == 0.13.*
127 , servant-server == 0.13.*
128 , servant-server == 0.13.*
servant-client/test/Servant/StreamSpec.hs+15−7
@@ -29,7 +29,6 @@ module Servant.StreamSpec (spec) where
29import Control.Monad (replicateM_, void)
29import Control.Monad (replicateM_, void)
30import qualified Data.ByteString as BS
30import qualified Data.ByteString as BS
31import Data.Proxy
31import Data.Proxy
32−import GHC.Stats (currentBytesUsed, getGCStats)
33import qualified Network.HTTP.Client as C
32import qualified Network.HTTP.Client as C
34import Prelude ()
33import Prelude ()
35import Prelude.Compat
34import Prelude.Compat
@@ -47,6 +46,11 @@ import Servant.ClientSpec (Person (..))
47import qualified Servant.ClientSpec as CS
46import qualified Servant.ClientSpec as CS
48import Servant.Server
47import Servant.Server
49
48
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
50
54
51spec :: Spec
55spec :: Spec
52spec = describe "Servant.Stream" $ do
56spec = describe "Servant.Stream" $ do
@@ -81,16 +85,16 @@ server = serve sapi
81 :<|> return (StreamGenerator lotsGenerator)
85 :<|> return (StreamGenerator lotsGenerator)
82 where
86 where
83 lotsGenerator f r = do
87 lotsGenerator f r = do
84− f ""
88+ void $ f ""
85− withFile "/dev/urandom" ReadMode $
89+ void $ withFile "/dev/urandom" ReadMode $
86 \handle -> streamFiveMBNTimes handle 1000 r
90 \handle -> streamFiveMBNTimes handle 1000 r
87 return ()
91 return ()
88
92
89 streamFiveMBNTimes handle left sink
93 streamFiveMBNTimes handle left sink
90− | left <= 0 = return ""
94+ | left <= (0 :: Int) = return ()
91 | otherwise = do
95 | otherwise = do
92 msg <- BS.hGet handle (megabytes 5)
96 msg <- BS.hGet handle (megabytes 5)
93− sink msg
97+ _ <- sink msg
94 streamFiveMBNTimes handle (left - 1) sink
98 streamFiveMBNTimes handle (left - 1) sink
95
99
96
100
@@ -129,8 +133,12 @@ streamSpec = beforeAll (CS.startWaiApp server) $ afterAll CS.endWaiApp $ do
129 Right (ResultStream res) <- runClient getGetALot baseUrl
133 Right (ResultStream res) <- runClient getGetALot baseUrl
130 let consumeNChunks n = replicateM_ n (res void)
134 let consumeNChunks n = replicateM_ n (res void)
131 consumeNChunks 900
135 consumeNChunks 900
136+#if MIN_VERSION_base(4,10,0)
137+ memUsed <- gcdetails_mem_in_use_bytes . gc <$> getRTSStats
138+#else
132 memUsed <- currentBytesUsed <$> getGCStats
139 memUsed <- currentBytesUsed <$> getGCStats
140+#endif
133− memUsed `shouldSatisfy` (< (megabytes 20))
141+ memUsed `shouldSatisfy` (< megabytes 22)
134
142
135megabytes :: Num a => a -> a
143megabytes :: 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:
21 GHC==7.10.3
21 GHC==7.10.3
22 GHC==8.0.2
22 GHC==8.0.2
23 GHC==8.2.2
23 GHC==8.2.2
24+ GHC==8.4.2
24homepage: http://haskell-servant.readthedocs.org/
25homepage: http://haskell-servant.readthedocs.org/
25Bug-reports: http://github.com/haskell-servant/servant/issues
26Bug-reports: http://github.com/haskell-servant/servant/issues
26extra-source-files:
27extra-source-files:
@@ -42,7 +43,7 @@ library
42 --
43 --
43 -- note: mtl lower bound is so low because of GHC-7.8
44 -- note: mtl lower bound is so low because of GHC-7.8
44 build-depends:
45 build-depends:
45− base >= 4.7 && < 4.11
46+ base >= 4.7 && < 4.12
46 , bytestring >= 0.10.4.0 && < 0.11
47 , bytestring >= 0.10.4.0 && < 0.11
47 , text >= 1.2.3.0 && < 1.3
48 , text >= 1.2.3.0 && < 1.3
48
49
servant-foreign/CHANGELOG.md+5
@@ -1,6 +1,11 @@
1[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md)
1[The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md)
2[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
2[Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md)
3
3
4+0.11.1
5+------
6+
7+- Add missing `Semigroup` instances
8+
40.11
90.11
5----
10----
6
11
servant-foreign/servant-foreign.cabal+6−1
@@ -27,6 +27,7 @@ tested-with:
27 GHC==7.10.3
27 GHC==7.10.3
28 GHC==8.0.2
28 GHC==8.0.2
29 GHC==8.2.2
29 GHC==8.2.2
30+ GHC==8.4.2
30
31
31source-repository head
32source-repository head
32 type: git
33 type: git
@@ -42,9 +43,13 @@ library
42 --
43 --
43 -- note: mtl lower bound is so low because of GHC-7.8
44 -- note: mtl lower bound is so low because of GHC-7.8
44 build-depends:
45 build-depends:
45− base >= 4.7 && <4.11
46+ base >= 4.7 && <4.12
46 , text >= 1.2.3.0 && < 1.3
47 , text >= 1.2.3.0 && < 1.3
47
48
49+ if !impl(ghc >= 8.0)
50+ build-depends:
51+ semigroups >=0.18.3 && <0.19
52+
48 -- Servant dependencies
53 -- Servant dependencies
49 build-depends:
54 build-depends:
50 servant == 0.13.*
55 servant == 0.13.*
servant-foreign/src/Servant/Foreign/Internal.hs+3−2
@@ -27,6 +27,7 @@ import Control.Lens (makePrisms, makeLenses, Getter, (&), (<>~), (%~),
27 (.~))
27 (.~))
28import Data.Data (Data)
28import Data.Data (Data)
29import Data.Proxy
29import Data.Proxy
30+import Data.Semigroup (Semigroup)
30import Data.String
31import Data.String
31import Data.Text
32import Data.Text
32import Data.Typeable (Typeable)
33import Data.Typeable (Typeable)
@@ -38,12 +39,12 @@ import Servant.API.TypeLevel
38import Servant.API.Modifiers (RequiredArgument)
39import Servant.API.Modifiers (RequiredArgument)
39
40
40newtype FunctionName = FunctionName { unFunctionName :: [Text] }
41newtype FunctionName = FunctionName { unFunctionName :: [Text] }
41− deriving (Data, Show, Eq, Monoid, Typeable)
42+ deriving (Data, Show, Eq, Semigroup, Monoid, Typeable)
42
43
43makePrisms ''FunctionName
44makePrisms ''FunctionName
44
45
45newtype PathSegment = PathSegment { unPathSegment :: Text }
46newtype PathSegment = PathSegment { unPathSegment :: Text }
46− deriving (Data, Show, Eq, IsString, Monoid, Typeable)
47+ deriving (Data, Show, Eq, IsString, Semigroup, Monoid, Typeable)
47
48
48makePrisms ''PathSegment
49makePrisms ''PathSegment
49
50
servant-server/servant-server.cabal+3−2
@@ -26,6 +26,7 @@ tested-with:
26 GHC==7.10.3
26 GHC==7.10.3
27 GHC==8.0.2
27 GHC==8.0.2
28 GHC==8.2.2
28 GHC==8.2.2
29+ GHC==8.4.2
29extra-source-files:
30extra-source-files:
30 include/*.h
31 include/*.h
31 CHANGELOG.md
32 CHANGELOG.md
@@ -60,7 +61,7 @@ library
60 --
61 --
61 -- note: mtl lower bound is so low because of GHC-7.8
62 -- note: mtl lower bound is so low because of GHC-7.8
62 build-depends:
63 build-depends:
63− base >= 4.7 && < 4.11
64+ base >= 4.7 && < 4.12
64 , bytestring >= 0.10.4.0 && < 0.11
65 , bytestring >= 0.10.4.0 && < 0.11
65 , containers >= 0.5.5.1 && < 0.6
66 , containers >= 0.5.5.1 && < 0.6
66 , mtl >= 2.1 && < 2.3
67 , mtl >= 2.1 && < 2.3
@@ -89,7 +90,7 @@ library
89 , http-types >= 0.12 && < 0.13
90 , http-types >= 0.12 && < 0.13
90 , network-uri >= 2.6.1.0 && < 2.7
91 , network-uri >= 2.6.1.0 && < 2.7
91 , monad-control >= 1.0.0.4 && < 1.1
92 , monad-control >= 1.0.0.4 && < 1.1
92− , network >= 2.6.3.2 && < 2.7
93+ , network >= 2.6.3.2 && < 2.8
93 , safe >= 0.3.15 && < 0.4
94 , safe >= 0.3.15 && < 0.4
94 , split >= 0.2.3.2 && < 0.3
95 , split >= 0.2.3.2 && < 0.3
95 , string-conversions >= 0.4.0.1 && < 0.5
96 , string-conversions >= 0.4.0.1 && < 0.5
servant/servant.cabal+2−1
@@ -22,6 +22,7 @@ tested-with:
22 GHC==7.10.3
22 GHC==7.10.3
23 GHC==8.0.2
23 GHC==8.0.2
24 GHC==8.2.2
24 GHC==8.2.2
25+ GHC==8.4.2
25extra-source-files:
26extra-source-files:
26 include/*.h
27 include/*.h
27 CHANGELOG.md
28 CHANGELOG.md
@@ -69,7 +70,7 @@ library
69 --
70 --
70 -- note: mtl lower bound is so low because of GHC-7.8
71 -- note: mtl lower bound is so low because of GHC-7.8
71 build-depends:
72 build-depends:
72− base >= 4.7 && < 4.11
73+ base >= 4.7 && < 4.12
73 , bytestring >= 0.10.4.0 && < 0.11
74 , bytestring >= 0.10.4.0 && < 0.11
74 , mtl >= 2.1 && < 2.3
75 , mtl >= 2.1 && < 2.3
75 , text >= 1.2.3.0 && < 1.3
76 , text >= 1.2.3.0 && < 1.3