hackage-db-1.22: access Hackage's package database via Data.Map

LicenseBSD3
Maintainersimons@cryp.to
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Distribution.Hackage.DB.Parsed

Description

This module provides simple access to the Hackage database by means of Map.

Synopsis

Documentation

type Hackage = Map String (Map Version GenericPackageDescription) Source

A Map representation of the Hackage database. Every package name maps to a non-empty set of version, and for every version there is a parsed Cabal file.

readHackage :: IO Hackage Source

Read the Hackage database from the location determined by hackagePath and return a Map that provides fast access to its contents.

readHackage' :: FilePath -> IO Hackage Source

Read the Hackage database from the given FilePath and return a Hackage map that provides fast access to its contents.

parseHackage :: ByteString -> Hackage Source

Parse the contents of Hackage's 00-index.tar into a Hackage map.

parseUnparsedHackage :: Hackage -> Hackage Source

Convert an Hackage map into a parsed Hackage map.

parsePackage :: String -> Version -> ByteString -> GenericPackageDescription Source

Convenience wrapper around parsePackage' to parse a single Cabal file. Failure is reported with error.