From 885cc873196f535de7cd1ac2ccfa217d10308d1f Mon Sep 17 00:00:00 2001 From: dummy 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.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 --- a/Yesod/EmbeddedStatic/Generators.hs +++ b/Yesod/EmbeddedStatic/Generators.hs @@ -43,7 +43,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 qualified Data.Text as T @@ -158,7 +157,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 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 3423149..416aae6 100644 --- a/yesod-static.cabal +++ b/yesod-static.cabal @@ -48,18 +48,12 @@ library , data-default , shakespeare-css >= 1.0.3 , mime-types >= 0.1 - , hjsmin , process-conduit >= 1.0 && < 1.1 , filepath >= 1.3 , resourcet >= 0.4 , unordered-containers >= 0.2 exposed-modules: Yesod.Static - Yesod.EmbeddedStatic - Yesod.EmbeddedStatic.Generators - Yesod.EmbeddedStatic.Types - - other-modules: Yesod.EmbeddedStatic.Internal ghc-options: -Wall extensions: TemplateHaskell @@ -99,7 +93,6 @@ test-suite tests , data-default , shakespeare-css , mime-types - , hjsmin , process-conduit , filepath , resourcet -- 1.9.0