Only unpack when necessary

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

View File

@ -88,7 +88,9 @@ packageTarget pb shakeDir name plan = do
(M.keys (sdPackages (ppDesc plan))))
pwd <- liftIO getCurrentDirectory
env <- liftIO (fmap (Env . (++ defaultEnv pwd)) getEnvironment)
() <- cmd (Cwd shakeDir) "cabal" "unpack" nameVer
unpacked <- liftIO (doesDirectoryExist (shakeDir <//> nameVer))
unless unpacked
(cmd (Cwd shakeDir) "cabal" "unpack" nameVer)
() <- cmd cwd env "cabal" "configure" (opts pwd)
() <- cmd cwd env "cabal" "build"
() <- cmd cwd env "cabal" "copy"