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
		Add a link
		
	
		Reference in a new issue