@@ -3,7 +3,6 @@ module Stackage.InstallInfo
3 , iiPackageList
3 , iiPackageList
6−import Control.Monad (when)
7import qualified Data.Map as Map
6import qualified Data.Map as Map
8import qualified Data.Set as Set
7import qualified Data.Set as Set
9import Stackage.Config
8import Stackage.Config
@@ -20,24 +19,26 @@ getInstallInfo = do
20 let allPackages = Map.union stablePackages $ identsToRanges (hplibs hp)
19 let allPackages = Map.union stablePackages $ identsToRanges (hplibs hp)
21 let totalCore = extraCore `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
20 let totalCore = extraCore `Set.union` Set.map (\(PackageIdentifier p _) -> p) (hpcore hp)
22 pdb <- loadPackageDB totalCore allPackages
21 pdb <- loadPackageDB totalCore allPackages
23− final <- narrowPackageDB pdb $ Set.fromList $ Map.keys allPackages
22+ final <- narrowPackageDB pdb $ Set.fromList $ Map.toList $ Map.map snd $ allPackages
25− when verbose $ do
24+ putStrLn "Printing build plan to build-plan.log"
26− putStrLn "Basic dependency listing:"
27− mapM_ (putStrLn . showDep) $ Map.toList final
25+ writeFile "build-plan.log" $ unlines $ map showDep $ Map.toList final
28 return InstallInfo
26 return InstallInfo
29 { iiCore = totalCore
27 { iiCore = totalCore
30− , iiPackages = Map.map fst final
28+ , iiPackages = Map.map (\(v, _, m) -> (v, m)) final
31 , iiOptionalCore = Map.fromList $ map (\(PackageIdentifier p v) -> (p, v)) $ Set.toList $ hplibs hp
29 , iiOptionalCore = Map.fromList $ map (\(PackageIdentifier p v) -> (p, v)) $ Set.toList $ hplibs hp
32 , iiPackageDB = pdb
30 , iiPackageDB = pdb
35−showDep :: (PackageName, (Version, [PackageName])) -> String
33+showDep :: (PackageName, (Version, [PackageName], Maintainer)) -> String
36−showDep (name, (version, deps)) =
34+showDep (name, (version, deps, Maintainer m)) =
38 [ unP name
36 [ unP name
40 , showVersion version
38 , showVersion version
42 , unwords $ map unP deps
43 , unwords $ map unP deps
@@ -45,4 +46,4 @@ showDep (name, (version, deps)) =
45 unP (PackageName p) = p
46 unP (PackageName p) = p
47iiPackageList :: InstallInfo -> [String]
48iiPackageList :: InstallInfo -> [String]
48−iiPackageList = map packageVersionString . Map.toList . iiPackages
49+iiPackageList = map packageVersionString . Map.toList . Map.map fst . iiPackages