@@ -56,6 +56,7 @@ getInstallInfo settings = do
5656
5757 putStrLn "Printing build plan to build-plan.log"
5858 System.IO.UTF8.writeFile "build-plan.log" $ unlines $ map showDep $ Map.toList final
59+ System.IO.UTF8.writeFile "hackage-map.txt" $ unlines $ map showHackageMap $ Map.toList final
5960
6061 unless (Set.null errs) $ do
6162 putStrLn "Build plan requires some disallowed packages"
@@ -116,6 +117,12 @@ showDep (PackageName name, BuildInfo {..}) =
116117 where
117118 unP (PackageName p) = p
118119
120+-- | Convert to format used by Hackage for displaying distribution versions.
121+-- For more info, see https://github.com/fpco/stackage/issues/38.
122+showHackageMap :: (PackageName, BuildInfo) -> String
123+showHackageMap (PackageName name, BuildInfo {..}) =
124+ show (name, showVersion biVersion, Nothing :: Maybe String)
125+
119126bpPackageList :: BuildPlan -> [String]
120127bpPackageList = map packageVersionString . Map.toList . Map.map spiVersion . bpPackages
121128