@@ -3,6 +3,7 @@ import Data.Set (fromList)
33import Stackage.Build (build, defaultBuildSettings)
44import Stackage.BuildPlan (readBuildPlan, writeBuildPlan)
55import Stackage.CheckPlan (checkPlan)
6+import Stackage.GhcPkg (getGhcVersion)
67import Stackage.Init (stackageInit)
78import Stackage.Select (defaultSelectSettings, select)
89import Stackage.Tarballs (makeTarballs)
@@ -49,10 +50,10 @@ data BuildArgs = BuildArgs
4950 , noDocs :: Bool
5051 }
5152
52−parseBuildArgs :: [String] -> IO BuildArgs
53−parseBuildArgs =
53+parseBuildArgs :: GhcMajorVersion -> [String] -> IO BuildArgs
54+parseBuildArgs version =
5455 loop BuildArgs
55− { sandbox = sandboxRoot defaultBuildSettings
56+ { sandbox = sandboxRoot $ defaultBuildSettings version
5657 , buildPlanSrc = defaultBuildPlan
5758 , extraArgs' = id
5859 , noDocs = False
@@ -70,11 +71,12 @@ defaultBuildPlan = "build-plan.txt"
7071
7172withBuildSettings :: [String] -> (BuildSettings -> BuildPlan -> IO a) -> IO a
7273withBuildSettings args f = do
73− BuildArgs {..} <- parseBuildArgs args
74+ version <- getGhcVersion
75+ BuildArgs {..} <- parseBuildArgs version args
7476 bp <- readBuildPlan buildPlanSrc
75− let settings = defaultBuildSettings
77+ let settings = (defaultBuildSettings version)
7678 { sandboxRoot = sandbox
77− , extraArgs = extraArgs' . extraArgs defaultBuildSettings
79+ , extraArgs = extraArgs' . extraArgs (defaultBuildSettings version)
7880 , buildDocs = not noDocs
7981 }
8082 f settings bp
@@ -86,8 +88,9 @@ main = do
8688 ["uploads"] -> checkUploads "allowed.txt" "new-allowed.txt"
8789 "select":rest -> do
8890 SelectArgs {..} <- parseSelectArgs rest
91+ ghcVersion <- getGhcVersion
8992 bp <- select
90− defaultSelectSettings
93+ (defaultSelectSettings ghcVersion)
9194 { excludedPackages = fromList $ map PackageName excluded
9295 , requireHaskellPlatform = not noPlatform
9396 , allowedPackage =