diff --git a/Build.hs b/Build.hs
--- a/Build.hs
+++ b/Build.hs
@@ -10,9 +10,6 @@
     , safeReadFile
     ) where
 
--- FIXME there's a bug when getFileStatus applies to a file
--- temporary deleted (e.g., Vim saving a file)
-
 import           Control.Applicative ((<|>), many, (<$>))
 import qualified Data.Attoparsec.Text as A
 import           Data.Char (isSpace, isUpper)
diff --git a/GhcBuild.hs b/GhcBuild.hs
--- a/GhcBuild.hs
+++ b/GhcBuild.hs
@@ -19,29 +19,30 @@
 module GhcBuild (getBuildFlags, buildPackage) where
 
 import qualified Control.Exception as Ex
-import           Control.Monad     (when)
+import           Control.Monad      (when)
 import           Data.IORef
-import           System.Process    (rawSystem)
+import           System.Process     (rawSystem)
+import           System.Environment (getEnvironment)
 
 import           CmdLineParser
-import           Data.Char         (toLower)
-import           Data.List         (isPrefixOf, partition)
-import           Data.Maybe        (fromMaybe)
-import           DriverPhases      (Phase (..), anyHsc, isHaskellSrcFilename,
-                                    isSourceFilename, startPhase)
-import           DriverPipeline    (compileFile, link, linkBinary, oneShot)
-import           DynFlags          (DynFlags, compilerInfo)
+import           Data.Char          (toLower)
+import           Data.List          (isPrefixOf, partition)
+import           Data.Maybe         (fromMaybe)
+import           DriverPhases       (Phase (..), anyHsc, isHaskellSrcFilename,
+                                     isSourceFilename, startPhase)
+import           DriverPipeline     (compileFile, link, linkBinary, oneShot)
+import           DynFlags           (DynFlags, compilerInfo)
 import qualified DynFlags
 import qualified GHC
-import           GHC.Paths         (libdir)
-import           HscTypes          (HscEnv (..), emptyHomePackageTable)
-import           MonadUtils        (liftIO)
-import           Panic             (ghcError, panic)
-import           SrcLoc            (Located, mkGeneralLocated)
-import           StaticFlags       (v_Ld_inputs)
+import           GHC.Paths          (libdir)
+import           HscTypes           (HscEnv (..), emptyHomePackageTable)
+import           MonadUtils         (liftIO)
+import           Panic              (ghcError, panic)
+import           SrcLoc             (Located, mkGeneralLocated)
+import           StaticFlags        (v_Ld_inputs)
 import qualified StaticFlags
-import           System.FilePath   (normalise, (</>))
-import           Util              (consIORef, looksLikeModuleName)
+import           System.FilePath    (normalise, (</>))
+import           Util               (consIORef, looksLikeModuleName)
 
 {-
   This contains a huge hack:
@@ -53,7 +54,8 @@
 getBuildFlags :: IO [Located String]
 getBuildFlags = do
   argv0 <- fmap read $ readFile "yesod-devel/ghcargs.txt" -- generated by yesod-ghc-wrapper
-  let (minusB_args, argv1) = partition ("-B" `isPrefixOf`) argv0
+  argv0' <- prependHsenvArgv argv0
+  let (minusB_args, argv1) = partition ("-B" `isPrefixOf`) argv0'
       mbMinusB | null minusB_args = Nothing
                | otherwise = Just (drop 2 (last minusB_args))
   let argv1' = map (mkGeneralLocated "on the commandline") argv1
@@ -61,6 +63,14 @@
   (argv2, staticFlagWarnings) <- GHC.parseStaticFlags argv1'
   return argv2
 
+prependHsenvArgv :: [String] -> IO [String]
+prependHsenvArgv argv = do
+  env <- getEnvironment
+  return $ case (lookup "HSENV" env) of
+             Nothing -> argv
+             _       -> hsenvArgv ++ argv
+                 where hsenvArgv = words $ fromMaybe "" (lookup "PACKAGE_DB_FOR_GHC" env)
+
 buildPackage :: [Located String] -> FilePath -> FilePath -> IO Bool
 buildPackage a ld ar = buildPackage' a ld ar `Ex.catch` \e -> do
   putStrLn ("exception building package: " ++ show (e :: Ex.SomeException))
@@ -416,4 +426,3 @@
 isCompManagerMode DoInteractive = True
 isCompManagerMode (DoEval _)    = True
 isCompManagerMode _             = False
-
diff --git a/ghcwrapper.hs b/ghcwrapper.hs
--- a/ghcwrapper.hs
+++ b/ghcwrapper.hs
@@ -58,5 +58,3 @@
   when e $ writeFile outFile (show args ++ "\n")
   ex <- runProgram cmd args
   exitWith ex
-
-
diff --git a/hsfiles/mongo.hsfiles b/hsfiles/mongo.hsfiles
--- a/hsfiles/mongo.hsfiles
+++ b/hsfiles/mongo.hsfiles
@@ -3,12 +3,14 @@
 :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls
 
 {-# START_FILE .gitignore #-}
-dist/
+dist*
 static/tmp/
 config/client_session_key.aes
 *.hi
 *.o
 *.sqlite3
+.hsenv*
+yesod-devel/
 
 {-# START_FILE Application.hs #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
diff --git a/hsfiles/mysql.hsfiles b/hsfiles/mysql.hsfiles
--- a/hsfiles/mysql.hsfiles
+++ b/hsfiles/mysql.hsfiles
@@ -3,12 +3,14 @@
 :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls
 
 {-# START_FILE .gitignore #-}
-dist/
+dist*
 static/tmp/
 config/client_session_key.aes
 *.hi
 *.o
 *.sqlite3
+.hsenv*
+yesod-devel/
 
 {-# START_FILE Application.hs #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
diff --git a/hsfiles/postgres.hsfiles b/hsfiles/postgres.hsfiles
--- a/hsfiles/postgres.hsfiles
+++ b/hsfiles/postgres.hsfiles
@@ -3,12 +3,14 @@
 :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls
 
 {-# START_FILE .gitignore #-}
-dist/
+dist*
 static/tmp/
 config/client_session_key.aes
 *.hi
 *.o
 *.sqlite3
+.hsenv*
+yesod-devel/
 
 {-# START_FILE Application.hs #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
diff --git a/hsfiles/simple.hsfiles b/hsfiles/simple.hsfiles
--- a/hsfiles/simple.hsfiles
+++ b/hsfiles/simple.hsfiles
@@ -3,12 +3,14 @@
 :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls
 
 {-# START_FILE .gitignore #-}
-dist/
+dist*
 static/tmp/
 config/client_session_key.aes
 *.hi
 *.o
 *.sqlite3
+.hsenv*
+yesod-devel/
 
 {-# START_FILE Application.hs #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
diff --git a/hsfiles/sqlite.hsfiles b/hsfiles/sqlite.hsfiles
--- a/hsfiles/sqlite.hsfiles
+++ b/hsfiles/sqlite.hsfiles
@@ -3,12 +3,14 @@
 :set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls
 
 {-# START_FILE .gitignore #-}
-dist/
+dist*
 static/tmp/
 config/client_session_key.aes
 *.hi
 *.o
 *.sqlite3
+.hsenv*
+yesod-devel/
 
 {-# START_FILE Application.hs #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
diff --git a/yesod.cabal b/yesod.cabal
--- a/yesod.cabal
+++ b/yesod.cabal
@@ -1,5 +1,5 @@
 name:            yesod
-version:         1.1.7.2
+version:         1.1.8
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -87,7 +87,7 @@
                      , unix-compat        >= 0.2          && < 0.5
                      , containers         >= 0.2
                      , attoparsec         >= 0.10
-                     , http-types         >= 0.7          && < 0.8
+                     , http-types         >= 0.7
                      , blaze-builder      >= 0.2.1.4      && < 0.4
                      , filepath           >= 1.1
                      , process
