diff --git a/ci/MakeConstraints.hs b/ci/MakeConstraints.hs index 42d744ee471c3c4e898fd6363608d7562172c380..619bdefb1d9d42cb27216bae278c30f958899b51 100644 --- a/ci/MakeConstraints.hs +++ b/ci/MakeConstraints.hs @@ -26,6 +26,7 @@ bootPkgs = S.fromList , "bytestring" , "text" , "binary" + , "ghc-bignum" ] allowNewer :: S.Set Cabal.PackageName -> Doc diff --git a/ci/config.sh b/ci/config.sh index 449ca5a41a0aad8de16e65c013e3038633d51d49..eba4408d64de83060353e245416623f2de7995d0 100644 --- a/ci/config.sh +++ b/ci/config.sh @@ -80,7 +80,6 @@ case $version in 9.3.*) # package ticket - broken "JuicyPixels" 19851 ;; *) diff --git a/patches/hashable-1.3.1.0.patch b/patches/hashable-1.3.1.0.patch deleted file mode 100644 index 9cca881f09f879188222dd6d29deb671d703cf2f..0000000000000000000000000000000000000000 --- a/patches/hashable-1.3.1.0.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/Data/Hashable/Class.hs b/src/Data/Hashable/Class.hs -index 2e8c37d..fbf5c14 100644 ---- a/src/Data/Hashable/Class.hs -+++ b/src/Data/Hashable/Class.hs -@@ -901,11 +901,13 @@ instance Hashable a => Hashable (WrappedMonoid a) where - -- | @since 1.3.1.0 - instance Hashable1 WrappedMonoid where liftHashWithSalt h salt (WrapMonoid a) = h salt a - -+# if !(MIN_VERSION_base(4,16,0)) - instance Hashable a => Hashable (Option a) where - hashWithSalt p (Option a) = hashWithSalt p a - - -- | @since 1.3.1.0 - instance Hashable1 Option where liftHashWithSalt h salt (Option a) = liftHashWithSalt h salt a -+# endif - #endif - - -- instances for @Data.Functor.{Product,Sum,Compose}@, present diff --git a/patches/hspec-discover-2.7.10.patch b/patches/hspec-discover-2.7.10.patch deleted file mode 100644 index 48a9ac03c82c094eef14cdf1c5a5124d107c8fdf..0000000000000000000000000000000000000000 --- a/patches/hspec-discover-2.7.10.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/Test/Hspec/Discover/Run.hs b/src/Test/Hspec/Discover/Run.hs -index 6d353f9..9fdd8c9 100644 ---- a/src/Test/Hspec/Discover/Run.hs -+++ b/src/Test/Hspec/Discover/Run.hs -@@ -19,7 +19,7 @@ module Test.Hspec.Discover.Run ( - ) where - import Control.Monad - import Control.Applicative --import Data.List -+import Data.List (intercalate, intersperse, stripPrefix) - import Data.Char - import Data.Maybe - import Data.String -diff --git a/src/Test/Hspec/Discover/Sort.hs b/src/Test/Hspec/Discover/Sort.hs -index eb3123a..c4b09ad 100644 ---- a/src/Test/Hspec/Discover/Sort.hs -+++ b/src/Test/Hspec/Discover/Sort.hs -@@ -6,7 +6,7 @@ module Test.Hspec.Discover.Sort ( - - import Control.Arrow - import Data.Char --import Data.List -+import Data.List (sortBy) - import Data.Ord - - sortNaturally :: [String] -> [String] diff --git a/patches/proto3-wire-1.2.1.patch b/patches/proto3-wire-1.2.2.patch similarity index 100% rename from patches/proto3-wire-1.2.1.patch rename to patches/proto3-wire-1.2.2.patch diff --git a/patches/vinyl-0.13.2.patch b/patches/vinyl-0.13.2.patch deleted file mode 100644 index 6ed3c6cb7563d422b794a07753906aeaa656164b..0000000000000000000000000000000000000000 --- a/patches/vinyl-0.13.2.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Data/Vinyl/Syntax.hs b/Data/Vinyl/Syntax.hs -index 2319857..df4edb4 100644 ---- a/Data/Vinyl/Syntax.hs -+++ b/Data/Vinyl/Syntax.hs -@@ -2,6 +2,7 @@ - MultiParamTypeClasses, ScopedTypeVariables, - TypeApplications, TypeFamilies, TypeOperators, - UndecidableInstances #-} -+{-# LANGUAGE FlexibleContexts #-} - {-# OPTIONS_GHC -Wno-orphans #-} - -- | Concise vinyl record field lens syntax. This module exports an - -- orphan instance to make working with labels a bit more powerful. It diff --git a/patches/vinyl-0.13.1.patch b/patches/vinyl-0.13.3.patch similarity index 100% rename from patches/vinyl-0.13.1.patch rename to patches/vinyl-0.13.3.patch diff --git a/patches/yesod-core-1.6.19.0.patch b/patches/yesod-core-1.6.19.0.patch deleted file mode 100644 index 254cdd21d710f9364399d84b21d872df17ad4ced..0000000000000000000000000000000000000000 --- a/patches/yesod-core-1.6.19.0.patch +++ /dev/null @@ -1,161 +0,0 @@ -diff --git a/src/Yesod/Core/Internal/TH.hs b/src/Yesod/Core/Internal/TH.hs -index f3505b9..7fe9159 100644 ---- a/src/Yesod/Core/Internal/TH.hs -+++ b/src/Yesod/Core/Internal/TH.hs -@@ -30,7 +30,7 @@ import Yesod.Core.Internal.Run - -- is used for creating sites, /not/ subsites. See 'mkYesodSubData' and 'mkYesodSubDispatch' for the latter. - -- Use 'parseRoutes' to create the 'Resource's. - -- ---- Contexts and type variables in the name of the datatype are parsed. -+-- Contexts and type variables in the name of the datatype are parsed. - -- For example, a datatype @App a@ with typeclass constraint @MyClass a@ can be written as @\"(MyClass a) => App a\"@. - mkYesod :: String -- ^ name of the argument datatype - -> [ResourceTree String] -@@ -38,8 +38,8 @@ mkYesod :: String -- ^ name of the argument datatype - mkYesod name = fmap (uncurry (++)) . mkYesodWithParser name False return - - {-# DEPRECATED mkYesodWith "Contexts and type variables are now parsed from the name in `mkYesod`. <https://github.com/yesodweb/yesod/pull/1366>" #-} ---- | Similar to 'mkYesod', except contexts and type variables are not parsed. ---- Instead, they are explicitly provided. -+-- | Similar to 'mkYesod', except contexts and type variables are not parsed. -+-- Instead, they are explicitly provided. - -- You can write @(MyClass a) => App a@ with @mkYesodWith [[\"MyClass\",\"a\"]] \"App\" [\"a\"] ...@. - mkYesodWith :: [[String]] -- ^ list of contexts - -> String -- ^ name of the argument datatype -@@ -97,7 +97,7 @@ mkYesodWithParser name isSub f resS = do - _ <- char ')' - return r - -- parseContexts = -+ parseContexts = - sepBy1 (many1 parseWord) (spaces >> char ',' >> return ()) - - -- | See 'mkYesodData'. -@@ -107,9 +107,9 @@ mkYesodDispatch name = fmap snd . mkYesodWithParser name False return - -- | Get the Handler and Widget type synonyms for the given site. - masterTypeSyns :: [Name] -> Type -> [Dec] -- FIXME remove from here, put into the scaffolding itself? - masterTypeSyns vs site = -- [ TySynD (mkName "Handler") (fmap PlainTV vs) -+ [ TySynD (mkName "Handler") (fmap plainTV vs) - $ ConT ''HandlerFor `AppT` site -- , TySynD (mkName "Widget") (fmap PlainTV vs) -+ , TySynD (mkName "Widget") (fmap plainTV vs) - $ ConT ''WidgetFor `AppT` site `AppT` ConT ''() - ] - -@@ -121,7 +121,7 @@ mkYesodGeneral :: [[String]] -- ^ Appliction context. Used in Ren - -> [ResourceTree String] - -> Q([Dec],[Dec]) - mkYesodGeneral appCxt' namestr mtys isSub f resS = do -- let appCxt = fmap (\(c:rest) -> -+ let appCxt = fmap (\(c:rest) -> - foldl' (\acc v -> acc `AppT` nameToType v) (ConT $ mkName c) rest - ) appCxt' - mname <- lookupTypeName namestr -diff --git a/src/Yesod/Routes/TH/Dispatch.hs b/src/Yesod/Routes/TH/Dispatch.hs -index c061a1c..1d12c9d 100644 ---- a/src/Yesod/Routes/TH/Dispatch.hs -+++ b/src/Yesod/Routes/TH/Dispatch.hs -@@ -1,3 +1,4 @@ -+{-# LANGUAGE CPP #-} - {-# LANGUAGE RecordWildCards, TemplateHaskell, ViewPatterns #-} - module Yesod.Routes.TH.Dispatch - ( MkDispatchSettings (..) -@@ -73,7 +74,7 @@ mkDispatchClause MkDispatchSettings {..} resources = do - handlePiece (Static str) = return (LitP $ StringL str, Nothing) - handlePiece (Dynamic _) = do - x <- newName "dyn" -- let pat = ViewP (VarE 'fromPathPiece) (ConP 'Just [VarP x]) -+ let pat = ViewP (VarE 'fromPathPiece) (conPCompat 'Just [VarP x]) - return (pat, Just $ VarE x) - - handlePieces :: [Piece a] -> Q ([Pat], [Exp]) -@@ -86,7 +87,7 @@ mkDispatchClause MkDispatchSettings {..} resources = do - mkPathPat final = - foldr addPat final - where -- addPat x y = ConP '(:) [x, y] -+ addPat x y = conPCompat '(:) [x, y] - - go :: SDC -> ResourceTree a -> Q Clause - go sdc (ResourceParent name _check pieces children) = do -@@ -124,11 +125,11 @@ mkDispatchClause MkDispatchSettings {..} resources = do - Methods multi methods -> do - (finalPat, mfinalE) <- - case multi of -- Nothing -> return (ConP '[] [], Nothing) -+ Nothing -> return (conPCompat '[] [], Nothing) - Just _ -> do - multiName <- newName "multi" - let pat = ViewP (VarE 'fromPathMultiPiece) -- (ConP 'Just [VarP multiName]) -+ (conPCompat 'Just [VarP multiName]) - return (pat, Just $ VarE multiName) - - let dynsMulti = -@@ -200,3 +201,10 @@ mkDispatchClause MkDispatchSettings {..} resources = do - defaultGetHandler :: Maybe String -> String -> Q Exp - defaultGetHandler Nothing s = return $ VarE $ mkName $ "handle" ++ s - defaultGetHandler (Just method) s = return $ VarE $ mkName $ map toLower method ++ s -+ -+conPCompat :: Name -> [Pat] -> Pat -+conPCompat n pats = ConP n -+#if MIN_VERSION_template_haskell(2,18,0) -+ [] -+#endif -+ pats -diff --git a/src/Yesod/Routes/TH/RenderRoute.hs b/src/Yesod/Routes/TH/RenderRoute.hs -index 09654c8..6d9e4de 100644 ---- a/src/Yesod/Routes/TH/RenderRoute.hs -+++ b/src/Yesod/Routes/TH/RenderRoute.hs -@@ -67,7 +67,7 @@ mkRenderRouteClauses = - let cnt = length $ filter isDynamic pieces - dyns <- replicateM cnt $ newName "dyn" - child <- newName "child" -- let pat = ConP (mkName name) $ map VarP $ dyns ++ [child] -+ let pat = conPCompat (mkName name) $ map VarP $ dyns ++ [child] - - pack' <- [|pack|] - tsp <- [|toPathPiece|] -@@ -100,7 +100,7 @@ mkRenderRouteClauses = - case resourceDispatch res of - Subsite{} -> return <$> newName "sub" - _ -> return [] -- let pat = ConP (mkName $ resourceName res) $ map VarP $ dyns ++ sub -+ let pat = conPCompat (mkName $ resourceName res) $ map VarP $ dyns ++ sub - - pack' <- [|pack|] - tsp <- [|toPathPiece|] -@@ -182,3 +182,10 @@ notStrict = Bang NoSourceUnpackedness NoSourceStrictness - - instanceD :: Cxt -> Type -> [Dec] -> Dec - instanceD = InstanceD Nothing -+ -+conPCompat :: Name -> [Pat] -> Pat -+conPCompat n pats = ConP n -+#if MIN_VERSION_template_haskell(2,18,0) -+ [] -+#endif -+ pats -diff --git a/src/Yesod/Routes/TH/RouteAttrs.hs b/src/Yesod/Routes/TH/RouteAttrs.hs -index 0f1aeec..72b24b4 100644 ---- a/src/Yesod/Routes/TH/RouteAttrs.hs -+++ b/src/Yesod/Routes/TH/RouteAttrs.hs -@@ -1,3 +1,4 @@ -+{-# LANGUAGE CPP #-} - {-# LANGUAGE TemplateHaskell #-} - {-# LANGUAGE RecordWildCards #-} - module Yesod.Routes.TH.RouteAttrs -@@ -26,7 +27,11 @@ goTree front (ResourceParent name _check pieces trees) = - toIgnore = length $ filter isDynamic pieces - isDynamic Dynamic{} = True - isDynamic Static{} = False -- front' = front . ConP (mkName name) . ignored -+ front' = front . ConP (mkName name) -+#if MIN_VERSION_template_haskell(2,18,0) -+ [] -+#endif -+ . ignored - - goRes :: (Pat -> Pat) -> Resource a -> Q Clause - goRes front Resource {..} = diff --git a/scripts/patch-tool b/scripts/patch-tool index 39d90ce5b95827c9b43a59e73cab2c5242b83338..2f5d5af5ed8956ffd42f852761ea6f5930e9b0a5 100755 --- a/scripts/patch-tool +++ b/scripts/patch-tool @@ -118,7 +118,7 @@ build_all() { echo "Building $package..." echo "==============================================================================" cabal v2-build \ - --allow-newer=base,ghc,template-haskell,ghc-prim,containers,integer-gmp \ + --allow-newer=base,ghc,template-haskell,ghc-prim,containers,integer-gmp,ghc-bignum \ $package done }