| Cabal-1.6.0.3: A framework for packaging Haskell software | Source code | Contents | Index

Distribution.InstalledPackageInfo

Portability | portable
Maintainer | libraries@haskell.org

Description

This is the information about an installed package that is communicated to the `ghc-pkg` program in order to register a package. `ghc-pkg` now consumes this package format (as of version 6.4). This is specific to GHC at the moment.

The `.cabal` file format is for describing a package that is not yet installed. It has a lot of flexibility, like conditionals and dependency ranges. As such, that format is not at all suitable for describing a package that has already been built and installed. By the time we get to that stage, we have resolved all conditionals and resolved dependency version constraints to exact versions of dependent packages. So, this module defines the `InstalledPackageInfo` data structure that contains all the info we keep about an installed package. There is a parser and pretty printer. The textual format is rather simpler than the `.cabal` format: there are no sections, for example.

Documentation

data InstalledPackageInfo_ m | Source

Constructors

InstalledPackageInfo |

package :: PackageIdentifier |
license :: License |
copyright :: String |
maintainer :: String |
author :: String |
stability :: String |
homepage :: String |
pkgUrl :: String |
description :: String |
category :: String |
exposed :: Bool |
exposedModules :: [m] |
hiddenModules :: [m] |
importDirs :: [FilePath] |
libraryDirs :: [FilePath] |
hsLibraries :: [String] |
extraLibraries :: [String] |
extraGHCiLibraries :: [String] |
includeDirs :: [FilePath] |
includes :: [String] |
depends :: [PackageIdentifier] |
hugsOptions :: [String] |
ccOptions :: [String] |
ldOptions :: [String] |
frameworkDirs :: [FilePath] |
frameworks :: [String] |
haddockInterfaces :: [FilePath] |
haddockHTMLs :: [FilePath] |

Instances

Read m => Read (InstalledPackageInfo_ m)
Show m => Show (InstalledPackageInfo_ m)
PackageFixedDeps (InstalledPackageInfo_ str)
Package (InstalledPackageInfo_ str)

type InstalledPackageInfo = InstalledPackageInfo_ ModuleName | Source

data ParseResult a | Source

Constructors

ParseFailed PError |
ParseOk [PWarning] a |

Instances

Monad ParseResult
Show a => Show (ParseResult a)

data PError | Source

Constructors

AmbigousParse String LineNo |
NoParse String LineNo |
TabsError LineNo |
FromString String (Maybe LineNo) |

Instances

Show PError

data PWarning | Source

Instances

Show PWarning

emptyInstalledPackageInfo :: InstalledPackageInfo_ m | Source

parseInstalledPackageInfo :: String -> ParseResult InstalledPackageInfo | Source

showInstalledPackageInfo :: InstalledPackageInfo -> String | Source

showInstalledPackageInfoField :: String -> Maybe (InstalledPackageInfo -> String) | Source

Produced by Haddock version 2.4.2