Cabal-1.24.0.0: A framework for packaging Haskell software

Portabilityportable
Maintainerlibraries@haskell.org
Safe HaskellNone

Distribution.InstalledPackageInfo

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.

Synopsis

Documentation

data InstalledPackageInfo

Constructors

InstalledPackageInfo 

Fields

sourcePackageId :: PackageId
 
installedUnitId :: UnitId
 
compatPackageKey :: String
 
license :: License
 
copyright :: String
 
maintainer :: String
 
author :: String
 
stability :: String
 
homepage :: String
 
pkgUrl :: String
 
synopsis :: String
 
description :: String
 
category :: String
 
abiHash :: AbiHash
 
exposed :: Bool
 
exposedModules :: [ExposedModule]
 
hiddenModules :: [ModuleName]
 
trusted :: Bool
 
importDirs :: [FilePath]
 
libraryDirs :: [FilePath]
 
dataDir :: FilePath
 
hsLibraries :: [String]
 
extraLibraries :: [String]
 
extraGHCiLibraries :: [String]
 
includeDirs :: [FilePath]
 
includes :: [String]
 
depends :: [UnitId]
 
ccOptions :: [String]
 
ldOptions :: [String]
 
frameworkDirs :: [FilePath]
 
frameworks :: [String]
 
haddockInterfaces :: [FilePath]
 
haddockHTMLs :: [FilePath]
 
pkgRoot :: Maybe FilePath
 

installedPackageId :: InstalledPackageInfo -> UnitId

Deprecated: Use installedUnitId instead

Backwards compatibility with Cabal pre-1.24.

data ParseResult a

Constructors

ParseFailed PError 
ParseOk [PWarning] a 

Instances

Monad ParseResult 
Functor ParseResult 
Applicative ParseResult 
Show a => Show (ParseResult a) 

data PError

Constructors

AmbiguousParse String LineNo 
NoParse String LineNo 
TabsError LineNo 
FromString String (Maybe LineNo) 

Instances

Eq PError 
Show PError 

data PWarning

Instances

Eq PWarning 
Show PWarning