on master help sign in
More fixes for #35
commitc46a3087243460cd77ea77287f1bdce18662c69b authorMichael Snoyman <michael@snoyman.com> dateSun 27 Jan 2013, 07:22 (14 years ago) parent7de4bb6
3 files changed+6−4
Stackage/Build.hs−1 Stackage/CheckCabalVersion.hs+3−3 Stackage/CheckPlan.hs+3
Stackage/Build.hs−1
@@ -41,7 +41,6 @@ defaultBuildSettings = BuildSettings
4141
4242build :: BuildSettings -> BuildPlan -> IO ()
4343build settings' bp = do
44− putStrLn "Checking Cabal version"
4544 libVersion <- checkCabalVersion
4645
4746 putStrLn "Wiping out old sandbox folder"
Stackage/CheckCabalVersion.hs+3−3
@@ -11,7 +11,6 @@ import qualified Data.Set as Set
1111import Distribution.Text (simpleParse)
1212import Distribution.Version (withinRange)
1313import Prelude hiding (pi)
14−import Stackage.CheckPlan
1514import Stackage.Config
1615import Stackage.InstallInfo
1716import Stackage.Tarballs
@@ -29,6 +28,7 @@ import System.Process (rawSystem, readProcess, runProcess,
2928
3029checkCabalVersion :: IO String
3130checkCabalVersion = do
31+ putStrLn "Checking Cabal version"
3232 versionString <- readProcess "cabal" ["--version"] ""
3333 libVersion <-
3434 case map words $ lines versionString of
@@ -36,10 +36,10 @@ checkCabalVersion = do
3636 _ -> error "Did not understand cabal --version output"
3737
3838 case (simpleParse libVersion, simpleParse ">= 1.16") of
39− (Nothing, _) -> error $ "Invalid Cabal library version: " ++ libVersion
39+ (Nothing, _) -> error $ "cabal binary reported an invalid Cabal library version: " ++ libVersion
4040 (_, Nothing) -> assert False $ return ()
4141 (Just v, Just vr)
4242 | v `withinRange` vr -> return ()
43− | otherwise -> error $ "Unsupported Cabal library version: " ++ libVersion
43+ | otherwise -> error $ "cabal binary build against unsupported Cabal library version: " ++ libVersion
4444
4545 return libVersion
Stackage/CheckPlan.hs+3
@@ -12,12 +12,15 @@ import Stackage.Util
1212import System.Exit (ExitCode (ExitFailure, ExitSuccess),
1313 exitWith)
1414import System.Process (readProcessWithExitCode)
15+import Stackage.CheckCabalVersion (checkCabalVersion)
1516
1617data Mismatch = OnlyDryRun String | OnlySimpleList String
1718 deriving Show
1819
1920checkPlan :: BuildPlan -> IO ()
2021checkPlan bp = do
22+ _ <- checkCabalVersion
23+
2124 putStrLn "Checking build plan"
2225 (ec, dryRun', stderr) <- readProcessWithExitCode "cabal" (addCabalArgsOnlyGlobal $ "install":"--dry-run":bpPackageList bp) ""
2326 when (ec /= ExitSuccess || "Warning:" `isPrefixOf` stderr) $ do