summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--standalone/no-th/haskell-patches/hamlet_remove-TH.patch336
-rw-r--r--standalone/no-th/haskell-patches/lens_no-TH.patch94
-rw-r--r--standalone/no-th/haskell-patches/monad-logger_remove-TH.patch163
-rw-r--r--standalone/no-th/haskell-patches/reflection_remove-TH.patch134
-rw-r--r--standalone/no-th/haskell-patches/shakespeare_1.0.3_0001-export-symbol-used-by-TH-splices.patch26
-rw-r--r--standalone/no-th/haskell-patches/shakespeare_remove-th.patch (renamed from standalone/no-th/haskell-patches/shakespeare_1.0.3_0002-remove-TH.patch)138
-rw-r--r--standalone/no-th/haskell-patches/yesod-core_expand_TH.patch104
-rw-r--r--standalone/no-th/haskell-patches/yesod-static_hack.patch142
-rw-r--r--standalone/no-th/haskell-patches/yesod_hack-TH.patch27
9 files changed, 501 insertions, 663 deletions
diff --git a/standalone/no-th/haskell-patches/hamlet_remove-TH.patch b/standalone/no-th/haskell-patches/hamlet_remove-TH.patch
index c5c352fe4..04989b148 100644
--- a/standalone/no-th/haskell-patches/hamlet_remove-TH.patch
+++ b/standalone/no-th/haskell-patches/hamlet_remove-TH.patch
@@ -1,17 +1,18 @@
-From f500a9e447912e68c12f011fe97b62e6a6c5c3ce Mon Sep 17 00:00:00 2001
-From: Joey Hess <joey@kitenet.net>
-Date: Tue, 17 Dec 2013 16:16:32 +0000
+From 60d7ac8aa1b3282a06ea7b17680dfc32c61fcbf6 Mon Sep 17 00:00:00 2001
+From: dummy <dummy@example.com>
+Date: Thu, 6 Mar 2014 23:19:40 +0000
Subject: [PATCH] remove TH
---
- Text/Hamlet.hs | 310 ++++-----------------------------------------------------
- 1 file changed, 17 insertions(+), 293 deletions(-)
+ Text/Hamlet.hs | 86 +++++++++++++++++-----------------------------------
+ Text/Hamlet/Parse.hs | 3 +-
+ 2 files changed, 29 insertions(+), 60 deletions(-)
diff --git a/Text/Hamlet.hs b/Text/Hamlet.hs
-index 4f873f4..10d8ba6 100644
+index 9500ecb..ec8471a 100644
--- a/Text/Hamlet.hs
+++ b/Text/Hamlet.hs
-@@ -11,34 +11,34 @@
+@@ -11,36 +11,36 @@
module Text.Hamlet
( -- * Plain HTML
Html
@@ -27,10 +28,14 @@ index 4f873f4..10d8ba6 100644
, HtmlUrl
- , hamlet
- , hamletFile
+- , hamletFileReload
+- , ihamletFileReload
- , xhamlet
- , xhamletFile
+ --, hamlet
+ --, hamletFile
++ --, hamletFileReload
++ --, ihamletFileReload
+ --, xhamlet
+ --, xhamletFile
-- * I18N Hamlet
@@ -63,7 +68,7 @@ index 4f873f4..10d8ba6 100644
, CloseStyle (..)
-- * Used by generated code
, condH
-@@ -100,47 +100,9 @@ type HtmlUrl url = Render url -> Html
+@@ -110,47 +110,9 @@ type HtmlUrl url = Render url -> Html
-- | A function generating an 'Html' given a message translator and a URL rendering function.
type HtmlUrlI18n msg url = Translate msg -> Render url -> Html
@@ -111,255 +116,90 @@ index 4f873f4..10d8ba6 100644
mkConName :: DataConstr -> Name
mkConName = mkName . conToStr
-@@ -148,248 +110,10 @@ conToStr :: DataConstr -> String
+@@ -158,6 +120,7 @@ conToStr :: DataConstr -> String
conToStr (DCUnqualified (Ident x)) = x
conToStr (DCQualified (Module xs) (Ident x)) = intercalate "." $ xs ++ [x]
---- Wildcards bind all of the unbound fields to variables whose name
---- matches the field name.
----
---- For example: data R = C { f1, f2 :: Int }
---- C {..} is equivalent to C {f1=f1, f2=f2}
---- C {f1 = a, ..} is equivalent to C {f1=a, f2=f2}
---- C {f2 = a, ..} is equivalent to C {f1=f1, f2=a}
--bindWildFields :: DataConstr -> [Ident] -> Q ([(Name, Pat)], [(Ident, Exp)])
--bindWildFields conName fields = do
-- fieldNames <- recordToFieldNames conName
-- let available n = nameBase n `notElem` map unIdent fields
-- let remainingFields = filter available fieldNames
-- let mkPat n = do
-- e <- newName (nameBase n)
-- return ((n,VarP e), (Ident (nameBase n), VarE e))
-- fmap unzip $ mapM mkPat remainingFields
--
---- Important note! reify will fail if the record type is defined in the
---- same module as the reify is used. This means quasi-quoted Hamlet
---- literals will not be able to use wildcards to match record types
---- defined in the same module.
--recordToFieldNames :: DataConstr -> Q [Name]
--recordToFieldNames conStr = do
-- -- use 'lookupValueName' instead of just using 'mkName' so we reify the
-- -- data constructor and not the type constructor if their names match.
-- Just conName <- lookupValueName $ conToStr conStr
-- DataConI _ _ typeName _ <- reify conName
-- TyConI (DataD _ _ _ cons _) <- reify typeName
-- [fields] <- return [fields | RecC name fields <- cons, name == conName]
-- return [fieldName | (fieldName, _, _) <- fields]
--
--docToExp :: Env -> HamletRules -> Scope -> Doc -> Q Exp
--docToExp env hr scope (DocForall list idents inside) = do
-- let list' = derefToExp scope list
-- (pat, extraScope) <- bindingPattern idents
-- let scope' = extraScope ++ scope
-- mh <- [|F.mapM_|]
-- inside' <- docsToExp env hr scope' inside
-- let lam = LamE [pat] inside'
-- return $ mh `AppE` lam `AppE` list'
--docToExp env hr scope (DocWith [] inside) = do
-- inside' <- docsToExp env hr scope inside
-- return $ inside'
--docToExp env hr scope (DocWith ((deref, idents):dis) inside) = do
-- let deref' = derefToExp scope deref
-- (pat, extraScope) <- bindingPattern idents
-- let scope' = extraScope ++ scope
-- inside' <- docToExp env hr scope' (DocWith dis inside)
-- let lam = LamE [pat] inside'
-- return $ lam `AppE` deref'
--docToExp env hr scope (DocMaybe val idents inside mno) = do
-- let val' = derefToExp scope val
-- (pat, extraScope) <- bindingPattern idents
-- let scope' = extraScope ++ scope
-- inside' <- docsToExp env hr scope' inside
-- let inside'' = LamE [pat] inside'
-- ninside' <- case mno of
-- Nothing -> [|Nothing|]
-- Just no -> do
-- no' <- docsToExp env hr scope no
-- j <- [|Just|]
-- return $ j `AppE` no'
-- mh <- [|maybeH|]
-- return $ mh `AppE` val' `AppE` inside'' `AppE` ninside'
--docToExp env hr scope (DocCond conds final) = do
-- conds' <- mapM go conds
-- final' <- case final of
-- Nothing -> [|Nothing|]
-- Just f -> do
-- f' <- docsToExp env hr scope f
-- j <- [|Just|]
-- return $ j `AppE` f'
-- ch <- [|condH|]
-- return $ ch `AppE` ListE conds' `AppE` final'
-- where
-- go :: (Deref, [Doc]) -> Q Exp
-- go (d, docs) = do
-- let d' = derefToExp ((specialOrIdent, VarE 'or):scope) d
-- docs' <- docsToExp env hr scope docs
-- return $ TupE [d', docs']
--docToExp env hr scope (DocCase deref cases) = do
-- let exp_ = derefToExp scope deref
-- matches <- mapM toMatch cases
-- return $ CaseE exp_ matches
-- where
-- readMay s =
-- case reads s of
-- (x, ""):_ -> Just x
-- _ -> Nothing
-- toMatch :: (Binding, [Doc]) -> Q Match
-- toMatch (idents, inside) = do
-- (pat, extraScope) <- bindingPattern idents
-- let scope' = extraScope ++ scope
-- insideExp <- docsToExp env hr scope' inside
-- return $ Match pat (NormalB insideExp) []
--docToExp env hr v (DocContent c) = contentToExp env hr v c
--
--contentToExp :: Env -> HamletRules -> Scope -> Content -> Q Exp
--contentToExp _ hr _ (ContentRaw s) = do
-- os <- [|preEscapedText . pack|]
-- let s' = LitE $ StringL s
-- return $ hrFromHtml hr `AppE` (os `AppE` s')
--contentToExp _ hr scope (ContentVar d) = do
-- str <- [|toHtml|]
-- return $ hrFromHtml hr `AppE` (str `AppE` derefToExp scope d)
--contentToExp env hr scope (ContentUrl hasParams d) =
-- case urlRender env of
-- Nothing -> error "URL interpolation used, but no URL renderer provided"
-- Just wrender -> wrender $ \render -> do
-- let render' = return render
-- ou <- if hasParams
-- then [|\(u, p) -> $(render') u p|]
-- else [|\u -> $(render') u []|]
-- let d' = derefToExp scope d
-- pet <- [|toHtml|]
-- return $ hrFromHtml hr `AppE` (pet `AppE` (ou `AppE` d'))
--contentToExp env hr scope (ContentEmbed d) = hrEmbed hr env $ derefToExp scope d
--contentToExp env hr scope (ContentMsg d) =
-- case msgRender env of
-- Nothing -> error "Message interpolation used, but no message renderer provided"
-- Just wrender -> wrender $ \render ->
-- return $ hrFromHtml hr `AppE` (render `AppE` derefToExp scope d)
--contentToExp _ hr scope (ContentAttrs d) = do
-- html <- [|attrsToHtml . toAttributes|]
-- return $ hrFromHtml hr `AppE` (html `AppE` derefToExp scope d)
--
--shamlet :: QuasiQuoter
--shamlet = hamletWithSettings htmlRules defaultHamletSettings
--
--xshamlet :: QuasiQuoter
--xshamlet = hamletWithSettings htmlRules xhtmlHamletSettings
--
--htmlRules :: Q HamletRules
--htmlRules = do
-- i <- [|id|]
-- return $ HamletRules i ($ (Env Nothing Nothing)) (\_ b -> return b)
--
--hamlet :: QuasiQuoter
--hamlet = hamletWithSettings hamletRules defaultHamletSettings
--
--xhamlet :: QuasiQuoter
--xhamlet = hamletWithSettings hamletRules xhtmlHamletSettings
++{-
+ -- Wildcards bind all of the unbound fields to variables whose name
+ -- matches the field name.
+ --
+@@ -296,10 +259,12 @@ hamlet = hamletWithSettings hamletRules defaultHamletSettings
+
+ xhamlet :: QuasiQuoter
+ xhamlet = hamletWithSettings hamletRules xhtmlHamletSettings
++-}
asHtmlUrl :: HtmlUrl url -> HtmlUrl url
asHtmlUrl = id
--hamletRules :: Q HamletRules
--hamletRules = do
-- i <- [|id|]
-- let ur f = do
-- r <- newName "_render"
-- let env = Env
-- { urlRender = Just ($ (VarE r))
-- , msgRender = Nothing
-- }
-- h <- f env
-- return $ LamE [VarP r] h
-- return $ HamletRules i ur em
-- where
-- em (Env (Just urender) Nothing) e = do
-- asHtmlUrl' <- [|asHtmlUrl|]
-- urender $ \ur' -> return ((asHtmlUrl' `AppE` e) `AppE` ur')
-- em _ _ = error "bad Env"
--
--ihamlet :: QuasiQuoter
--ihamlet = hamletWithSettings ihamletRules defaultHamletSettings
--
--ihamletRules :: Q HamletRules
--ihamletRules = do
-- i <- [|id|]
-- let ur f = do
-- u <- newName "_urender"
-- m <- newName "_mrender"
-- let env = Env
-- { urlRender = Just ($ (VarE u))
-- , msgRender = Just ($ (VarE m))
-- }
-- h <- f env
-- return $ LamE [VarP m, VarP u] h
-- return $ HamletRules i ur em
-- where
-- em (Env (Just urender) (Just mrender)) e =
-- urender $ \ur' -> mrender $ \mr -> return (e `AppE` mr `AppE` ur')
-- em _ _ = error "bad Env"
--
--hamletWithSettings :: Q HamletRules -> HamletSettings -> QuasiQuoter
--hamletWithSettings hr set =
-- QuasiQuoter
-- { quoteExp = hamletFromString hr set
-- }
--
--data HamletRules = HamletRules
-- { hrFromHtml :: Exp
-- , hrWithEnv :: (Env -> Q Exp) -> Q Exp
-- , hrEmbed :: Env -> Exp -> Q Exp
-- }
--
--data Env = Env
-- { urlRender :: Maybe ((Exp -> Q Exp) -> Q Exp)
-- , msgRender :: Maybe ((Exp -> Q Exp) -> Q Exp)
-- }
--
--hamletFromString :: Q HamletRules -> HamletSettings -> String -> Q Exp
--hamletFromString qhr set s = do
-- hr <- qhr
-- case parseDoc set s of
-- Error s' -> error s'
-- Ok (_mnl, d) -> hrWithEnv hr $ \env -> docsToExp env hr [] d
--
--hamletFileWithSettings :: Q HamletRules -> HamletSettings -> FilePath -> Q Exp
--hamletFileWithSettings qhr set fp = do
--#ifdef GHC_7_4
-- qAddDependentFile fp
--#endif
-- contents <- fmap TL.unpack $ qRunIO $ readUtf8File fp
-- hamletFromString qhr set contents
--
--hamletFile :: FilePath -> Q Exp
--hamletFile = hamletFileWithSettings hamletRules defaultHamletSettings
--
--xhamletFile :: FilePath -> Q Exp
--xhamletFile = hamletFileWithSettings hamletRules xhtmlHamletSettings
--
--shamletFile :: FilePath -> Q Exp
--shamletFile = hamletFileWithSettings htmlRules defaultHamletSettings
--
--xshamletFile :: FilePath -> Q Exp
--xshamletFile = hamletFileWithSettings htmlRules xhtmlHamletSettings
--
--ihamletFile :: FilePath -> Q Exp
--ihamletFile = hamletFileWithSettings ihamletRules defaultHamletSettings
--
--varName :: Scope -> String -> Exp
--varName _ "" = error "Illegal empty varName"
--varName scope v@(_:_) = fromMaybe (strToExp v) $ lookup (Ident v) scope
--
--strToExp :: String -> Exp
--strToExp s@(c:_)
-- | all isDigit s = LitE $ IntegerL $ read s
-- | isUpper c = ConE $ mkName s
-- | otherwise = VarE $ mkName s
--strToExp "" = error "strToExp on empty string"
++{-
+ hamletRules :: Q HamletRules
+ hamletRules = do
+ i <- [|id|]
+@@ -360,6 +325,7 @@ hamletFromString :: Q HamletRules -> HamletSettings -> String -> Q Exp
+ hamletFromString qhr set s = do
+ hr <- qhr
+ hrWithEnv hr $ \env -> docsToExp env hr [] $ docFromString set s
++-}
+
+ docFromString :: HamletSettings -> String -> [Doc]
+ docFromString set s =
+@@ -367,6 +333,7 @@ docFromString set s =
+ Error s' -> error s'
+ Ok (_, d) -> d
+
++{-
+ hamletFileWithSettings :: Q HamletRules -> HamletSettings -> FilePath -> Q Exp
+ hamletFileWithSettings qhr set fp = do
+ #ifdef GHC_7_4
+@@ -408,6 +375,7 @@ strToExp s@(c:_)
+ | isUpper c = ConE $ mkName s
+ | otherwise = VarE $ mkName s
+ strToExp "" = error "strToExp on empty string"
++-}
-- | Checks for truth in the left value in each pair in the first argument. If
-- a true exists, then the corresponding right action is performed. Only the
+@@ -452,7 +420,7 @@ hamletUsedIdentifiers settings =
+ data HamletRuntimeRules = HamletRuntimeRules {
+ hrrI18n :: Bool
+ }
+-
++{-
+ hamletFileReloadWithSettings :: HamletRuntimeRules
+ -> HamletSettings -> FilePath -> Q Exp
+ hamletFileReloadWithSettings hrr settings fp = do
+@@ -479,7 +447,7 @@ hamletFileReloadWithSettings hrr settings fp = do
+ c VTUrlParam = [|EUrlParam|]
+ c VTMixin = [|\r -> EMixin $ \c -> r c|]
+ c VTMsg = [|EMsg|]
+-
++-}
+ -- move to Shakespeare.Base?
+ readFileUtf8 :: FilePath -> IO String
+ readFileUtf8 fp = fmap TL.unpack $ readUtf8File fp
+diff --git a/Text/Hamlet/Parse.hs b/Text/Hamlet/Parse.hs
+index b7e2954..1f14946 100644
+--- a/Text/Hamlet/Parse.hs
++++ b/Text/Hamlet/Parse.hs
+@@ -616,6 +616,7 @@ data NewlineStyle = NoNewlines -- ^ never add newlines
+ | DefaultNewlineStyle
+ deriving Show
+
++{-
+ instance Lift NewlineStyle where
+ lift NoNewlines = [|NoNewlines|]
+ lift NewlinesText = [|NewlinesText|]
+@@ -627,7 +628,7 @@ instance Lift (String -> CloseStyle) where
+
+ instance Lift HamletSettings where
+ lift (HamletSettings a b c d) = [|HamletSettings $(lift a) $(lift b) $(lift c) $(lift d)|]
+-
++-}
+
+ htmlEmptyTags :: Set String
+ htmlEmptyTags = Set.fromAscList
--
-1.8.5.1
+1.9.0
diff --git a/standalone/no-th/haskell-patches/lens_no-TH.patch b/standalone/no-th/haskell-patches/lens_no-TH.patch
index 81e370146..60600a375 100644
--- a/standalone/no-th/haskell-patches/lens_no-TH.patch
+++ b/standalone/no-th/haskell-patches/lens_no-TH.patch
@@ -1,20 +1,21 @@
-From b9b3cd52735f9ede1a83960968dc1f0e91e061d6 Mon Sep 17 00:00:00 2001
+From 66fdbc0cb69036b61552a3bce7e995ea2a7f76c1 Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
-Date: Fri, 7 Feb 2014 21:49:11 +0000
-Subject: [PATCH] avoid TH
+Date: Fri, 7 Mar 2014 05:43:33 +0000
+Subject: [PATCH] TH
---
- lens.cabal | 14 +-------------
- src/Control/Lens.hs | 6 ++----
- src/Control/Lens/Cons.hs | 2 --
- src/Control/Lens/Internal/Fold.hs | 2 --
- src/Control/Lens/Internal/Reflection.hs | 2 --
- src/Control/Lens/Prism.hs | 2 --
- src/Control/Monad/Primitive/Lens.hs | 1 -
- 7 files changed, 3 insertions(+), 26 deletions(-)
+ lens.cabal | 19 +------------------
+ src/Control/Lens.hs | 8 ++------
+ src/Control/Lens/Cons.hs | 2 --
+ src/Control/Lens/Internal/Fold.hs | 2 --
+ src/Control/Lens/Internal/Reflection.hs | 2 --
+ src/Control/Lens/Operators.hs | 2 +-
+ src/Control/Lens/Prism.hs | 2 --
+ src/Control/Monad/Primitive/Lens.hs | 1 -
+ 8 files changed, 4 insertions(+), 34 deletions(-)
diff --git a/lens.cabal b/lens.cabal
-index cee2da7..1e467c4 100644
+index 790a9d7..7cd3ff9 100644
--- a/lens.cabal
+++ b/lens.cabal
@@ -10,7 +10,7 @@ stability: provisional
@@ -26,7 +27,15 @@ index cee2da7..1e467c4 100644
-- build-tools: cpphs
tested-with: GHC == 7.6.3
synopsis: Lenses, Folds and Traversals
-@@ -216,7 +216,6 @@ library
+@@ -177,7 +177,6 @@ flag lib-Werror
+
+ library
+ build-depends:
+- aeson >= 0.7 && < 0.8,
+ array >= 0.3.0.2 && < 0.6,
+ base >= 4.3 && < 5,
+ bifunctors >= 4 && < 5,
+@@ -216,7 +215,6 @@ library
Control.Exception.Lens
Control.Lens
Control.Lens.Action
@@ -34,7 +43,12 @@ index cee2da7..1e467c4 100644
Control.Lens.Combinators
Control.Lens.Cons
Control.Lens.Each
-@@ -256,17 +255,14 @@ library
+@@ -251,22 +249,18 @@ library
+ Control.Lens.Level
+ Control.Lens.Loupe
+ Control.Lens.Operators
+- Control.Lens.Plated
+ Control.Lens.Prism
Control.Lens.Reified
Control.Lens.Review
Control.Lens.Setter
@@ -52,7 +66,7 @@ index cee2da7..1e467c4 100644
Data.Array.Lens
Data.Bits.Lens
Data.ByteString.Lens
-@@ -289,12 +285,8 @@ library
+@@ -289,17 +283,10 @@ library
Data.Typeable.Lens
Data.Vector.Lens
Data.Vector.Generic.Lens
@@ -64,8 +78,13 @@ index cee2da7..1e467c4 100644
- Language.Haskell.TH.Lens
Numeric.Lens
- other-modules:
-@@ -394,7 +386,6 @@ test-suite doctests
+- other-modules:
+- Control.Lens.Internal.TupleIxedTH
+-
+ if flag(safe)
+ cpp-options: -DSAFE=1
+
+@@ -396,7 +383,6 @@ test-suite doctests
deepseq,
doctest >= 0.9.1,
filepath,
@@ -73,7 +92,7 @@ index cee2da7..1e467c4 100644
mtl,
nats,
parallel,
-@@ -432,7 +423,6 @@ benchmark plated
+@@ -434,7 +420,6 @@ benchmark plated
comonad,
criterion,
deepseq,
@@ -81,7 +100,7 @@ index cee2da7..1e467c4 100644
lens,
transformers
-@@ -467,7 +457,6 @@ benchmark unsafe
+@@ -469,7 +454,6 @@ benchmark unsafe
comonads-fd,
criterion,
deepseq,
@@ -89,7 +108,7 @@ index cee2da7..1e467c4 100644
lens,
transformers
-@@ -484,6 +473,5 @@ benchmark zipper
+@@ -486,6 +470,5 @@ benchmark zipper
comonads-fd,
criterion,
deepseq,
@@ -97,7 +116,7 @@ index cee2da7..1e467c4 100644
lens,
transformers
diff --git a/src/Control/Lens.hs b/src/Control/Lens.hs
-index 7e15267..bb4d87b 100644
+index 7e15267..433f1fc 100644
--- a/src/Control/Lens.hs
+++ b/src/Control/Lens.hs
@@ -41,7 +41,6 @@
@@ -108,7 +127,12 @@ index 7e15267..bb4d87b 100644
, module Control.Lens.Cons
, module Control.Lens.Each
, module Control.Lens.Empty
-@@ -58,7 +57,7 @@ module Control.Lens
+@@ -53,12 +52,11 @@ module Control.Lens
+ , module Control.Lens.Lens
+ , module Control.Lens.Level
+ , module Control.Lens.Loupe
+- , module Control.Lens.Plated
+ , module Control.Lens.Prism
, module Control.Lens.Reified
, module Control.Lens.Review
, module Control.Lens.Setter
@@ -117,7 +141,7 @@ index 7e15267..bb4d87b 100644
, module Control.Lens.TH
#endif
, module Control.Lens.Traversal
-@@ -69,7 +68,6 @@ module Control.Lens
+@@ -69,7 +67,6 @@ module Control.Lens
) where
import Control.Lens.Action
@@ -125,7 +149,12 @@ index 7e15267..bb4d87b 100644
import Control.Lens.Cons
import Control.Lens.Each
import Control.Lens.Empty
-@@ -86,7 +84,7 @@ import Control.Lens.Prism
+@@ -81,12 +78,11 @@ import Control.Lens.Iso
+ import Control.Lens.Lens
+ import Control.Lens.Level
+ import Control.Lens.Loupe
+-import Control.Lens.Plated
+ import Control.Lens.Prism
import Control.Lens.Reified
import Control.Lens.Review
import Control.Lens.Setter
@@ -148,7 +177,7 @@ index a80e9c8..7d27b80 100644
-- >>> :set -XNoOverloadedStrings
-- >>> import Control.Lens
diff --git a/src/Control/Lens/Internal/Fold.hs b/src/Control/Lens/Internal/Fold.hs
-index 00e4b66..03c9cd2 100644
+index ab09c6b..43aa905 100644
--- a/src/Control/Lens/Internal/Fold.hs
+++ b/src/Control/Lens/Internal/Fold.hs
@@ -37,8 +37,6 @@ import Data.Maybe
@@ -173,6 +202,19 @@ index bf09f2c..c9e112f 100644
class Typeable s => B s where
reflectByte :: proxy s -> IntPtr
+diff --git a/src/Control/Lens/Operators.hs b/src/Control/Lens/Operators.hs
+index 3e14c55..989eb92 100644
+--- a/src/Control/Lens/Operators.hs
++++ b/src/Control/Lens/Operators.hs
+@@ -110,7 +110,7 @@ module Control.Lens.Operators
+ , (<#~)
+ , (<#=)
+ -- * "Control.Lens.Plated"
+- , (...)
++ --, (...)
+ -- * "Control.Lens.Review"
+ , ( # )
+ -- * "Control.Lens.Setter"
diff --git a/src/Control/Lens/Prism.hs b/src/Control/Lens/Prism.hs
index 9e0bec7..0cf6737 100644
--- a/src/Control/Lens/Prism.hs
@@ -199,5 +241,5 @@ index ee942c6..2f37134 100644
prim :: (PrimMonad m) => Iso' (m a) (State# (PrimState m) -> (# State# (PrimState m), a #))
prim = iso internal primitive
--
-1.7.10.4
+1.9.0
diff --git a/standalone/no-th/haskell-patches/monad-logger_remove-TH.patch b/standalone/no-th/haskell-patches/monad-logger_remove-TH.patch
index 78cf7be35..c24fa5aa2 100644
--- a/standalone/no-th/haskell-patches/monad-logger_remove-TH.patch
+++ b/standalone/no-th/haskell-patches/monad-logger_remove-TH.patch
@@ -1,150 +1,27 @@
-From 08aa9d495cb486c45998dfad95518c646b5fa8cc Mon Sep 17 00:00:00 2001
-From: Joey Hess <joey@kitenet.net>
-Date: Tue, 17 Dec 2013 16:24:31 +0000
-Subject: [PATCH] remove TH
+From 8e78a25ce0cc19e52d063f66bd4cd316462393d4 Mon Sep 17 00:00:00 2001
+From: dummy <dummy@example.com>
+Date: Thu, 6 Mar 2014 23:27:06 +0000
+Subject: [PATCH] disable th
---
- Control/Monad/Logger.hs | 109 ++++++++++--------------------------------------
- 1 file changed, 21 insertions(+), 88 deletions(-)
+ monad-logger.cabal | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/Control/Monad/Logger.hs b/Control/Monad/Logger.hs
-index be756d7..d4979f8 100644
---- a/Control/Monad/Logger.hs
-+++ b/Control/Monad/Logger.hs
-@@ -31,31 +31,31 @@ module Control.Monad.Logger
- , withChannelLogger
- , NoLoggingT (..)
- -- * TH logging
-- , logDebug
-- , logInfo
-- , logWarn
-- , logError
-- , logOther
-+ --, logDebug
-+ --, logInfo
-+ --, logWarn
-+ --, logError
-+ --, logOther
- -- * TH logging with source
-- , logDebugS
-- , logInfoS
-- , logWarnS
-- , logErrorS
-- , logOtherS
-+ --, logDebugS
-+ --, logInfoS
-+ --, logWarnS
-+ --, logErrorS
-+ --, logOtherS
- -- * TH util
-- , liftLoc
-+ -- , liftLoc
- -- * Non-TH logging
-- , logDebugN
-- , logInfoN
-- , logWarnN
-- , logErrorN
-- , logOtherN
-+ --, logDebugN
-+ --, logInfoN
-+ --, logWarnN
-+ --, logErrorN
-+ --, logOtherN
- -- * Non-TH logging with source
-- , logDebugNS
-- , logInfoNS
-- , logWarnNS
-- , logErrorNS
-- , logOtherNS
-+ --, logDebugNS
-+ --, logInfoNS
-+ --, logWarnNS
-+ --, logErrorNS
-+ --, logOtherNS
- ) where
+diff --git a/monad-logger.cabal b/monad-logger.cabal
+index b0aa271..cd56c0f 100644
+--- a/monad-logger.cabal
++++ b/monad-logger.cabal
+@@ -14,8 +14,8 @@ cabal-version: >=1.8
- import Language.Haskell.TH.Syntax (Lift (lift), Q, Exp, Loc (..), qLocation)
-@@ -115,13 +115,6 @@ import Control.Monad.Writer.Class ( MonadWriter (..) )
- data LogLevel = LevelDebug | LevelInfo | LevelWarn | LevelError | LevelOther Text
- deriving (Eq, Prelude.Show, Prelude.Read, Ord)
+ flag template_haskell {
+ Description: Enable Template Haskell support
+- Default: True
+- Manual: True
++ Default: False
++ Manual: False
+ }
--instance Lift LogLevel where
-- lift LevelDebug = [|LevelDebug|]
-- lift LevelInfo = [|LevelInfo|]
-- lift LevelWarn = [|LevelWarn|]
-- lift LevelError = [|LevelError|]
-- lift (LevelOther x) = [|LevelOther $ pack $(lift $ unpack x)|]
--
- type LogSource = Text
-
- class Monad m => MonadLogger m where
-@@ -152,66 +145,6 @@ instance (MonadLogger m, Monoid w) => MonadLogger (Strict.WriterT w m) where DEF
- instance (MonadLogger m, Monoid w) => MonadLogger (Strict.RWST r w s m) where DEF
- #undef DEF
-
--logTH :: LogLevel -> Q Exp
--logTH level =
-- [|monadLoggerLog $(qLocation >>= liftLoc) (pack "") $(lift level) . (id :: Text -> Text)|]
--
---- | Generates a function that takes a 'Text' and logs a 'LevelDebug' message. Usage:
----
---- > $(logDebug) "This is a debug log message"
--logDebug :: Q Exp
--logDebug = logTH LevelDebug
--
---- | See 'logDebug'
--logInfo :: Q Exp
--logInfo = logTH LevelInfo
---- | See 'logDebug'
--logWarn :: Q Exp
--logWarn = logTH LevelWarn
---- | See 'logDebug'
--logError :: Q Exp
--logError = logTH LevelError
--
---- | Generates a function that takes a 'Text' and logs a 'LevelOther' message. Usage:
----
---- > $(logOther "My new level") "This is a log message"
--logOther :: Text -> Q Exp
--logOther = logTH . LevelOther
--
---- | Lift a location into an Exp.
----
---- Since 0.3.1
--liftLoc :: Loc -> Q Exp
--liftLoc (Loc a b c (d1, d2) (e1, e2)) = [|Loc
-- $(lift a)
-- $(lift b)
-- $(lift c)
-- ($(lift d1), $(lift d2))
-- ($(lift e1), $(lift e2))
-- |]
--
---- | Generates a function that takes a 'LogSource' and 'Text' and logs a 'LevelDebug' message. Usage:
----
---- > $logDebugS "SomeSource" "This is a debug log message"
--logDebugS :: Q Exp
--logDebugS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelDebug (b :: Text)|]
--
---- | See 'logDebugS'
--logInfoS :: Q Exp
--logInfoS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelInfo (b :: Text)|]
---- | See 'logDebugS'
--logWarnS :: Q Exp
--logWarnS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelWarn (b :: Text)|]
---- | See 'logDebugS'
--logErrorS :: Q Exp
--logErrorS = [|\a b -> monadLoggerLog $(qLocation >>= liftLoc) a LevelError (b :: Text)|]
--
---- | Generates a function that takes a 'LogSource', a level name and a 'Text' and logs a 'LevelOther' message. Usage:
----
---- > $logOtherS "SomeSource" "My new level" "This is a log message"
--logOtherS :: Q Exp
--logOtherS = [|\src level msg -> monadLoggerLog $(qLocation >>= liftLoc) src (LevelOther level) (msg :: Text)|]
--
- -- | Monad transformer that disables logging.
- --
- -- Since 0.2.4
+ library
--
-1.8.5.1
+1.9.0
diff --git a/standalone/no-th/haskell-patches/reflection_remove-TH.patch b/standalone/no-th/haskell-patches/reflection_remove-TH.patch
index 7c63f05fc..4f8b4bc20 100644
--- a/standalone/no-th/haskell-patches/reflection_remove-TH.patch
+++ b/standalone/no-th/haskell-patches/reflection_remove-TH.patch
@@ -1,17 +1,17 @@
-From 22c68b43dce437b3c22956f5a968f1b886e60e0c Mon Sep 17 00:00:00 2001
-From: Joey Hess <joey@kitenet.net>
-Date: Tue, 17 Dec 2013 19:15:16 +0000
+From c0f5dcfd6ba7a05bb84b6adc4664c8dde109e6ac Mon Sep 17 00:00:00 2001
+From: dummy <dummy@example.com>
+Date: Fri, 7 Mar 2014 04:30:22 +0000
Subject: [PATCH] remove TH
---
- fast/Data/Reflection.hs | 80 +------------------------------------------------
- 1 file changed, 1 insertion(+), 79 deletions(-)
+ fast/Data/Reflection.hs | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/fast/Data/Reflection.hs b/fast/Data/Reflection.hs
-index 119d773..cf99efa 100644
+index ca57d35..d3f8356 100644
--- a/fast/Data/Reflection.hs
+++ b/fast/Data/Reflection.hs
-@@ -58,7 +58,7 @@ module Data.Reflection
+@@ -59,7 +59,7 @@ module Data.Reflection
, Given(..)
, give
-- * Template Haskell reflection
@@ -20,94 +20,40 @@ index 119d773..cf99efa 100644
-- * Useful compile time naturals
, Z, D, SD, PD
) where
-@@ -151,87 +151,9 @@ instance Reifies n Int => Reifies (PD n) Int where
- reflect = (\n -> n + n - 1) <$> retagPD reflect
- {-# INLINE reflect #-}
-
---- | This can be used to generate a template haskell splice for a type level version of a given 'int'.
----
---- This does not use GHC TypeLits, instead it generates a numeric type by hand similar to the ones used
---- in the \"Functional Pearl: Implicit Configurations\" paper by Oleg Kiselyov and Chung-Chieh Shan.
--int :: Int -> TypeQ
--int n = case quotRem n 2 of
-- (0, 0) -> conT ''Z
-- (q,-1) -> conT ''PD `appT` int q
-- (q, 0) -> conT ''D `appT` int q
-- (q, 1) -> conT ''SD `appT` int q
-- _ -> error "ghc is bad at math"
--
---- | This is a restricted version of 'int' that can only generate natural numbers. Attempting to generate
---- a negative number results in a compile time error. Also the resulting sequence will consist entirely of
---- Z, D, and SD constructors representing the number in zeroless binary.
--nat :: Int -> TypeQ
--nat n
-- | n >= 0 = int n
-- | otherwise = error "nat: negative"
--
--#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL < 704
--instance Show (Q a)
--instance Eq (Q a)
--#endif
--instance Num a => Num (Q a) where
-- (+) = liftM2 (+)
-- (*) = liftM2 (*)
-- (-) = liftM2 (-)
-- negate = fmap negate
-- abs = fmap abs
-- signum = fmap signum
-- fromInteger = return . fromInteger
+@@ -161,6 +161,7 @@ instance Reifies n Int => Reifies (PD n) Int where
+ -- instead of @$(int 3)@. Sometimes the two will produce the same
+ -- representation (if compiled without the @-DUSE_TYPE_LITS@ preprocessor
+ -- directive).
++{-
+ int :: Int -> TypeQ
+ int n = case quotRem n 2 of
+ (0, 0) -> conT ''Z
+@@ -176,7 +177,7 @@ nat :: Int -> TypeQ
+ nat n
+ | n >= 0 = int n
+ | otherwise = error "nat: negative"
-
--instance Fractional a => Fractional (Q a) where
-- (/) = liftM2 (/)
-- recip = fmap recip
-- fromRational = return . fromRational
--
---- | This permits the use of $(5) as a type splice.
--instance Num Type where
--#ifdef USE_TYPE_LITS
-- a + b = AppT (AppT (VarT ''(+)) a) b
-- a * b = AppT (AppT (VarT ''(*)) a) b
--#if MIN_VERSION_base(4,8,0)
-- a - b = AppT (AppT (VarT ''(-)) a) b
--#else
-- (-) = error "Type.(-): undefined"
--#endif
-- fromInteger = LitT . NumTyLit
--#else
-- (+) = error "Type.(+): undefined"
-- (*) = error "Type.(*): undefined"
-- (-) = error "Type.(-): undefined"
-- fromInteger n = case quotRem n 2 of
-- (0, 0) -> ConT ''Z
-- (q,-1) -> ConT ''PD `AppT` fromInteger q
-- (q, 0) -> ConT ''D `AppT` fromInteger q
-- (q, 1) -> ConT ''SD `AppT` fromInteger q
-- _ -> error "ghc is bad at math"
--#endif
-- abs = error "Type.abs"
-- signum = error "Type.signum"
--
- plus, times, minus :: Num a => a -> a -> a
- plus = (+)
- times = (*)
- minus = (-)
- fract :: Fractional a => a -> a -> a
- fract = (/)
--
---- | This permits the use of $(5) as an expression splice.
--instance Num Exp where
-- a + b = AppE (AppE (VarE 'plus) a) b
-- a * b = AppE (AppE (VarE 'times) a) b
-- a - b = AppE (AppE (VarE 'minus) a) b
-- negate = AppE (VarE 'negate)
-- signum = AppE (VarE 'signum)
-- abs = AppE (VarE 'abs)
-- fromInteger = LitE . IntegerL
++-}
+ #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL < 704
+ instance Show (Q a)
+ instance Eq (Q a)
+@@ -195,6 +196,7 @@ instance Fractional a => Fractional (Q a) where
+ recip = fmap recip
+ fromRational = return . fromRational
+
++{-
+ -- | This permits the use of $(5) as a type splice.
+ instance Num Type where
+ #ifdef USE_TYPE_LITS
+@@ -254,7 +256,7 @@ instance Num Exp where
+ abs = onProxyType1 abs
+ signum = onProxyType1 signum
+ fromInteger n = ConE 'Proxy `SigE` (ConT ''Proxy `AppT` fromInteger n)
-
--instance Fractional Exp where
-- a / b = AppE (AppE (VarE 'fract) a) b
-- recip = AppE (VarE 'recip)
-- fromRational = LitE . RationalL
++-}
+ #ifdef USE_TYPE_LITS
+ addProxy :: Proxy a -> Proxy b -> Proxy (a + b)
+ addProxy _ _ = Proxy
--
-1.8.5.1
+1.9.0
diff --git a/standalone/no-th/haskell-patches/shakespeare_1.0.3_0001-export-symbol-used-by-TH-splices.patch b/standalone/no-th/haskell-patches/shakespeare_1.0.3_0001-export-symbol-used-by-TH-splices.patch
deleted file mode 100644
index 51443b5d4..000000000
--- a/standalone/no-th/haskell-patches/shakespeare_1.0.3_0001-export-symbol-used-by-TH-splices.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4a75a2f0d77168aa3115b991284a5120484e18f0 Mon Sep 17 00:00:00 2001
-From: foo <foo@bar>
-Date: Sun, 22 Sep 2013 04:59:21 +0000
-Subject: [PATCH] TH exports
-
----
- Text/Shakespeare.hs | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/Text/Shakespeare.hs b/Text/Shakespeare.hs
-index 9eb06a2..1290ab1 100644
---- a/Text/Shakespeare.hs
-+++ b/Text/Shakespeare.hs
-@@ -23,6 +23,9 @@ module Text.Shakespeare
- , Deref
- , Parser
-
-+ -- used by TH
-+ , pack'
-+
- #ifdef TEST_EXPORT
- , preFilter
- #endif
---
-1.7.10.4
-
diff --git a/standalone/no-th/haskell-patches/shakespeare_1.0.3_0002-remove-TH.patch b/standalone/no-th/haskell-patches/shakespeare_remove-th.patch
index 38c2cb012..024ec2e20 100644
--- a/standalone/no-th/haskell-patches/shakespeare_1.0.3_0002-remove-TH.patch
+++ b/standalone/no-th/haskell-patches/shakespeare_remove-th.patch
@@ -1,39 +1,44 @@
-From b66f160fea86d8839572620892181eb4ada2ad29 Mon Sep 17 00:00:00 2001
+From 753f8ce37e096a343f1dd02a696a287bc91c24a0 Mon Sep 17 00:00:00 2001
From: Joey Hess <joey@kitenet.net>
-Date: Tue, 17 Dec 2013 06:17:26 +0000
-Subject: [PATCH 2/2] remove TH
+Date: Thu, 6 Mar 2014 22:34:03 +0000
+Subject: [PATCH] remove TH
---
- Text/Shakespeare.hs | 131 +++--------------------------------------------
- Text/Shakespeare/Base.hs | 28 ----------
- 2 files changed, 6 insertions(+), 153 deletions(-)
+ Text/Shakespeare.hs | 73 ++++++++++--------------------------------------
+ Text/Shakespeare/Base.hs | 28 -------------------
+ 2 files changed, 14 insertions(+), 87 deletions(-)
diff --git a/Text/Shakespeare.hs b/Text/Shakespeare.hs
-index f908ff4..55cd1d1 100644
+index 68e344f..aef741c 100644
--- a/Text/Shakespeare.hs
+++ b/Text/Shakespeare.hs
-@@ -12,14 +12,14 @@ module Text.Shakespeare
+@@ -14,17 +14,20 @@ module Text.Shakespeare
, WrapInsertion (..)
, PreConversion (..)
, defaultShakespeareSettings
- , shakespeare
- , shakespeareFile
- , shakespeareFileReload
-+ --, shakespeare
-+ --, shakespeareFile
++ -- , shakespeare
++ -- , shakespeareFile
+ -- , shakespeareFileReload
-- * low-level
- , shakespeareFromString
- , shakespeareUsedIdentifiers
+ -- , shakespeareFromString
-+ --, shakespeareUsedIdentifiers
++ -- , shakespeareUsedIdentifiers
, RenderUrl
-- , VarType
-+ --, VarType
+ , VarType (..)
, Deref
, Parser
-@@ -151,38 +151,6 @@ defaultShakespeareSettings = ShakespeareSettings {
++ -- used by TH
++ , pack'
++
+ #ifdef TEST_EXPORT
+ , preFilter
+ #endif
+@@ -154,38 +157,6 @@ defaultShakespeareSettings = ShakespeareSettings {
, modifyFinalValue = Nothing
}
@@ -72,85 +77,46 @@ index f908ff4..55cd1d1 100644
type QueryParameters = [(TS.Text, TS.Text)]
type RenderUrl url = (url -> QueryParameters -> TS.Text)
-@@ -346,77 +314,12 @@ pack' = TS.pack
+@@ -349,6 +320,7 @@ pack' = TS.pack
{-# NOINLINE pack' #-}
#endif
--contentsToShakespeare :: ShakespeareSettings -> [Content] -> Q Exp
--contentsToShakespeare rs a = do
-- r <- newName "_render"
-- c <- mapM (contentToBuilder r) a
-- compiledTemplate <- case c of
-- -- Make sure we convert this mempty using toBuilder to pin down the
-- -- type appropriately
-- [] -> fmap (AppE $ wrap rs) [|mempty|]
-- [x] -> return x
-- _ -> do
-- mc <- [|mconcat|]
-- return $ mc `AppE` ListE c
-- fmap (maybe id AppE $ modifyFinalValue rs) $
-- if justVarInterpolation rs
-- then return compiledTemplate
-- else return $ LamE [VarP r] compiledTemplate
-- where
-- contentToBuilder :: Name -> Content -> Q Exp
-- contentToBuilder _ (ContentRaw s') = do
-- ts <- [|fromText . pack'|]
-- return $ wrap rs `AppE` (ts `AppE` LitE (StringL s'))
-- contentToBuilder _ (ContentVar d) =
-- return $ (toBuilder rs `AppE` derefToExp [] d)
-- contentToBuilder r (ContentUrl d) = do
-- ts <- [|fromText|]
-- return $ wrap rs `AppE` (ts `AppE` (VarE r `AppE` derefToExp [] d `AppE` ListE []))
-- contentToBuilder r (ContentUrlParam d) = do
-- ts <- [|fromText|]
-- up <- [|\r' (u, p) -> r' u p|]
-- return $ wrap rs `AppE` (ts `AppE` (up `AppE` VarE r `AppE` derefToExp [] d))
-- contentToBuilder r (ContentMix d) =
-- return $ derefToExp [] d `AppE` VarE r
--
--shakespeare :: ShakespeareSettings -> QuasiQuoter
--shakespeare r = QuasiQuoter { quoteExp = shakespeareFromString r }
--
--shakespeareFromString :: ShakespeareSettings -> String -> Q Exp
--shakespeareFromString r str = do
-- s <- qRunIO $ preFilter Nothing r $
--#ifdef WINDOWS
-- filter (/='\r')
--#endif
-- str
-- contentsToShakespeare r $ contentFromString r s
--
--shakespeareFile :: ShakespeareSettings -> FilePath -> Q Exp
--shakespeareFile r fp = do
--#ifdef GHC_7_4
-- qAddDependentFile fp
--#endif
-- readFileQ fp >>= shakespeareFromString r
--
--data VarType = VTPlain | VTUrl | VTUrlParam | VTMixin
--
--getVars :: Content -> [(Deref, VarType)]
--getVars ContentRaw{} = []
--getVars (ContentVar d) = [(d, VTPlain)]
--getVars (ContentUrl d) = [(d, VTUrl)]
--getVars (ContentUrlParam d) = [(d, VTUrlParam)]
--getVars (ContentMix d) = [(d, VTMixin)]
++{-
+ contentsToShakespeare :: ShakespeareSettings -> [Content] -> Q Exp
+ contentsToShakespeare rs a = do
+ r <- newName "_render"
+@@ -400,16 +372,19 @@ shakespeareFile r fp =
+ qAddDependentFile fp >>
+ #endif
+ readFileQ fp >>= shakespeareFromString r
++-}
+
+ data VarType = VTPlain | VTUrl | VTUrlParam | VTMixin
+ deriving (Show, Eq, Ord, Enum, Bounded, Typeable, Data, Generic)
+
++{-
+ getVars :: Content -> [(Deref, VarType)]
+ getVars ContentRaw{} = []
+ getVars (ContentVar d) = [(d, VTPlain)]
+ getVars (ContentUrl d) = [(d, VTUrl)]
+ getVars (ContentUrlParam d) = [(d, VTUrlParam)]
+ getVars (ContentMix d) = [(d, VTMixin)]
++-}
data VarExp url = EPlain Builder
| EUrl url
- | EUrlParam (url, [(TS.Text, TS.Text)])
- | EMixin (Shakespeare url)
+@@ -418,8 +393,10 @@ data VarExp url = EPlain Builder
+
+ -- | Determine which identifiers are used by the given template, useful for
+ -- creating systems like yesod devel.
++{-
+ shakespeareUsedIdentifiers :: ShakespeareSettings -> String -> [(Deref, VarType)]
+ shakespeareUsedIdentifiers settings = concatMap getVars . contentFromString settings
++-}
---- | Determine which identifiers are used by the given template, useful for
---- creating systems like yesod devel.
--shakespeareUsedIdentifiers :: ShakespeareSettings -> String -> [(Deref, VarType)]
--shakespeareUsedIdentifiers settings = concatMap getVars . contentFromString settings
--
type MTime = UTCTime
- {-# NOINLINE reloadMapRef #-}
-@@ -432,28 +335,6 @@ insertReloadMap :: FilePath -> (MTime, [Content]) -> IO [Content]
+@@ -436,28 +413,6 @@ insertReloadMap :: FilePath -> (MTime, [Content]) -> IO [Content]
insertReloadMap fp (mt, content) = atomicModifyIORef reloadMapRef
(\reloadMap -> (M.insert fp (mt, content) reloadMap, content))
@@ -180,7 +146,7 @@ index f908ff4..55cd1d1 100644
diff --git a/Text/Shakespeare/Base.hs b/Text/Shakespeare/Base.hs
-index 9573533..49f1995 100644
+index a0e983c..23b4692 100644
--- a/Text/Shakespeare/Base.hs
+++ b/Text/Shakespeare/Base.hs
@@ -52,34 +52,6 @@ data Deref = DerefModulesIdent [String] Ident
@@ -219,5 +185,5 @@ index 9573533..49f1995 100644
derefParens = between (char '(') (char ')') parseDeref
derefCurlyBrackets = between (char '{') (char '}') parseDeref
--
-1.8.5.1
+1.9.0
diff --git a/standalone/no-th/haskell-patches/yesod-core_expand_TH.patch b/standalone/no-th/haskell-patches/yesod-core_expand_TH.patch
index adf0679ea..5609fb459 100644
--- a/standalone/no-th/haskell-patches/yesod-core_expand_TH.patch
+++ b/standalone/no-th/haskell-patches/yesod-core_expand_TH.patch
@@ -1,17 +1,19 @@
-From 5f30a68faaa379ac3fe9f0b016dd1a20969d548f Mon Sep 17 00:00:00 2001
+From be8d5895522da0397fd594d5553ed7d3641eb399 Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
-Date: Fri, 7 Feb 2014 23:04:06 +0000
+Date: Fri, 7 Mar 2014 01:40:29 +0000
Subject: [PATCH] remove and expand TH
+fix Loc from MonadLogger
---
- Yesod/Core.hs | 30 +++---
- Yesod/Core/Class/Yesod.hs | 248 ++++++++++++++++++++++++++++++--------------
- Yesod/Core/Dispatch.hs | 37 ++-----
- Yesod/Core/Handler.hs | 25 ++---
- Yesod/Core/Internal/Run.hs | 4 +-
- Yesod/Core/Internal/TH.hs | 111 --------------------
- Yesod/Core/Widget.hs | 32 +-----
- 7 files changed, 209 insertions(+), 278 deletions(-)
+ Yesod/Core.hs | 30 +++---
+ Yesod/Core/Class/Yesod.hs | 257 ++++++++++++++++++++++++++++++---------------
+ Yesod/Core/Dispatch.hs | 37 ++-----
+ Yesod/Core/Handler.hs | 25 ++---
+ Yesod/Core/Internal/Run.hs | 8 +-
+ Yesod/Core/Internal/TH.hs | 111 --------------------
+ Yesod/Core/Types.hs | 3 +-
+ Yesod/Core/Widget.hs | 32 +-----
+ 8 files changed, 215 insertions(+), 288 deletions(-)
diff --git a/Yesod/Core.hs b/Yesod/Core.hs
index 12e59d5..2817a69 100644
@@ -67,10 +69,10 @@ index 12e59d5..2817a69 100644
, renderCssUrl
) where
diff --git a/Yesod/Core/Class/Yesod.hs b/Yesod/Core/Class/Yesod.hs
-index 140600b..6c718e2 100644
+index 140600b..75daabc 100644
--- a/Yesod/Core/Class/Yesod.hs
+++ b/Yesod/Core/Class/Yesod.hs
-@@ -5,11 +5,15 @@
+@@ -5,18 +5,22 @@
{-# LANGUAGE CPP #-}
module Yesod.Core.Class.Yesod where
@@ -87,7 +89,23 @@ index 140600b..6c718e2 100644
import Blaze.ByteString.Builder (Builder)
import Blaze.ByteString.Builder.Char.Utf8 (fromText)
-@@ -94,18 +98,27 @@ class RenderRoute site => Yesod site where
+ import Control.Arrow ((***), second)
+ import Control.Monad (forM, when, void)
+ import Control.Monad.IO.Class (MonadIO (liftIO))
+-import Control.Monad.Logger (LogLevel (LevelInfo, LevelOther),
++import Control.Monad.Logger (Loc, LogLevel (LevelInfo, LevelOther),
+ LogSource)
+ import qualified Data.ByteString.Char8 as S8
+ import qualified Data.ByteString.Lazy as L
+@@ -33,7 +37,6 @@ import qualified Data.Text.Encoding.Error as TEE
+ import Data.Text.Lazy.Builder (toLazyText)
+ import Data.Text.Lazy.Encoding (encodeUtf8)
+ import Data.Word (Word64)
+-import Language.Haskell.TH.Syntax (Loc (..))
+ import Network.HTTP.Types (encodePath)
+ import qualified Network.Wai as W
+ import Data.Default (def)
+@@ -94,18 +97,27 @@ class RenderRoute site => Yesod site where
defaultLayout w = do
p <- widgetToPageContent w
mmsg <- getMessage
@@ -127,7 +145,7 @@ index 140600b..6c718e2 100644
-- | Override the rendering function for a particular URL. One use case for
-- this is to offload static hosting to a different domain name to avoid
-@@ -374,45 +387,103 @@ widgetToPageContent w = do
+@@ -374,45 +386,103 @@ widgetToPageContent w = do
-- modernizr should be at the end of the <head> http://www.modernizr.com/docs/#installing
-- the asynchronous loader means your page doesn't have to wait for all the js to load
let (mcomplete, asyncScripts) = asyncHelper render scripts jscript jsLoc
@@ -270,7 +288,7 @@ index 140600b..6c718e2 100644
return $ PageContent title headAll $
case jsLoader master of
-@@ -442,10 +513,13 @@ defaultErrorHandler NotFound = selectRep $ do
+@@ -442,10 +512,13 @@ defaultErrorHandler NotFound = selectRep $ do
r <- waiRequest
let path' = TE.decodeUtf8With TEE.lenientDecode $ W.rawPathInfo r
setTitle "Not Found"
@@ -288,7 +306,7 @@ index 140600b..6c718e2 100644
provideRep $ return $ object ["message" .= ("Not Found" :: Text)]
-- For API requests.
-@@ -455,10 +529,11 @@ defaultErrorHandler NotFound = selectRep $ do
+@@ -455,10 +528,11 @@ defaultErrorHandler NotFound = selectRep $ do
defaultErrorHandler NotAuthenticated = selectRep $ do
provideRep $ defaultLayout $ do
setTitle "Not logged in"
@@ -304,7 +322,7 @@ index 140600b..6c718e2 100644
provideRep $ do
-- 401 *MUST* include a WWW-Authenticate header
-@@ -480,10 +555,13 @@ defaultErrorHandler NotAuthenticated = selectRep $ do
+@@ -480,10 +554,13 @@ defaultErrorHandler NotAuthenticated = selectRep $ do
defaultErrorHandler (PermissionDenied msg) = selectRep $ do
provideRep $ defaultLayout $ do
setTitle "Permission Denied"
@@ -322,7 +340,7 @@ index 140600b..6c718e2 100644
provideRep $
return $ object $ [
"message" .= ("Permission Denied. " <> msg)
-@@ -492,30 +570,42 @@ defaultErrorHandler (PermissionDenied msg) = selectRep $ do
+@@ -492,30 +569,42 @@ defaultErrorHandler (PermissionDenied msg) = selectRep $ do
defaultErrorHandler (InvalidArgs ia) = selectRep $ do
provideRep $ defaultLayout $ do
setTitle "Invalid Arguments"
@@ -380,6 +398,16 @@ index 140600b..6c718e2 100644
provideRep $ return $ object ["message" .= ("Bad method" :: Text), "method" .= TE.decodeUtf8With TEE.lenientDecode m]
asyncHelper :: (url -> [x] -> Text)
+@@ -682,8 +771,4 @@ loadClientSession key getCachedDate sessionName req = load
+ -- turn the TH Loc loaction information into a human readable string
+ -- leaving out the loc_end parameter
+ fileLocationToString :: Loc -> String
+-fileLocationToString loc = (loc_package loc) ++ ':' : (loc_module loc) ++
+- ' ' : (loc_filename loc) ++ ':' : (line loc) ++ ':' : (char loc)
+- where
+- line = show . fst . loc_start
+- char = show . snd . loc_start
++fileLocationToString loc = "unknown"
diff --git a/Yesod/Core/Dispatch.hs b/Yesod/Core/Dispatch.hs
index e6f489d..3ff37c1 100644
--- a/Yesod/Core/Dispatch.hs
@@ -506,18 +534,29 @@ index 7c561c5..847d475 100644
-- | Wraps the 'Content' generated by 'hamletToContent' in a 'RepHtml'.
hamletToRepHtml :: MonadHandler m => HtmlUrl (Route (HandlerSite m)) -> m Html
diff --git a/Yesod/Core/Internal/Run.hs b/Yesod/Core/Internal/Run.hs
-index 10871a2..6ed631e 100644
+index 10871a2..e8d1907 100644
--- a/Yesod/Core/Internal/Run.hs
+++ b/Yesod/Core/Internal/Run.hs
-@@ -16,7 +16,7 @@ import Control.Exception.Lifted (catch)
+@@ -15,8 +15,8 @@ import qualified Control.Exception as E
+ import Control.Exception.Lifted (catch)
import Control.Monad.IO.Class (MonadIO)
import Control.Monad.IO.Class (liftIO)
- import Control.Monad.Logger (LogLevel (LevelError), LogSource,
+-import Control.Monad.Logger (LogLevel (LevelError), LogSource,
- liftLoc)
++import Control.Monad.Logger (Loc, LogLevel (LevelError), LogSource,
+ )
import Control.Monad.Trans.Resource (runResourceT, withInternalState, runInternalState, createInternalState, closeInternalState)
import qualified Data.ByteString as S
import qualified Data.ByteString.Char8 as S8
+@@ -30,7 +30,7 @@ import qualified Data.Text as T
+ import Data.Text.Encoding (encodeUtf8)
+ import Data.Text.Encoding (decodeUtf8With)
+ import Data.Text.Encoding.Error (lenientDecode)
+-import Language.Haskell.TH.Syntax (Loc, qLocation)
++import Language.Haskell.TH.Syntax (qLocation)
+ import qualified Network.HTTP.Types as H
+ import Network.Wai
+ #if MIN_VERSION_wai(2, 0, 0)
@@ -131,8 +131,6 @@ safeEh :: (Loc -> LogSource -> LogLevel -> LogStr -> IO ())
-> ErrorResponse
-> YesodApp
@@ -646,6 +685,27 @@ index 7e84c1c..a273c29 100644
- [innerFun]
- ]
- return $ LetE [fun] (VarE helper)
+diff --git a/Yesod/Core/Types.hs b/Yesod/Core/Types.hs
+index de09f78..9183a64 100644
+--- a/Yesod/Core/Types.hs
++++ b/Yesod/Core/Types.hs
+@@ -17,6 +17,7 @@ import Control.Exception (Exception)
+ import Control.Monad (liftM, ap)
+ import Control.Monad.Base (MonadBase (liftBase))
+ import Control.Monad.IO.Class (MonadIO (liftIO))
++import qualified Control.Monad.Logger
+ import Control.Monad.Logger (LogLevel, LogSource,
+ MonadLogger (..))
+ import Control.Monad.Trans.Control (MonadBaseControl (..))
+@@ -179,7 +180,7 @@ data RunHandlerEnv site = RunHandlerEnv
+ , rheRoute :: !(Maybe (Route site))
+ , rheSite :: !site
+ , rheUpload :: !(RequestBodyLength -> FileUpload)
+- , rheLog :: !(Loc -> LogSource -> LogLevel -> LogStr -> IO ())
++ , rheLog :: !(Control.Monad.Logger.Loc -> LogSource -> LogLevel -> LogStr -> IO ())
+ , rheOnError :: !(ErrorResponse -> YesodApp)
+ -- ^ How to respond when an error is thrown internally.
+ --
diff --git a/Yesod/Core/Widget.hs b/Yesod/Core/Widget.hs
index a972efa..156cd45 100644
--- a/Yesod/Core/Widget.hs
@@ -707,5 +767,5 @@ index a972efa..156cd45 100644
ihamletToRepHtml :: (MonadHandler m, RenderMessage (HandlerSite m) message)
=> HtmlUrlI18n message (Route (HandlerSite m))
--
-1.7.10.4
+1.9.0
diff --git a/standalone/no-th/haskell-patches/yesod-static_hack.patch b/standalone/no-th/haskell-patches/yesod-static_hack.patch
index 678b8439b..4cf977bae 100644
--- a/standalone/no-th/haskell-patches/yesod-static_hack.patch
+++ b/standalone/no-th/haskell-patches/yesod-static_hack.patch
@@ -1,17 +1,17 @@
-From 4ea1e94794b59ba4eb0dab7384c4195a224f468d Mon Sep 17 00:00:00 2001
-From: androidbuilder <androidbuilder@example.com>
-Date: Fri, 27 Dec 2013 00:28:51 -0400
+From 885cc873196f535de7cd1ac2ccfa217d10308d1f Mon Sep 17 00:00:00 2001
+From: dummy <dummy@example.com>
+Date: Fri, 7 Mar 2014 02:28:34 +0000
Subject: [PATCH] avoid building with jsmin
jsmin needs language-javascript, which fails to build for android due to
a problem or incompatability with happy.
This also avoids all the TH code.
-
---
- Yesod/EmbeddedStatic/Generators.hs | 3 +--
- yesod-static.cabal | 7 -------
- 2 files changed, 1 insertion(+), 9 deletions(-)
+ Yesod/EmbeddedStatic/Generators.hs | 3 +--
+ Yesod/Static.hs | 29 ++++++++++++++++++-----------
+ yesod-static.cabal | 7 -------
+ 3 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/Yesod/EmbeddedStatic/Generators.hs b/Yesod/EmbeddedStatic/Generators.hs
index e83785d..6b1c10e 100644
@@ -34,8 +34,132 @@ index e83785d..6b1c10e 100644
-- | Use <https://github.com/mishoo/UglifyJS2 UglifyJS2> to compress javascript.
-- Assumes @uglifyjs@ is located in the path and uses options @[\"-m\", \"-c\"]@
+diff --git a/Yesod/Static.hs b/Yesod/Static.hs
+index dd21791..37f7e00 100644
+--- a/Yesod/Static.hs
++++ b/Yesod/Static.hs
+@@ -37,8 +37,8 @@ module Yesod.Static
+ , staticDevel
+ -- * Combining CSS/JS
+ -- $combining
+- , combineStylesheets'
+- , combineScripts'
++ --, combineStylesheets'
++ --, combineScripts'
+ -- ** Settings
+ , CombineSettings
+ , csStaticDir
+@@ -48,13 +48,13 @@ module Yesod.Static
+ , csJsPreProcess
+ , csCombinedFolder
+ -- * Template Haskell helpers
+- , staticFiles
+- , staticFilesList
+- , publicFiles
++ --, staticFiles
++ --, staticFilesList
++ --, publicFiles
+ -- * Hashing
+ , base64md5
+ -- * Embed
+- , embed
++ --, embed
+ #ifdef TEST_EXPORT
+ , getFileListPieces
+ #endif
+@@ -64,7 +64,7 @@ import Prelude hiding (FilePath)
+ import qualified Prelude
+ import System.Directory
+ import Control.Monad
+-import Data.FileEmbed (embedDir)
++import Data.FileEmbed
+
+ import Yesod.Core
+ import Yesod.Core.Types
+@@ -135,6 +135,7 @@ staticDevel dir = do
+ hashLookup <- cachedETagLookupDevel dir
+ return $ Static $ webAppSettingsWithLookup (F.decodeString dir) hashLookup
+
++{-
+ -- | Produce a 'Static' based on embedding all of the static files' contents in the
+ -- executable at compile time.
+ --
+@@ -149,6 +150,7 @@ staticDevel dir = do
+ -- This will cause yesod to embed those assets into the generated HTML file itself.
+ embed :: Prelude.FilePath -> Q Exp
+ embed fp = [|Static (embeddedSettings $(embedDir fp))|]
++-}
+
+ instance RenderRoute Static where
+ -- | A route on the static subsite (see also 'staticFiles').
+@@ -214,6 +216,7 @@ getFileListPieces = flip evalStateT M.empty . flip go id
+ put $ M.insert s s m
+ return s
+
++{-
+ -- | Template Haskell function that automatically creates routes
+ -- for all of your static files.
+ --
+@@ -266,7 +269,7 @@ staticFilesList dir fs =
+ -- see if their copy is up-to-date.
+ publicFiles :: Prelude.FilePath -> Q [Dec]
+ publicFiles dir = mkStaticFiles' dir "StaticRoute" False
+-
++-}
+
+ mkHashMap :: Prelude.FilePath -> IO (M.Map F.FilePath S8.ByteString)
+ mkHashMap dir = do
+@@ -309,6 +312,7 @@ cachedETagLookup dir = do
+ etags <- mkHashMap dir
+ return $ (\f -> return $ M.lookup f etags)
+
++{-
+ mkStaticFiles :: Prelude.FilePath -> Q [Dec]
+ mkStaticFiles fp = mkStaticFiles' fp "StaticRoute" True
+
+@@ -356,6 +360,7 @@ mkStaticFilesList fp fs routeConName makeHash = do
+ [ Clause [] (NormalB $ (ConE route) `AppE` f' `AppE` qs) []
+ ]
+ ]
++-}
+
+ base64md5File :: Prelude.FilePath -> IO String
+ base64md5File = fmap (base64 . encode) . hashFile
+@@ -394,7 +399,7 @@ base64 = map tr
+ -- single static file at compile time.
+
+ data CombineType = JS | CSS
+-
++{-
+ combineStatics' :: CombineType
+ -> CombineSettings
+ -> [Route Static] -- ^ files to combine
+@@ -428,7 +433,7 @@ combineStatics' combineType CombineSettings {..} routes = do
+ case combineType of
+ JS -> "js"
+ CSS -> "css"
+-
++-}
+ -- | Data type for holding all settings for combining files.
+ --
+ -- This data type is a settings type. For more information, see:
+@@ -504,6 +509,7 @@ instance Default CombineSettings where
+ errorIntro :: [FilePath] -> [Char] -> [Char]
+ errorIntro fps s = "Error minifying " ++ show fps ++ ": " ++ s
+
++{-
+ liftRoutes :: [Route Static] -> Q Exp
+ liftRoutes =
+ fmap ListE . mapM go
+@@ -550,4 +556,5 @@ combineScripts' :: Bool -- ^ development? if so, perform no combining
+ -> Q Exp
+ combineScripts' development cs con routes
+ | development = [| mapM_ (addScript . $(return $ ConE con)) $(liftRoutes routes) |]
+- | otherwise = [| addScript $ $(return $ ConE con) $(combineStatics' JS cs routes) |]
++ | otherwise = [| addScript $ $(return $ ConE con) $(combineStatics' JS cs routes) |]a
++-}
diff --git a/yesod-static.cabal b/yesod-static.cabal
-index df05ecf..31abe1a 100644
+index 3423149..416aae6 100644
--- a/yesod-static.cabal
+++ b/yesod-static.cabal
@@ -48,18 +48,12 @@ library
@@ -66,5 +190,5 @@ index df05ecf..31abe1a 100644
, filepath
, resourcet
--
-1.7.10.4
+1.9.0
diff --git a/standalone/no-th/haskell-patches/yesod_hack-TH.patch b/standalone/no-th/haskell-patches/yesod_hack-TH.patch
index 4ee8aa5bb..b8991b86e 100644
--- a/standalone/no-th/haskell-patches/yesod_hack-TH.patch
+++ b/standalone/no-th/haskell-patches/yesod_hack-TH.patch
@@ -1,13 +1,13 @@
-From 69398345ff1e63bcc6a23fce18e42390328b78d2 Mon Sep 17 00:00:00 2001
+From 369c99b9de0c82578f5221fdabc42ea9ba59ddea Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
-Date: Tue, 17 Dec 2013 18:48:56 +0000
-Subject: [PATCH] hack for TH
+Date: Fri, 7 Mar 2014 04:10:02 +0000
+Subject: [PATCH] hack to TH
---
- Yesod.hs | 19 ++++++++++++--
- Yesod/Default/Main.hs | 23 -----------------
- Yesod/Default/Util.hs | 69 ++-----------------------------------------------
- 3 files changed, 19 insertions(+), 92 deletions(-)
+ Yesod.hs | 19 ++++++++++++--
+ Yesod/Default/Main.hs | 25 +------------------
+ Yesod/Default/Util.hs | 69 ++-------------------------------------------------
+ 3 files changed, 20 insertions(+), 93 deletions(-)
diff --git a/Yesod.hs b/Yesod.hs
index b367144..fbe309c 100644
@@ -41,7 +41,7 @@ index b367144..fbe309c 100644
+insert = undefined
+
diff --git a/Yesod/Default/Main.hs b/Yesod/Default/Main.hs
-index 0780539..2c73800 100644
+index 0780539..ad99ccd 100644
--- a/Yesod/Default/Main.hs
+++ b/Yesod/Default/Main.hs
@@ -1,10 +1,8 @@
@@ -55,6 +55,15 @@ index 0780539..2c73800 100644
, defaultRunner
, defaultDevelApp
, LogFunc
+@@ -22,7 +20,7 @@ import Control.Monad (when)
+ import System.Environment (getEnvironment)
+ import Data.Maybe (fromMaybe)
+ import Safe (readMay)
+-import Control.Monad.Logger (Loc, LogSource, LogLevel (LevelError), liftLoc)
++import Control.Monad.Logger (Loc, LogSource, LogLevel (LevelError))
+ import System.Log.FastLogger (LogStr, toLogStr)
+ import Language.Haskell.TH.Syntax (qLocation)
+
@@ -54,27 +52,6 @@ defaultMain load getApp = do
type LogFunc = Loc -> LogSource -> LogLevel -> LogStr -> IO ()
@@ -180,5 +189,5 @@ index a10358e..0547424 100644
- else return $ Just ex
- else return Nothing
--
-1.7.10.4
+1.9.0