Skip to content
Snippets Groups Projects
Commit 1d014ead authored by Mikhail Glushenkov's avatar Mikhail Glushenkov
Browse files

Don't die when the PATH variable is missing.

parent 3ab47fa8
No related branches found
No related tags found
No related merge requests found
......@@ -57,7 +57,7 @@ import Distribution.Simple.Utils ( die, debug, notice, info
, debugNoWrap, intercalate
, createDirectoryIfMissingVerbose )
import Distribution.Verbosity ( Verbosity, lessVerbose )
import Distribution.Compat.Env ( setEnv )
import Distribution.Compat.Env ( lookupEnv, setEnv )
import qualified Distribution.Client.Index as Index
import qualified Distribution.Simple.Register as Register
import Control.Exception ( bracket_ )
......@@ -69,7 +69,6 @@ import System.Directory ( canonicalizePath
, getCurrentDirectory
, removeDirectoryRecursive
, removeFile )
import System.Environment ( getEnv )
import System.FilePath ( (</>), getSearchPath
, searchPathSeparator )
......@@ -109,8 +108,9 @@ withSandboxBinDirOnSearchPath sandboxDir = bracket_ addBinDir rmBinDir
-- required changes are too intrusive.
addBinDir :: IO ()
addBinDir = do
oldPath <- getEnv "PATH"
let newPath = sandboxBin ++ (searchPathSeparator:oldPath)
mbOldPath <- lookupEnv "PATH"
let newPath = maybe sandboxBin ((++) sandboxBin . (:) searchPathSeparator)
mbOldPath
setEnv "PATH" newPath
rmBinDir :: IO ()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment