on master help sign in
Better HP control
3e92805Michael Snoyman
Stackage/Build.hs+2
@@ -28,6 +28,8 @@ defaultBuildSettings = BuildSettings
28 , expectedFailures = defaultExpectedFailures
28 , expectedFailures = defaultExpectedFailures
29 , stablePackages = defaultStablePackages
29 , stablePackages = defaultStablePackages
30 , extraArgs = ["-fnetwork23"]
30 , extraArgs = ["-fnetwork23"]
31+ , haskellPlatformCabal = "haskell-platform/haskell-platform.cabal"
32+ , requireHaskellPlatform = True
31 }
33 }
32
34
33build :: BuildSettings -> IO ()
35build :: BuildSettings -> IO ()
Stackage/HaskellPlatform.hs+2−2
@@ -11,8 +11,8 @@ import Data.Set (singleton)
11import Distribution.Text (simpleParse)
11import Distribution.Text (simpleParse)
12import Stackage.Types
12import Stackage.Types
13
13
14−loadHaskellPlatform :: IO HaskellPlatform
14+loadHaskellPlatform :: BuildSettings -> IO HaskellPlatform
15−loadHaskellPlatform = fmap parseHP $ readFile "haskell-platform/haskell-platform.cabal"
15+loadHaskellPlatform = fmap parseHP . readFile . haskellPlatformCabal
16
16
17data HPLine = HPLPackage PackageIdentifier
17data HPLine = HPLPackage PackageIdentifier
18 | HPLBeginCore
18 | HPLBeginCore
Stackage/InstallInfo.hs+4−2
@@ -15,8 +15,10 @@ import Data.Version (showVersion)
15
15
16getInstallInfo :: BuildSettings -> IO InstallInfo
16getInstallInfo :: BuildSettings -> IO InstallInfo
17getInstallInfo settings = do
17getInstallInfo settings = do
18− hp <- loadHaskellPlatform
18+ hp <- loadHaskellPlatform settings
19+ let allPackages
19− let allPackages = Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
20+ | requireHaskellPlatform settings = Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
21+ | otherwise = stablePackages settings
20 let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
22 let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
21 pdb <- loadPackageDB totalCore allPackages
23 pdb <- loadPackageDB totalCore allPackages
22 final <- narrowPackageDB pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
24 final <- narrowPackageDB pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
Stackage/Types.hs+2
@@ -61,4 +61,6 @@ data BuildSettings = BuildSettings
61 , expectedFailures :: Set PackageName
61 , expectedFailures :: Set PackageName
62 , stablePackages :: Map PackageName (VersionRange, Maintainer)
62 , stablePackages :: Map PackageName (VersionRange, Maintainer)
63 , extraArgs :: [String]
63 , extraArgs :: [String]
64+ , haskellPlatformCabal :: FilePath
65+ , requireHaskellPlatform :: Bool
64 }
66 }