Skip to content

Commit d883dc3

Browse files
committed
Use Directory.canonicalizePath to resolve --with-compiler
Should close: haskell#3411 haskell#758
1 parent 236b513 commit d883dc3

File tree

1 file changed

+8
-9
lines changed
  • cabal-install/src/Distribution/Client

1 file changed

+8
-9
lines changed

cabal-install/src/Distribution/Client/Main.hs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,8 @@ import Distribution.Version
256256

257257
import Control.Exception (AssertionFailed, assert, try)
258258
import Data.Monoid (Any (..))
259-
import System.Directory
260-
( doesFileExist
261-
, withCurrentDirectory
262-
)
259+
import Data.Traversable (mapM)
260+
import qualified System.Directory as Directory
263261
import System.Environment (getEnvironment, getExecutablePath, getProgName)
264262
import System.FilePath
265263
( dropExtension
@@ -401,7 +399,7 @@ mainWorker args = do
401399
++ " "
402400
++ configFile
403401
++ "\n"
404-
exists <- doesFileExist configFile
402+
exists <- Directory.doesFileExist configFile
405403
unless exists $
406404
putStrLn $
407405
"This file will be generated with sensible "
@@ -1146,13 +1144,14 @@ listAction :: ListFlags -> [String] -> Action
11461144
listAction listFlags extraArgs globalFlags = do
11471145
let verbosity = fromFlag (listVerbosity listFlags)
11481146
config <- loadConfigOrSandboxConfig verbosity globalFlags
1147+
canonicalizedHcPath <- mapM Directory.canonicalizePath (listHcPath listFlags)
11491148
let configFlags' = savedConfigureFlags config
11501149
configFlags =
11511150
configFlags'
11521151
{ configPackageDBs =
11531152
configPackageDBs configFlags'
11541153
`mappend` listPackageDBs listFlags
1155-
, configHcPath = listHcPath listFlags
1154+
, configHcPath = canonicalizedHcPath
11561155
}
11571156
globalFlags' = savedGlobalFlags config `mappend` globalFlags
11581157
compProgdb <-
@@ -1305,7 +1304,7 @@ uploadAction uploadFlags extraArgs globalFlags = do
13051304
| otherwise =
13061305
sequence_
13071306
[ do
1308-
exists <- doesFileExist tarfile
1307+
exists <- Directory.doesFileExist tarfile
13091308
unless exists $ dieWithException verbosity $ FileNotFound tarfile
13101309
| tarfile <- tarfiles
13111310
]
@@ -1418,7 +1417,7 @@ initAction initFlags extraArgs globalFlags = do
14181417
[] -> initAction'
14191418
[projectDir] -> do
14201419
createDirectoryIfMissingVerbose verbosity True projectDir
1421-
withCurrentDirectory projectDir initAction'
1420+
Directory.withCurrentDirectory projectDir initAction'
14221421
_ -> dieWithException verbosity InitAction
14231422
where
14241423
initAction' = do
@@ -1450,7 +1449,7 @@ userConfigAction ucflags extraArgs globalFlags = do
14501449
case extraArgs of
14511450
("init" : _) -> do
14521451
path <- configFile
1453-
fileExists <- doesFileExist path
1452+
fileExists <- Directory.doesFileExist path
14541453
if (not fileExists || (fileExists && frc))
14551454
then void $ createDefaultConfigFile verbosity extraLines path
14561455
else dieWithException verbosity $ UserConfigAction path

0 commit comments

Comments
 (0)