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

LicenseBSD3
Maintainersimons@cryp.to
Stabilityprovisional
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Distribution.Hackage.DB

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.

hackagePath :: IO FilePath Source

Determine the default path of the Hackage database, which typically resides at "$HOME/.cabal/packages/hackage.haskell.org/00-index.tar". Running the command "cabal update" will keep that file up-to-date.

module Data.Map