support building with yesod-default 1.1.0
Old 1.0.1 version is still supported as well. Cabal autodetects which version is available, but in the Makefile, WITH_OLD_YESOD has to be configured appropriately. I have not squashed all the $newline warnings with the new Yesod. They should go away eventually anyway as Yesod moves past that transition.
This commit is contained in:
parent
20203b45b9
commit
be310ac4d0
4 changed files with 32 additions and 4 deletions
2
Makefile
2
Makefile
|
@ -2,7 +2,7 @@ CFLAGS=-Wall
|
|||
GIT_ANNEX_TMP_BUILD_DIR?=tmp
|
||||
IGNORE=-ignore-package monads-fd -ignore-package monads-tf
|
||||
BASEFLAGS=-threaded -Wall $(IGNORE) -outputdir $(GIT_ANNEX_TMP_BUILD_DIR) -IUtility
|
||||
FEATURES=-DWITH_ASSISTANT -DWITH_S3 -DWITH_WEBAPP
|
||||
FEATURES=-DWITH_ASSISTANT -DWITH_S3 -DWITH_WEBAPP -DWITH_OLD_YESOD
|
||||
|
||||
bins=git-annex
|
||||
mans=git-annex.1 git-annex-shell.1
|
||||
|
|
|
@ -26,6 +26,7 @@ import Crypto.Random
|
|||
import Data.Digest.Pure.SHA
|
||||
import qualified Web.ClientSession as CS
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.Text as T
|
||||
import qualified Data.Text.Encoding as TE
|
||||
import Blaze.ByteString.Builder.Char.Utf8 (fromText)
|
||||
|
@ -113,7 +114,7 @@ logRequest req = do
|
|||
where
|
||||
frombs v = toString $ L.fromChunks [v]
|
||||
|
||||
lookupRequestField :: CI.CI Ascii -> Wai.Request -> Ascii
|
||||
lookupRequestField :: CI.CI B.ByteString -> Wai.Request -> B.ByteString
|
||||
lookupRequestField k req = fromMaybe "" . lookup k $ Wai.requestHeaders req
|
||||
|
||||
{- Rather than storing a session key on disk, use a random key
|
||||
|
|
|
@ -5,13 +5,27 @@
|
|||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
{-# LANGUAGE CPP #-}
|
||||
|
||||
module Utility.Yesod where
|
||||
|
||||
import Yesod.Default.Util
|
||||
import Language.Haskell.TH.Syntax
|
||||
#ifndef WITH_OLD_YESOD
|
||||
import Data.Default (def)
|
||||
import Text.Hamlet
|
||||
#endif
|
||||
|
||||
widgetFile :: String -> Q Exp
|
||||
#ifdef WITH_OLD_YESOD
|
||||
widgetFile = widgetFileNoReload
|
||||
#else
|
||||
widgetFile = widgetFileNoReload $ def
|
||||
{ wfsHamletSettings = defaultHamletSettings
|
||||
{ hamletNewlines = AlwaysNewlines
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
hamletTemplate :: FilePath -> FilePath
|
||||
hamletTemplate f = globFile "hamlet" f
|
||||
|
|
|
@ -40,6 +40,12 @@ Flag Assistant
|
|||
Flag Webapp
|
||||
Description: Enable git-annex webapp
|
||||
|
||||
Flag CurrentYesod
|
||||
Description: Using a current version of Yesod
|
||||
|
||||
Flag OldYesod
|
||||
Description: Using an old version of Yesod
|
||||
|
||||
Executable git-annex
|
||||
Main-Is: git-annex.hs
|
||||
Build-Depends: MissingH, hslogger, directory, filepath,
|
||||
|
@ -73,8 +79,15 @@ Executable git-annex
|
|||
Build-Depends: dbus
|
||||
CPP-Options: -DWITH_DBUS
|
||||
|
||||
if flag(Webapp)
|
||||
Build-Depends: yesod, yesod-static, yesod-default, case-insensitive,
|
||||
if flag(CurrentYesod)
|
||||
Build-Depends: yesod-default (>= 1.1.0)
|
||||
|
||||
if flag(OldYesod)
|
||||
Build-Depends: yesod-default (<= 1.0.1.1)
|
||||
CPP-Options: -DWITH_OLD_YESOD
|
||||
|
||||
if flag(Webapp) && (flag(CurrentYesod) || flag(OldYesod))
|
||||
Build-Depends: yesod, yesod-static, case-insensitive,
|
||||
http-types, transformers, wai, wai-logger, warp, blaze-builder,
|
||||
blaze-html, crypto-api, hamlet, clientsession,
|
||||
template-haskell
|
||||
|
|
Loading…
Add table
Reference in a new issue