git-annex/standalone/no-th/haskell-patches/yesod-static_hack.patch
2015-07-02 23:03:34 -04:00

193 lines
6.4 KiB
Diff

From 09d7340ff4c9b43f7c8c2ad6529a6c60871d265f Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
Date: Fri, 3 Jul 2015 01:39:14 +0000
Subject: [PATCH] remove TH
---
Yesod/EmbeddedStatic/Generators.hs | 3 +--
Yesod/Static.hs | 29 ++++++++++++++++++-----------
yesod-static.cabal | 9 ---------
3 files changed, 19 insertions(+), 22 deletions(-)
diff --git a/Yesod/EmbeddedStatic/Generators.hs b/Yesod/EmbeddedStatic/Generators.hs
index 08febb9..e3a6d51 100644
--- a/Yesod/EmbeddedStatic/Generators.hs
+++ b/Yesod/EmbeddedStatic/Generators.hs
@@ -42,7 +42,6 @@ import Language.Haskell.TH
import Network.Mime (defaultMimeLookup)
import System.Directory (doesDirectoryExist, getDirectoryContents, findExecutable)
import System.FilePath ((</>))
-import Text.Jasmine (minifym)
import qualified Data.ByteString.Lazy as BL
import qualified Data.Conduit.List as C
import Data.Conduit.Binary (sourceHandle)
@@ -162,7 +161,7 @@ concatFilesWith loc process files = do
-- | Convienient rexport of 'minifym' with a type signature to work with 'concatFilesWith'.
jasmine :: BL.ByteString -> IO BL.ByteString
-jasmine ct = return $ either (const ct) id $ minifym ct
+jasmine ct = return ct
-- | 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 a18d88e..afb1cda 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 Control.Monad.Trans.Resource (runResourceT)
import Yesod.Core
@@ -136,6 +136,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.
--
@@ -150,6 +151,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').
@@ -215,6 +217,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.
--
@@ -267,7 +270,7 @@ staticFilesList dir fs =
-- see if their copy is up-to-date.
publicFiles :: Prelude.FilePath -> Q [Dec]
publicFiles dir = mkStaticFiles' dir False
-
+-}
mkHashMap :: Prelude.FilePath -> IO (M.Map F.FilePath S8.ByteString)
mkHashMap dir = do
@@ -310,6 +313,7 @@ cachedETagLookup dir = do
etags <- mkHashMap dir
return $ (\f -> return $ M.lookup f etags)
+{-
mkStaticFiles :: Prelude.FilePath -> Q [Dec]
mkStaticFiles fp = mkStaticFiles' fp True
@@ -354,6 +358,7 @@ mkStaticFilesList fp fs makeHash = do
[ Clause [] (NormalB $ (ConE 'StaticRoute) `AppE` f' `AppE` qs) []
]
]
+-}
base64md5File :: Prelude.FilePath -> IO String
base64md5File = fmap (base64 . encode) . hashFile
@@ -392,7 +397,7 @@ base64 = map tr
-- single static file at compile time.
data CombineType = JS | CSS
-
+{-
combineStatics' :: CombineType
-> CombineSettings
-> [Route Static] -- ^ files to combine
@@ -426,7 +431,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:
@@ -502,6 +507,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
@@ -548,4 +554,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 4ccb0d7..8758aaa 100644
--- a/yesod-static.cabal
+++ b/yesod-static.cabal
@@ -50,7 +50,6 @@ library
, system-fileio >= 0.3
, data-default
, mime-types >= 0.1
- , hjsmin
, filepath >= 1.3
, resourcet >= 0.4
, unordered-containers >= 0.2
@@ -63,13 +62,6 @@ library
, hashable >= 1.1
exposed-modules: Yesod.Static
- Yesod.EmbeddedStatic
- Yesod.EmbeddedStatic.Generators
- Yesod.EmbeddedStatic.Types
- Yesod.EmbeddedStatic.Css.AbsoluteUrl
-
- other-modules: Yesod.EmbeddedStatic.Internal
- Yesod.EmbeddedStatic.Css.Util
ghc-options: -Wall
extensions: TemplateHaskell
@@ -108,7 +100,6 @@ test-suite tests
, system-fileio
, data-default
, mime-types
- , hjsmin
, filepath
, resourcet
, unordered-containers
--
2.1.4