on master help sign in
Default build flags available
5a410bfMichael Snoyman
Stackage/Build.hs+1
@@ -40,6 +40,7 @@ defaultBuildSettings = BuildSettings
40 , cleanBeforeBuild = True
40 , cleanBeforeBuild = True
41 , excludedPackages = empty
41 , excludedPackages = empty
42 , testWorkerThreads = 4
42 , testWorkerThreads = 4
43+ , flags = Set.fromList $ words "blaze_html_0_5"
43 }
44 }
44
45
45build :: BuildSettings -> IO ()
46build :: BuildSettings -> IO ()
Stackage/InstallInfo.hs+1−1
@@ -31,7 +31,7 @@ getInstallInfo settings = do
31 | otherwise = stablePackages settings
31 | otherwise = stablePackages settings
32 allPackages = dropExcluded settings allPackages'
32 allPackages = dropExcluded settings allPackages'
33 let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
33 let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
34− pdb <- loadPackageDB totalCore allPackages
34+ pdb <- loadPackageDB settings totalCore allPackages
35 final <- narrowPackageDB pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
35 final <- narrowPackageDB pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
36
36
37 putStrLn "Printing build plan to build-plan.log"
37 putStrLn "Printing build plan to build-plan.log"
Stackage/LoadDatabase.hs+7−4
@@ -26,7 +26,8 @@ import Distribution.PackageDescription (Condition (..),
26 genPackageFlags,
26 genPackageFlags,
27 libBuildInfo,
27 libBuildInfo,
28 packageDescription,
28 packageDescription,
29− testBuildInfo)
29+ testBuildInfo,
30+ FlagName (FlagName))
30import Distribution.PackageDescription.Parse (ParseResult (ParseOk),
31import Distribution.PackageDescription.Parse (ParseResult (ParseOk),
31 parsePackageDescription)
32 parsePackageDescription)
32import Distribution.System (buildArch, buildOS)
33import Distribution.System (buildArch, buildOS)
@@ -46,10 +47,11 @@ import Stackage.Util
46-- version.
47-- version.
47--
48--
48-- * For other packages, select the maximum version number.
49-- * For other packages, select the maximum version number.
50+loadPackageDB :: BuildSettings
49−loadPackageDB :: Set PackageName -- ^ core packages
51+ -> Set PackageName -- ^ core packages
50 -> Map PackageName (VersionRange, Maintainer) -- ^ additional deps
52 -> Map PackageName (VersionRange, Maintainer) -- ^ additional deps
51 -> IO PackageDB
53 -> IO PackageDB
52−loadPackageDB core deps = do
54+loadPackageDB settings core deps = do
53 tarName <- getTarballName
55 tarName <- getTarballName
54 lbs <- L.readFile tarName
56 lbs <- L.readFile tarName
55 addEntries mempty $ Tar.read lbs
57 addEntries mempty $ Tar.read lbs
@@ -119,4 +121,5 @@ loadPackageDB core deps = do
119 checkCond' (COr c1 c2) = checkCond' c1 || checkCond' c2
121 checkCond' (COr c1 c2) = checkCond' c1 || checkCond' c2
120 checkCond' (CAnd c1 c2) = checkCond' c1 && checkCond' c2
122 checkCond' (CAnd c1 c2) = checkCond' c1 && checkCond' c2
121
123
122− flags = map flagName $ filter flagDefault $ genPackageFlags gpd
124+ flags = map flagName (filter flagDefault $ genPackageFlags gpd) ++
125+ (map FlagName $ Set.toList $ Stackage.Types.flags settings)
Stackage/Types.hs+2
@@ -79,4 +79,6 @@ data BuildSettings = BuildSettings
79 -- packages are dependencies of others, they will still be included.
79 -- packages are dependencies of others, they will still be included.
80 , testWorkerThreads :: Int
80 , testWorkerThreads :: Int
81 -- ^ How many threads to spawn for running test suites.
81 -- ^ How many threads to spawn for running test suites.
82+ , flags :: Set String
83+ -- ^ Compile flags which should be turned on.
82 }
84 }