forked from mirrors/nixpkgs
26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
--- dyre-0.8.12/Config/Dyre/Compile.hs 2015-04-13 11:00:20.794278350 +0100
|
|
+++ dyre-0.8.12-patched/Config/Dyre/Compile.hs 2015-04-13 11:07:26.938893502 +0100
|
|
@@ -10,11 +10,13 @@
|
|
import System.FilePath ( (</>) )
|
|
import System.Directory ( getCurrentDirectory, doesFileExist
|
|
, createDirectoryIfMissing )
|
|
+import System.Environment ( lookupEnv )
|
|
+import Control.Applicative ((<$>))
|
|
import Control.Exception ( bracket )
|
|
-import GHC.Paths ( ghc )
|
|
|
|
import Config.Dyre.Paths ( getPaths )
|
|
import Config.Dyre.Params ( Params(..) )
|
|
+import Data.Maybe ( fromMaybe )
|
|
|
|
-- | Return the path to the error file.
|
|
getErrorPath :: Params cfgType -> IO FilePath
|
|
@@ -47,6 +49,7 @@
|
|
errFile <- getErrorPath params
|
|
result <- bracket (openFile errFile WriteMode) hClose $ \errHandle -> do
|
|
ghcOpts <- makeFlags params configFile tempBinary cacheDir libsDir
|
|
+ ghc <- fromMaybe "ghc" <$> lookupEnv "NIX_GHC"
|
|
ghcProc <- runProcess ghc ghcOpts (Just cacheDir) Nothing
|
|
Nothing Nothing (Just errHandle)
|
|
waitForProcess ghcProc
|