hackage-db-2.0: example/show-meta-data.hs
module Main ( main ) where
import Distribution.Hackage.DB.Path
import Distribution.Hackage.DB.Unparsed
import Distribution.Hackage.DB.Utility
import Control.Monad
import Data.ByteString.Lazy.UTF8 as BS
import Data.Map as Map
import Distribution.Package
import System.Environment
main :: IO ()
main = do
packageIds <- getArgs
db <- hackageTarball >>= readTarball Nothing
forM_ packageIds $ \pid -> do
let PackageIdentifier pn v = parseText "PackageIdentifier" pid
putStrLn $ maybe ("*** unknown package identifier on Hackage: " ++ show pid)
(toString . metaFile)
(Map.lookup pn db >>= Map.lookup v . versions)