From 8e8631641a68008acca882b61648391ffb8959e5 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 2 Sep 2013 11:08:58 +0300 Subject: [PATCH] Generate Hackage maps #38 --- .gitignore | 1 + Stackage/InstallInfo.hs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index cbf7c29b..7f0ef6f5 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ cabal-dev /build-tools.log /logs-tools/ build-plan.txt +hackage-map.txt diff --git a/Stackage/InstallInfo.hs b/Stackage/InstallInfo.hs index b0be6fad..b5a5c432 100644 --- a/Stackage/InstallInfo.hs +++ b/Stackage/InstallInfo.hs @@ -56,6 +56,7 @@ getInstallInfo settings = do putStrLn "Printing build plan to build-plan.log" System.IO.UTF8.writeFile "build-plan.log" $ unlines $ map showDep $ Map.toList final + System.IO.UTF8.writeFile "hackage-map.txt" $ unlines $ map showHackageMap $ Map.toList final unless (Set.null errs) $ do putStrLn "Build plan requires some disallowed packages" @@ -116,6 +117,12 @@ showDep (PackageName name, BuildInfo {..}) = where unP (PackageName p) = p +-- | Convert to format used by Hackage for displaying distribution versions. +-- For more info, see https://github.com/fpco/stackage/issues/38. +showHackageMap :: (PackageName, BuildInfo) -> String +showHackageMap (PackageName name, BuildInfo {..}) = + show (name, showVersion biVersion, Nothing :: Maybe String) + bpPackageList :: BuildPlan -> [String] bpPackageList = map packageVersionString . Map.toList . Map.map spiVersion . bpPackages