on master help sign in
Generate Hackage maps #38
commit8e8631641a68008acca882b61648391ffb8959e5 authorMichael Snoyman <michael@snoyman.com> dateMon 2 Sep 2013, 11:08 (13 years ago) parentaaca23e
2 files changed+8
.gitignore+1 Stackage/InstallInfo.hs+7
.gitignore+1
@@ -14,3 +14,4 @@ cabal-dev
1414/build-tools.log
1515/logs-tools/
1616build-plan.txt
17+hackage-map.txt
Stackage/InstallInfo.hs+7
@@ -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