on master help sign in
More replacement tarball tweaks
f8d7858Michael Snoyman
Stackage/Build.hs+1−1
@@ -81,7 +81,7 @@ build settings' bp = do
81
81
82 putStrLn "Beginning Stackage build"
82 putStrLn "Beginning Stackage build"
83 ph <- withBinaryFile "build.log" WriteMode $ \handle -> do
83 ph <- withBinaryFile "build.log" WriteMode $ \handle -> do
84− packageList <- mapM (replaceTarball settings) $ bpPackageList bp
84+ packageList <- mapM (replaceTarball $ tarballDir settings) $ bpPackageList bp
85 let args = addCabalArgs settings BSBuild
85 let args = addCabalArgs settings BSBuild
86 $ "install"
86 $ "install"
87 : ("--cabal-lib-version=" ++ libVersion)
87 : ("--cabal-lib-version=" ++ libVersion)
Stackage/CheckPlan.hs+4−3
@@ -17,18 +17,19 @@ import System.Process (readProcessWithExitCode)
17data Mismatch = OnlyDryRun String | OnlySimpleList String
17data Mismatch = OnlyDryRun String | OnlySimpleList String
18 deriving Show
18 deriving Show
19
19
20−checkPlan :: BuildPlan -> IO ()
20+checkPlan :: BuildSettings -> BuildPlan -> IO ()
21−checkPlan bp = do
21+checkPlan settings bp = do
22 _ <- checkCabalVersion
22 _ <- checkCabalVersion
23
23
24 putStrLn "Checking build plan"
24 putStrLn "Checking build plan"
25+ packages <- mapM (replaceTarball $ tarballDir settings) (bpPackageList bp)
25 (ec, dryRun', stderr) <- readProcessWithExitCode "cabal"
26 (ec, dryRun', stderr) <- readProcessWithExitCode "cabal"
26 ( addCabalArgsOnlyGlobal
27 ( addCabalArgsOnlyGlobal
27 $ "install"
28 $ "install"
28 : "--dry-run"
29 : "--dry-run"
29 : "--max-backjumps=-1"
30 : "--max-backjumps=-1"
30 : "--reorder-goals"
31 : "--reorder-goals"
31− : bpPackageList bp
32+ : packages
32 ) ""
33 ) ""
33 when (ec /= ExitSuccess || "Warning:" `isPrefixOf` stderr) $ do
34 when (ec /= ExitSuccess || "Warning:" `isPrefixOf` stderr) $ do
34 putStr stderr
35 putStr stderr
Stackage/Select.hs+1−1
@@ -44,7 +44,7 @@ defaultSelectSettings version = SelectSettings
44 , useGlobalDatabase = False
44 , useGlobalDatabase = False
45 , skippedTests = empty
45 , skippedTests = empty
46 , selectGhcVersion = version
46 , selectGhcVersion = version
47− , selectTarballDir = "tarballs"
47+ , selectTarballDir = "patching/tarballs"
48 }
48 }
49
49
50select :: SelectSettings -> IO BuildPlan
50select :: SelectSettings -> IO BuildPlan
Stackage/Test.hs+1−1
@@ -97,7 +97,7 @@ runTestSuite settings testdir (packageName, SelectedPackageInfo {..}) = do
97 runGhcPackagePath = runGen True
97 runGhcPackagePath = runGen True
98
98
99 passed <- handle (\TestException -> return False) $ do
99 passed <- handle (\TestException -> return False) $ do
100− package' <- replaceTarball settings package
100+ package' <- replaceTarball (tarballDir settings) package
101 getHandle WriteMode $ run "cabal" ["unpack", package'] testdir
101 getHandle WriteMode $ run "cabal" ["unpack", package'] testdir
102 getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir
102 getHandle AppendMode $ run "cabal" (addCabalArgs settings BSTest ["configure", "--enable-tests"]) dir
103 when spiHasTests $ do
103 when spiHasTests $ do
Stackage/Util.hs+3−3
@@ -158,13 +158,13 @@ fixBuildSettings settings' = do
158
158
159-- | Check if a tarball exists in the tarball directory and, if so, use that
159-- | Check if a tarball exists in the tarball directory and, if so, use that
160-- instead of the given name.
160-- instead of the given name.
161−replaceTarball :: BuildSettings
161+replaceTarball :: FilePath -- ^ tarball directory
162 -> String
162 -> String
163 -> IO String
163 -> IO String
164−replaceTarball bs pkgname = do
164+replaceTarball tarballdir pkgname = do
165 exists <- doesFileExist fp
165 exists <- doesFileExist fp
166 if exists
166 if exists
167 then canonicalizePath fp
167 then canonicalizePath fp
168 else return pkgname
168 else return pkgname
169 where
169 where
170− fp = tarballDir bs </> pkgname <.> "tar.gz"
170+ fp = tarballdir </> pkgname <.> "tar.gz"
app/stackage.hs+1−1
@@ -100,7 +100,7 @@ main = do
100 , useGlobalDatabase = globalDB
100 , useGlobalDatabase = globalDB
101 }
101 }
102 writeBuildPlan buildPlanDest bp
102 writeBuildPlan buildPlanDest bp
103− ("check":rest) -> withBuildSettings rest $ const checkPlan
103+ ("check":rest) -> withBuildSettings rest checkPlan
104 ("build":rest) -> withBuildSettings rest build
104 ("build":rest) -> withBuildSettings rest build
105 ("test":rest) -> withBuildSettings rest runTestSuites
105 ("test":rest) -> withBuildSettings rest runTestSuites
106 ("tarballs":rest) -> withBuildSettings rest $ const makeTarballs
106 ("tarballs":rest) -> withBuildSettings rest $ const makeTarballs