From fa35b5bd700ff0252b10aa84b2d649eb78bd7eb5 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Sun, 29 Sep 2019 23:55:08 +0300 Subject: [PATCH] Build jsaddle with GHC-8.8 Closes https://github.com/haskell-servant/servant/issues/1227 --- .travis.yml | 22 ++++++++++++++++++++-- cabal.project | 12 ++++++++++++ servant-jsaddle/servant-jsaddle.cabal | 8 ++++---- 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6ae8bd58..337014b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -143,7 +143,7 @@ install: if ! $GHCJS ; then echo "packages: servant-machines" >> cabal.project ; fi if ! $GHCJS ; then echo "packages: servant-conduit" >> cabal.project ; fi if ! $GHCJS ; then echo "packages: servant-pipes" >> cabal.project ; fi - if $GHCJS || ! $GHCJS && [ $HCNUMVER -lt 80800 ] ; then echo "packages: servant-jsaddle" >> cabal.project ; fi + echo "packages: servant-jsaddle" >> cabal.project if ! $GHCJS && [ $HCNUMVER -ge 80400 ] ; then echo "packages: doc/cookbook/basic-auth" >> cabal.project ; fi if ! $GHCJS && [ $HCNUMVER -ge 80400 ] ; then echo "packages: doc/cookbook/curl-mock" >> cabal.project ; fi if ! $GHCJS && [ $HCNUMVER -ge 80400 ] ; then echo "packages: doc/cookbook/basic-streaming" >> cabal.project ; fi @@ -159,6 +159,7 @@ install: echo "constraints: foundation >=0.0.14" >> cabal.project echo "constraints: memory <0.14.12 || >0.14.12" >> cabal.project echo "constraints: sqlite-simple < 0" >> cabal.project + echo "constraints: base-compat ^>=0.11" >> cabal.project echo "allow-newer: aeson-pretty-0.8.7:base-compat" >> cabal.project echo "allow-newer: vault-0.3.1.2:hashable" >> cabal.project echo "allow-newer: psqueues-0.2.7.1:hashable" >> cabal.project @@ -167,6 +168,14 @@ install: echo "allow-newer: io-streams-1.5.1.0:network" >> cabal.project echo "allow-newer: io-streams-1.5.1.0:primitive" >> cabal.project echo "allow-newer: openssl-streams-1.2.2.0:network" >> cabal.project + echo "allow-newer: jsaddle-0.9.6.0:lens" >> cabal.project + echo "allow-newer: jsaddle-0.9.6.0:primitive" >> cabal.project + echo "allow-newer: jsaddle-0.9.6.0:time" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:base" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:base-compat" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:Cabal" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:lens" >> cabal.project + echo "allow-newer: jsaddle-warp-0.9.6.0:time" >> cabal.project echo "optimization: False" >> cabal.project - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(cookbook-basic-auth|cookbook-basic-streaming|cookbook-curl-mock|cookbook-db-postgres-pool|cookbook-file-upload|cookbook-generic|cookbook-pagination|cookbook-structuring-apis|cookbook-testing|cookbook-using-custom-monad|cookbook-using-free-client|servant|servant-client|servant-client-core|servant-conduit|servant-docs|servant-foreign|servant-http-streams|servant-jsaddle|servant-machines|servant-pipes|servant-server|tutorial)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - cat cabal.project || true @@ -247,7 +256,7 @@ script: if ! $GHCJS ; then echo "packages: ${PKGDIR_servant_machines}" >> cabal.project ; fi if ! $GHCJS ; then echo "packages: ${PKGDIR_servant_conduit}" >> cabal.project ; fi if ! $GHCJS ; then echo "packages: ${PKGDIR_servant_pipes}" >> cabal.project ; fi - if $GHCJS || ! $GHCJS && [ $HCNUMVER -lt 80800 ] ; then echo "packages: ${PKGDIR_servant_jsaddle}" >> cabal.project ; fi + echo "packages: ${PKGDIR_servant_jsaddle}" >> cabal.project if ! $GHCJS && [ $HCNUMVER -ge 80400 ] ; then echo "packages: ${PKGDIR_cookbook_basic_auth}" >> cabal.project ; fi if ! $GHCJS && [ $HCNUMVER -ge 80400 ] ; then echo "packages: ${PKGDIR_cookbook_curl_mock}" >> cabal.project ; fi if ! $GHCJS && [ $HCNUMVER -ge 80400 ] ; then echo "packages: ${PKGDIR_cookbook_basic_streaming}" >> cabal.project ; fi @@ -263,6 +272,7 @@ script: echo "constraints: foundation >=0.0.14" >> cabal.project echo "constraints: memory <0.14.12 || >0.14.12" >> cabal.project echo "constraints: sqlite-simple < 0" >> cabal.project + echo "constraints: base-compat ^>=0.11" >> cabal.project echo "allow-newer: aeson-pretty-0.8.7:base-compat" >> cabal.project echo "allow-newer: vault-0.3.1.2:hashable" >> cabal.project echo "allow-newer: psqueues-0.2.7.1:hashable" >> cabal.project @@ -271,6 +281,14 @@ script: echo "allow-newer: io-streams-1.5.1.0:network" >> cabal.project echo "allow-newer: io-streams-1.5.1.0:primitive" >> cabal.project echo "allow-newer: openssl-streams-1.2.2.0:network" >> cabal.project + echo "allow-newer: jsaddle-0.9.6.0:lens" >> cabal.project + echo "allow-newer: jsaddle-0.9.6.0:primitive" >> cabal.project + echo "allow-newer: jsaddle-0.9.6.0:time" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:base" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:base-compat" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:Cabal" >> cabal.project + echo "allow-newer: jsaddle-dom-0.9.3.2:lens" >> cabal.project + echo "allow-newer: jsaddle-warp-0.9.6.0:time" >> cabal.project echo "optimization: False" >> cabal.project - "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(cookbook-basic-auth|cookbook-basic-streaming|cookbook-curl-mock|cookbook-db-postgres-pool|cookbook-file-upload|cookbook-generic|cookbook-pagination|cookbook-structuring-apis|cookbook-testing|cookbook-using-custom-monad|cookbook-using-free-client|servant|servant-client|servant-client-core|servant-conduit|servant-docs|servant-foreign|servant-http-streams|servant-jsaddle|servant-machines|servant-pipes|servant-server|tutorial)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done" - cat cabal.project || true diff --git a/cabal.project b/cabal.project index 9d6e3fdd..c4329c9d 100644 --- a/cabal.project +++ b/cabal.project @@ -62,3 +62,15 @@ allow-newer: openssl-streams-1.2.2.0:network -- MonadFail -- https://github.com/nurpax/sqlite-simple/issues/74 constraints: sqlite-simple < 0 + +-- jsaddle +allow-newer: jsaddle-0.9.6.0:lens +allow-newer: jsaddle-0.9.6.0:primitive +allow-newer: jsaddle-0.9.6.0:time +allow-newer: jsaddle-dom-0.9.3.2:base +allow-newer: jsaddle-dom-0.9.3.2:base-compat +allow-newer: jsaddle-dom-0.9.3.2:Cabal +allow-newer: jsaddle-dom-0.9.3.2:lens +allow-newer: jsaddle-warp-0.9.6.0:time + +constraints: base-compat ^>=0.11 diff --git a/servant-jsaddle/servant-jsaddle.cabal b/servant-jsaddle/servant-jsaddle.cabal index c9904056..e12cf9e5 100644 --- a/servant-jsaddle/servant-jsaddle.cabal +++ b/servant-jsaddle/servant-jsaddle.cabal @@ -22,7 +22,7 @@ category: Servant, Web build-type: Simple cabal-version: >=1.10 tested-with: - GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 + GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1 , GHCJS ==8.4 homepage: http://haskell-servant.readthedocs.org/ @@ -46,7 +46,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.13 + base >=4.9 && <4.14 , bytestring >=0.10.8.1 && <0.11 , containers >=0.5.7.1 && <0.7 , mtl >=2.2.2 && <2.3 @@ -60,10 +60,10 @@ library -- Strict dependency on `servant-client-core` as we re-export things. build-depends: servant-client-core >=0.16 && <0.16.1 build-depends: - base-compat >=0.10.5 && <0.11 + base-compat >=0.10.5 && <0.12 , case-insensitive >=1.2.0.0 && <1.3 , exceptions >=0.10.0 && <0.11 - , ghcjs-dom + , ghcjs-dom >=0.9.4.0 && <0.10 , http-media >=0.7.1.3 && <0.9 , http-types >=0.12.2 && <0.13 , jsaddle >=0.9.6.0 && <0.10