mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-28 23:20:26 +01:00
Deal with case-insensitive environment variables on Windows #94
This commit is contained in:
parent
976c6acb8b
commit
38fc80cb32
@ -4,7 +4,7 @@ module Stackage.Util where
|
|||||||
import qualified Codec.Archive.Tar as Tar
|
import qualified Codec.Archive.Tar as Tar
|
||||||
import qualified Codec.Archive.Tar.Entry as TarEntry
|
import qualified Codec.Archive.Tar.Entry as TarEntry
|
||||||
import Control.Monad (guard, when)
|
import Control.Monad (guard, when)
|
||||||
import Data.Char (isSpace)
|
import Data.Char (isSpace, toUpper)
|
||||||
import Data.List (stripPrefix)
|
import Data.List (stripPrefix)
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import Data.Maybe (mapMaybe)
|
import Data.Maybe (mapMaybe)
|
||||||
@ -128,8 +128,10 @@ getModifiedEnv settings = do
|
|||||||
fmap (map $ fixEnv $ binDir settings) getEnvironment
|
fmap (map $ fixEnv $ binDir settings) getEnvironment
|
||||||
where
|
where
|
||||||
fixEnv :: FilePath -> (String, String) -> (String, String)
|
fixEnv :: FilePath -> (String, String) -> (String, String)
|
||||||
fixEnv bin (p@"PATH", x) = (p, bin ++ pathSep : x)
|
fixEnv bin (p, x)
|
||||||
fixEnv _ x = x
|
-- Thank you Windows having case-insensitive environment variables...
|
||||||
|
| map toUpper p == "PATH" = (p, bin ++ pathSep : x)
|
||||||
|
| otherwise = (p, x)
|
||||||
|
|
||||||
-- | Separate for the PATH environment variable
|
-- | Separate for the PATH environment variable
|
||||||
pathSep :: Char
|
pathSep :: Char
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user