on master help sign in
Write build-plan even if there are disallowed packages
commit0e7fcd58525164125512a01ac166ee836763cf80 authorMichael Snoyman <michael@snoyman.com> dateSun 2 Jun 2013, 14:36 (13 years ago) parent2f26c57
2 files changed+13−12
Stackage/InstallInfo.hs+10−3 Stackage/NarrowDatabase.hs+3−9
Stackage/InstallInfo.hs+10−3
@@ -4,18 +4,19 @@ module Stackage.InstallInfo
44 , bpPackageList
55 ) where
66
7−import Control.Monad (forM_)
7+import Control.Monad (forM_, unless)
88import qualified Data.Map as Map
99import qualified Data.Set as Set
1010import Data.Version (showVersion)
1111import qualified Distribution.Text
1212import Distribution.Version (simplifyVersionRange, withinRange)
13+import Stackage.GhcPkg
1314import Stackage.HaskellPlatform
1415import Stackage.LoadDatabase
1516import Stackage.NarrowDatabase
1617import Stackage.Types
1718import Stackage.Util
18−import Stackage.GhcPkg
19+import System.Exit (exitFailure)
1920
2021dropExcluded :: SelectSettings
2122 -> Map PackageName (VersionRange, Maintainer)
@@ -42,17 +43,23 @@ getInstallInfo settings = do
4243 | requireHaskellPlatform settings = Map.union (stablePackages settings) $ identsToRanges (hplibs hp)
4344 | otherwise = stablePackages settings
4445 allPackages = dropExcluded settings allPackages'
46+ mapM_ print $ Map.keys allPackages
4547 let totalCore = extraCore settings `Set.union` Set.map (\(PackageIdentifier p _) -> p) core
4648
4749 putStrLn "Loading package database"
4850 pdb <- loadPackageDB settings coreMap totalCore allPackages
4951
5052 putStrLn "Narrowing package database"
51− final <- narrowPackageDB settings totalCore pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
53+ (final, errs) <- narrowPackageDB settings totalCore pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
5254
5355 putStrLn "Printing build plan to build-plan.log"
5456 writeFile "build-plan.log" $ unlines $ map showDep $ Map.toList final
5557
58+ unless (Set.null errs) $ do
59+ putStrLn "Build plan requires some disallowed packages"
60+ mapM_ putStrLn $ Set.toList errs
61+ exitFailure
62+
5663 putStrLn "Checking for bad versions"
5764 case checkBadVersions settings coreMap pdb final of
5865 badVersions
Stackage/NarrowDatabase.hs+3−9
@@ -14,15 +14,9 @@ narrowPackageDB :: SelectSettings
1414 -> Set PackageName -- ^ core packages to be excluded from installation
1515 -> PackageDB
1616 -> Set (PackageName, Maintainer)
17− -> IO (Map PackageName BuildInfo)
18−narrowPackageDB settings core (PackageDB pdb) packageSet = do
19− (res, errs) <- runWriterT $ loop Map.empty $ Set.map (\(name, maintainer) -> ([], name, maintainer)) packageSet
20− if Set.null errs
21− then return res
22− else do
23− putStrLn "Build plan requires some disallowed packages"
24− mapM_ putStrLn $ Set.toList errs
25− exitFailure
17+ -> IO (Map PackageName BuildInfo, Set String)
18+narrowPackageDB settings core (PackageDB pdb) packageSet =
19+ runWriterT $ loop Map.empty $ Set.map (\(name, maintainer) -> ([], name, maintainer)) packageSet
2620 where
2721 loop result toProcess =
2822 case Set.minView toProcess of