Better HP control

This commit is contained in:
Michael Snoyman 2012-11-29 18:42:05 +02:00
parent 236c490413
commit 3e92805a50
4 changed files with 10 additions and 4 deletions

View File

@ -28,6 +28,8 @@ defaultBuildSettings = BuildSettings
, expectedFailures = defaultExpectedFailures
, stablePackages = defaultStablePackages
, extraArgs = ["-fnetwork23"]
, haskellPlatformCabal = "haskell-platform/haskell-platform.cabal"
, requireHaskellPlatform = True
}
build :: BuildSettings -> IO ()

View File

@ -11,8 +11,8 @@ import Data.Set (singleton)
import Distribution.Text (simpleParse)
import Stackage.Types
loadHaskellPlatform :: IO HaskellPlatform
loadHaskellPlatform = fmap parseHP $ readFile "haskell-platform/haskell-platform.cabal"
loadHaskellPlatform :: BuildSettings -> IO HaskellPlatform
loadHaskellPlatform = fmap parseHP . readFile . haskellPlatformCabal
data HPLine = HPLPackage PackageIdentifier
| HPLBeginCore

View File

@ -15,8 +15,10 @@ import Data.Version (showVersion)
getInstallInfo :: BuildSettings -> IO InstallInfo
getInstallInfo settings = do
hp <- loadHaskellPlatform
let allPackages = Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
hp <- loadHaskellPlatform settings
let allPackages
| requireHaskellPlatform settings = Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
| otherwise = stablePackages settings
let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
pdb <- loadPackageDB totalCore allPackages
final <- narrowPackageDB pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages

View File

@ -61,4 +61,6 @@ data BuildSettings = BuildSettings
, expectedFailures :: Set PackageName
, stablePackages :: Map PackageName (VersionRange, Maintainer)
, extraArgs :: [String]
, haskellPlatformCabal :: FilePath
, requireHaskellPlatform :: Bool
}