Safe Haskell | None |
---|---|
Language | Haskell2010 |
PackageConfig
Description
Package configuration information: essentially the interface to Cabal, with some utilities
(c) The University of Glasgow, 2004
Synopsis
- packageConfigId :: PackageConfig -> UnitId
- expandedPackageConfigId :: PackageConfig -> UnitId
- definitePackageConfigId :: PackageConfig -> Maybe DefUnitId
- installedPackageConfigId :: PackageConfig -> InstalledUnitId
- type PackageConfig = InstalledPackageInfo ComponentId SourcePackageId PackageName InstalledUnitId UnitId ModuleName Module
- data InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod = InstalledPackageInfo {
- unitId :: instunitid
- componentId :: compid
- instantiatedWith :: [(modulename, mod)]
- sourcePackageId :: srcpkgid
- packageName :: srcpkgname
- packageVersion :: Version
- sourceLibName :: Maybe srcpkgname
- abiHash :: String
- depends :: [instunitid]
- abiDepends :: [(instunitid, String)]
- importDirs :: [FilePath]
- hsLibraries :: [String]
- extraLibraries :: [String]
- extraGHCiLibraries :: [String]
- libraryDirs :: [FilePath]
- libraryDynDirs :: [FilePath]
- frameworks :: [String]
- frameworkDirs :: [FilePath]
- ldOptions :: [String]
- ccOptions :: [String]
- includes :: [String]
- includeDirs :: [FilePath]
- haddockInterfaces :: [FilePath]
- haddockHTMLs :: [FilePath]
- exposedModules :: [(modulename, Maybe mod)]
- hiddenModules :: [modulename]
- indefinite :: Bool
- exposed :: Bool
- trusted :: Bool
- newtype ComponentId = ComponentId FastString
- newtype SourcePackageId = SourcePackageId FastString
- newtype PackageName = PackageName FastString
- data Version = Version {
- versionBranch :: [Int]
- versionTags :: [String]
- defaultPackageConfig :: PackageConfig
- sourcePackageIdString :: PackageConfig -> String
- packageNameString :: PackageConfig -> String
- pprPackageConfig :: PackageConfig -> SDoc
Documentation
Mostly the compiler deals in terms of UnitId
s, which are md5 hashes
of a package ID, keys of its dependencies, and Cabal flags. You're expected
to pass in the unit id in the -this-unit-id
flag. However, for
wired-in packages like base
& rts
, we don't necessarily know what the
version is, so these are handled specially; see .
UnitId
installedPackageConfigId :: PackageConfig -> InstalledUnitId Source #
Get the GHC UnitId
right out of a Cabalish PackageConfig
The PackageConfig type: information about a package
type PackageConfig = InstalledPackageInfo ComponentId SourcePackageId PackageName InstalledUnitId UnitId ModuleName Module Source #
data InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod Source #
This is a subset of Cabal's InstalledPackageInfo
, with just the bits
that GHC is interested in. See Cabal's documentation for a more detailed
description of all of the fields.
Constructors
InstalledPackageInfo | |
Fields
|
Instances
(Eq instunitid, Eq compid, Eq modulename, Eq mod, Eq srcpkgid, Eq srcpkgname) => Eq (InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod) Source # | |
Defined in GHC.PackageDb Methods (==) :: InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> Bool # (/=) :: InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> Bool # | |
(Show instunitid, Show compid, Show modulename, Show mod, Show srcpkgid, Show srcpkgname) => Show (InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod) Source # | |
Defined in GHC.PackageDb Methods showsPrec :: Int -> InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> ShowS # show :: InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> String # showList :: [InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod] -> ShowS # | |
RepInstalledPackageInfo a b c d e f g => Binary (InstalledPackageInfo a b c d e f g) Source # | |
Defined in GHC.PackageDb Methods put :: InstalledPackageInfo a b c d e f g -> Put get :: Get (InstalledPackageInfo a b c d e f g) putList :: [InstalledPackageInfo a b c d e f g] -> Put |
newtype ComponentId Source #
A ComponentId
consists of the package name, package version, component
ID, the transitive dependencies of the component, and other information to
uniquely identify the source code and build configuration of a component.
This used to be known as an InstalledPackageId
, but a package can contain
multiple components and a ComponentId
uniquely identifies a component
within a package. When a package only has one component, the ComponentId
coincides with the InstalledPackageId
Constructors
ComponentId FastString |
Instances
newtype SourcePackageId Source #
Constructors
SourcePackageId FastString |
Instances
Eq SourcePackageId Source # | |
Defined in PackageConfig Methods (==) :: SourcePackageId -> SourcePackageId -> Bool # (/=) :: SourcePackageId -> SourcePackageId -> Bool # | |
Ord SourcePackageId Source # | |
Defined in PackageConfig Methods compare :: SourcePackageId -> SourcePackageId -> Ordering # (<) :: SourcePackageId -> SourcePackageId -> Bool # (<=) :: SourcePackageId -> SourcePackageId -> Bool # (>) :: SourcePackageId -> SourcePackageId -> Bool # (>=) :: SourcePackageId -> SourcePackageId -> Bool # max :: SourcePackageId -> SourcePackageId -> SourcePackageId # min :: SourcePackageId -> SourcePackageId -> SourcePackageId # | |
BinaryStringRep SourcePackageId Source # | |
Defined in PackageConfig Methods fromStringRep :: ByteString -> SourcePackageId Source # toStringRep :: SourcePackageId -> ByteString Source # | |
Outputable SourcePackageId Source # | |
Defined in PackageConfig | |
Uniquable SourcePackageId Source # | |
Defined in PackageConfig Methods getUnique :: SourcePackageId -> Unique Source # |
newtype PackageName Source #
Constructors
PackageName FastString |
Instances
Eq PackageName Source # | |
Defined in PackageConfig | |
Ord PackageName Source # | |
Defined in PackageConfig Methods compare :: PackageName -> PackageName -> Ordering # (<) :: PackageName -> PackageName -> Bool # (<=) :: PackageName -> PackageName -> Bool # (>) :: PackageName -> PackageName -> Bool # (>=) :: PackageName -> PackageName -> Bool # max :: PackageName -> PackageName -> PackageName # min :: PackageName -> PackageName -> PackageName # | |
BinaryStringRep PackageName Source # | |
Defined in PackageConfig Methods fromStringRep :: ByteString -> PackageName Source # toStringRep :: PackageName -> ByteString Source # | |
Outputable PackageName Source # | |
Defined in PackageConfig | |
Uniquable PackageName Source # | |
Defined in PackageConfig Methods getUnique :: PackageName -> Unique Source # |
Constructors
Version | |
Fields
|
Instances
IsList Version | |
Eq Version | |
Data Version | |
Defined in Data.Data Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Version -> c Version gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Version dataTypeOf :: Version -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Version) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Version) gmapT :: (forall b. Data b => b -> b) -> Version -> Version gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r gmapQ :: (forall d. Data d => d -> u) -> Version -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Version -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Version -> m Version gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version | |
Ord Version | |
Read Version | |
Show Version | |
Generic Version | |
Binary Version | |
NFData Version | |
Defined in Control.DeepSeq | |
type Rep Version | |
Defined in Data.Version type Rep Version = D1 (MetaData "Version" "Data.Version" "base" False) (C1 (MetaCons "Version" PrefixI True) (S1 (MetaSel (Just "versionBranch") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Int]) :*: S1 (MetaSel (Just "versionTags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [String]))) | |
type Item Version | |
pprPackageConfig :: PackageConfig -> SDoc Source #