Fix path relativity in package db

This commit is contained in:
Chris Done 2015-01-13 19:26:30 +01:00
parent d944971a10
commit c109bbaa2e

View File

@ -94,29 +94,42 @@ packageTarget pb shakeDir name plan = do
() <- cmd cwd env "cabal" "copy" () <- cmd cwd env "cabal" "copy"
() <- cmd cwd env "cabal" "register" () <- cmd cwd env "cabal" "register"
makeFile (targetForPackage shakeDir name) makeFile (targetForPackage shakeDir name)
where cwd = Cwd pkgDir where cwd =
defaultEnv pwd = [("HASKELL_PACKAGE_SANDBOX",pwd <//> targetForDb shakeDir pb)] Cwd pkgDir
opts pwd = ["--package-db=clear" defaultEnv pwd =
,"--package-db=global" [ ( "HASKELL_PACKAGE_SANDBOX"
,"--libdir=" ++ pwd <//> pbLibDir pb , pwd <//>
,"--bindir=" ++ pwd <//> pbBinDir pb targetForDb shakeDir pb)]
,"--datadir=" ++ pwd <//> pbDataDir pb opts pwd =
,"--docdir=" ++ pwd <//> pbDocDir pb [ "--package-db=clear"
,"--flags=" ++ flags] ++ , "--package-db=global"
["--package-db=" ++ pwd <//> targetForDb shakeDir pb , "--libdir=" ++ pwd <//> pbLibDir pb
|not (pbGlobalInstall pb)] , "--bindir=" ++ pwd <//> pbBinDir pb
, "--datadir=" ++ pwd <//> pbDataDir pb
, "--docdir=" ++ pwd <//> pbDocDir pb
, "--flags=" ++ flags] ++
["--package-db=" ++
pwd <//>
targetForDb shakeDir pb | not (pbGlobalInstall pb)]
pkgDir = pkgDir =
shakeDir <//> nameVer shakeDir <//> nameVer
nameVer = nameVer =
display name ++ display name ++
"-" ++ "-" ++
display (ppVersion plan) display (ppVersion plan)
flags = unwords $ map go $ M.toList (pcFlagOverrides (ppConstraints plan)) flags =
where unwords $
go (name', isOn) = concat map go $
[ if isOn then "" else "-" M.toList
, T.unpack (unFlagName name') (pcFlagOverrides
] (ppConstraints plan))
where
go (name',isOn) =
concat
[ if isOn
then ""
else "-"
, T.unpack (unFlagName name')]
-- | Get the target file for confirming that all packages have been -- | Get the target file for confirming that all packages have been
-- pre-fetched. -- pre-fetched.