diff --git a/ci/config.sh b/ci/config.sh index 76e65cb657c8c049e6044ba03185ff13155e73f2..c6541e7b17ce9617fd0854123700a2ac864fe2a8 100644 --- a/ci/config.sh +++ b/ci/config.sh @@ -103,7 +103,7 @@ extra_package scotty extra_package generic-lens extra_package microstache extra_package singletons-base 3.1 -extra_package servant 0.19 +extra_package servant extra_package hgmp extra_package Agda extra_package mmark diff --git a/patches/servant-0.19.patch b/patches/servant-0.19.patch deleted file mode 100644 index b30c08b4389211d1d8a1b7ecf9e8bf3c9a18e956..0000000000000000000000000000000000000000 --- a/patches/servant-0.19.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/servant.cabal b/servant.cabal -index 314b784..e4068ac 100644 ---- a/servant.cabal -+++ b/servant.cabal -@@ -1,6 +1,7 @@ - cabal-version: 2.2 - name: servant - version: 0.19 -+x-revision: 4 - - synopsis: A family of combinators for defining webservices APIs - category: Servant, Web -@@ -80,13 +81,13 @@ 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 - , sop-core >= 0.4.0.0 && < 0.6 - , transformers >= 0.5.2.0 && < 0.6 -- , text >= 1.2.3.0 && < 1.3 -+ , text >= 1.2.3.0 && < 2.1 - - - -- We depend (heavily) on the API of these packages: -@@ -98,7 +99,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 -@@ -106,7 +107,7 @@ library - , deepseq >= 1.4.2.0 && < 1.5 - , http-media >= 0.7.1.3 && < 0.9 - , http-types >= 0.12.2 && < 0.13 -- , mmorph >= 1.1.2 && < 1.2 -+ , mmorph >= 1.1.2 && < 1.3 - , network-uri >= 2.6.1.0 && < 2.7 - , QuickCheck >= 2.12.6.1 && < 2.15 - , string-conversions >= 0.4.0.1 && < 0.5 -@@ -166,9 +167,9 @@ test-suite spec - - -- Additional dependencies - build-depends: -- hspec >= 2.6.0 && < 2.9 -+ hspec >= 2.6.0 && < 2.10 - , QuickCheck >= 2.12.6.1 && < 2.15 - , quickcheck-instances >= 0.3.19 && < 0.4 - - build-tool-depends: -- hspec-discover:hspec-discover >= 2.6.0 && < 2.9 -+ hspec-discover:hspec-discover >= 2.6.0 && < 2.10 -diff --git a/src/Servant/Links.hs b/src/Servant/Links.hs -index ce07e22..67ba9c0 100644 ---- a/src/Servant/Links.hs -+++ b/src/Servant/Links.hs -@@ -129,6 +129,7 @@ module Servant.Links ( - , linkFragment - ) where - -+import Data.Kind (Type) - import Data.List - import Data.Constraint - import Data.Proxy -@@ -647,12 +648,12 @@ simpleToLink _ toA _ = toLink toA (Proxy :: Proxy sub) - -- >>> import Data.Text (Text) - - -- Erroring instance for 'HasLink' when a combinator is not fully applied --instance TypeError (PartialApplication HasLink arr) => HasLink ((arr :: a -> b) :> sub) -+instance TypeError (PartialApplication (HasLink :: Type -> Constraint) arr) => HasLink ((arr :: a -> b) :> sub) - where - type MkLink (arr :> sub) _ = TypeError (PartialApplication (HasLink :: * -> Constraint) arr) - toLink = error "unreachable" - - -- Erroring instances for 'HasLink' for unknown API combinators --instance {-# OVERLAPPABLE #-} TypeError (NoInstanceForSub HasLink ty) => HasLink (ty :> sub) -+instance {-# OVERLAPPABLE #-} TypeError (NoInstanceForSub (HasLink :: Type -> Constraint) ty) => HasLink (ty :> sub) - - instance {-# OVERLAPPABLE #-} TypeError (NoInstanceFor (HasLink api)) => HasLink api diff --git a/patches/servant-server-0.19.1.patch b/patches/servant-server-0.19.1.patch deleted file mode 100644 index 939344cbdb17a4c5d65636e99c3888b3cf6ed2b5..0000000000000000000000000000000000000000 --- a/patches/servant-server-0.19.1.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/servant-server.cabal b/servant-server.cabal -index c5e2f50..c93491f 100644 ---- a/servant-server.cabal -+++ b/servant-server.cabal -@@ -1,6 +1,7 @@ - cabal-version: 2.2 - name: servant-server - version: 0.19.1 -+x-revision: 2 - - synopsis: A family of combinators for defining webservices APIs and serving them - category: Servant, Web -@@ -72,7 +73,7 @@ library - -- Servant dependencies - -- strict dependency as we re-export 'servant' things. - build-depends: -- servant >= 0.19 -+ servant >= 0.19 && < 0.20 - , http-api-data >= 0.4.1 && < 0.4.4 - - -- Other dependencies: Lower bound around what is in the latest Stackage LTS. -@@ -159,7 +160,7 @@ test-suite spec - build-depends: - aeson >= 1.4.1.0 && < 3 - , directory >= 1.3.0.0 && < 1.4 -- , hspec >= 2.6.0 && < 2.9 -+ , hspec >= 2.6.0 && < 2.10 - , hspec-wai >= 0.10.1 && < 0.12 - , QuickCheck >= 2.12.6.1 && < 2.15 - , should-not-typecheck >= 2.1.0 && < 2.2 -@@ -167,4 +168,4 @@ test-suite spec - , wai-extra >= 3.0.24.3 && < 3.2 - - build-tool-depends: -- hspec-discover:hspec-discover >= 2.6.0 && <2.9 -+ hspec-discover:hspec-discover >= 2.6.0 && <2.10 -diff --git a/src/Servant/Server/Internal.hs b/src/Servant/Server/Internal.hs -index e2df2c4..025cd5f 100644 ---- a/src/Servant/Server/Internal.hs -+++ b/src/Servant/Server/Internal.hs -@@ -44,6 +44,7 @@ import qualified Data.ByteString.Lazy as BL - import Data.Constraint (Constraint, Dict(..)) - import Data.Either - (partitionEithers) -+import Data.Kind (Type) - import Data.Maybe - (fromMaybe, isNothing, mapMaybe, maybeToList) - import Data.String -@@ -819,7 +820,7 @@ instance (HasContextEntry context (NamedContext name subContext), HasServer subA - ------------------------------------------------------------------------------- - - -- Erroring instance for 'HasServer' when a combinator is not fully applied --instance TypeError (PartialApplication HasServer arr) => HasServer ((arr :: a -> b) :> sub) context -+instance TypeError (PartialApplication (HasServer :: Type -> [Type] -> Constraint) arr) => HasServer ((arr :: a -> b) :> sub) context - where - type ServerT (arr :> sub) _ = TypeError (PartialApplication (HasServer :: * -> [*] -> Constraint) arr) - route = error "unreachable" -@@ -863,7 +864,7 @@ type HasServerArrowTypeError a b = - -- XXX: This omits the @context@ parameter, e.g.: - -- - -- "There is no instance for HasServer (Bool :> …)". Do we care ? --instance {-# OVERLAPPABLE #-} TypeError (NoInstanceForSub HasServer ty) => HasServer (ty :> sub) context -+instance {-# OVERLAPPABLE #-} TypeError (NoInstanceForSub (HasServer :: Type -> [Type] -> Constraint) ty) => HasServer (ty :> sub) context - - instance {-# OVERLAPPABLE #-} TypeError (NoInstanceFor (HasServer api context)) => HasServer api context -