Distribution.Types.InstalledPackageInfo

Cabal-2.5.0.0: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.InstalledPackageInfo

Synopsis

- data InstalledPackageInfo = InstalledPackageInfo {
  - sourcePackageId :: PackageId
  - sourceLibName :: LibraryName
  - installedComponentId_ :: ComponentId
  - installedUnitId :: UnitId
  - instantiatedWith :: [(ModuleName, OpenModule)]
  - compatPackageKey :: String
  - license :: Either License License
  - copyright :: String
  - maintainer :: String
  - author :: String
  - stability :: String
  - homepage :: String
  - pkgUrl :: String
  - synopsis :: String
  - description :: String
  - category :: String
  - abiHash :: AbiHash
  - indefinite :: Bool
  - exposed :: Bool
  - exposedModules :: [ExposedModule]
  - hiddenModules :: [ModuleName]
  - trusted :: Bool
  - importDirs :: [FilePath]
  - libraryDirs :: [FilePath]
  - libraryDynDirs :: [FilePath]
  - dataDir :: FilePath
  - hsLibraries :: [String]
  - extraLibraries :: [String]
  - extraGHCiLibraries :: [String]
  - includeDirs :: [FilePath]
  - includes :: [String]
  - depends :: [UnitId]
  - abiDepends :: [AbiDependency]
  - ccOptions :: [String]
  - cxxOptions :: [String]
  - ldOptions :: [String]
  - frameworkDirs :: [FilePath]
  - frameworks :: [String]
  - haddockInterfaces :: [FilePath]
  - haddockHTMLs :: [FilePath]
  - pkgRoot :: Maybe FilePath
  - libVisibility :: LibraryVisibility
  }
- emptyInstalledPackageInfo :: InstalledPackageInfo
- mungedPackageId :: InstalledPackageInfo -> MungedPackageId
- mungedPackageName :: InstalledPackageInfo -> MungedPackageName
- data AbiDependency = AbiDependency {
  - depUnitId :: UnitId
  - depAbiHash :: AbiHash
  }
- data ExposedModule = ExposedModule {
  - exposedName :: ModuleName
  - exposedReexport :: Maybe OpenModule
  }

# Documentation

data InstalledPackageInfo Source #

Constructors

InstalledPackageInfo |
Fields sourcePackageId :: PackageId sourceLibName :: LibraryName installedComponentId_ :: ComponentId installedUnitId :: UnitId instantiatedWith :: [(ModuleName, OpenModule)] compatPackageKey :: String license :: Either License License copyright :: String maintainer :: String author :: String stability :: String homepage :: String pkgUrl :: String synopsis :: String description :: String category :: String abiHash :: AbiHash indefinite :: Bool exposed :: Bool exposedModules :: [ExposedModule] hiddenModules :: [ModuleName] trusted :: Bool importDirs :: [FilePath] libraryDirs :: [FilePath] libraryDynDirs :: [FilePath] overrides `libraryDirs` dataDir :: FilePath hsLibraries :: [String] extraLibraries :: [String] extraGHCiLibraries :: [String] includeDirs :: [FilePath] includes :: [String] depends :: [UnitId] abiDepends :: [AbiDependency] ccOptions :: [String] cxxOptions :: [String] ldOptions :: [String] frameworkDirs :: [FilePath] frameworks :: [String] haddockInterfaces :: [FilePath] haddockHTMLs :: [FilePath] pkgRoot :: Maybe FilePath libVisibility :: LibraryVisibility

#### Instances

Instances details

Eq InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods (==) :: InstalledPackageInfo -> InstalledPackageInfo -> Bool # (/=) :: InstalledPackageInfo -> InstalledPackageInfo -> Bool #
Read InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods readsPrec :: Int -> ReadS InstalledPackageInfo Source # readList :: ReadS [InstalledPackageInfo] Source # readPrec :: ReadPrec InstalledPackageInfo Source # readListPrec :: ReadPrec [InstalledPackageInfo] Source #
Show InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods showsPrec :: Int -> InstalledPackageInfo -> ShowS Source # show :: InstalledPackageInfo -> String Source # showList :: [InstalledPackageInfo] -> ShowS Source #
Generic InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Associated Types type Rep InstalledPackageInfo :: Type -> Type Source # Methods from :: InstalledPackageInfo -> Rep InstalledPackageInfo x Source # to :: Rep InstalledPackageInfo x -> InstalledPackageInfo Source #
Binary InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods put :: InstalledPackageInfo -> Put Source # get :: Get InstalledPackageInfo Source # putList :: [InstalledPackageInfo] -> Put Source #
NFData InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods rnf :: InstalledPackageInfo -> () Source #
IsNode InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Associated Types type Key InstalledPackageInfo Source # Methods nodeKey :: InstalledPackageInfo -> Key InstalledPackageInfo Source # nodeNeighbors :: InstalledPackageInfo -> [Key InstalledPackageInfo] Source #
PackageInstalled InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods installedDepends :: InstalledPackageInfo -> [UnitId] Source #
HasUnitId InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods installedUnitId :: InstalledPackageInfo -> UnitId Source #
HasMungedPackageId InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods mungedId :: InstalledPackageInfo -> MungedPackageId Source #
Package InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo Methods packageId :: InstalledPackageInfo -> PackageIdentifier Source #
Semigroup (PackageIndex InstalledPackageInfo) # |
Instance details Defined in Distribution.Simple.PackageIndex Methods (<>) :: PackageIndex InstalledPackageInfo -> PackageIndex InstalledPackageInfo -> PackageIndex InstalledPackageInfo Source # sconcat :: NonEmpty (PackageIndex InstalledPackageInfo) -> PackageIndex InstalledPackageInfo Source # stimes :: Integral b => b -> PackageIndex InstalledPackageInfo -> PackageIndex InstalledPackageInfo Source #
Monoid (PackageIndex InstalledPackageInfo) # |
Instance details Defined in Distribution.Simple.PackageIndex Methods mempty :: PackageIndex InstalledPackageInfo Source # mappend :: PackageIndex InstalledPackageInfo -> PackageIndex InstalledPackageInfo -> PackageIndex InstalledPackageInfo Source # mconcat :: [PackageIndex InstalledPackageInfo] -> PackageIndex InstalledPackageInfo Source #
type Rep InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo type Rep InstalledPackageInfo = D1 ('MetaData "InstalledPackageInfo" "Distribution.Types.InstalledPackageInfo" "Cabal-2.5.0.0" 'False) (C1 ('MetaCons "InstalledPackageInfo" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "sourcePackageId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageId) :*: S1 ('MetaSel ('Just "sourceLibName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibraryName)) :*: (S1 ('MetaSel ('Just "installedComponentId_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ComponentId) :*: (S1 ('MetaSel ('Just "installedUnitId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitId) :*: S1 ('MetaSel ('Just "instantiatedWith") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(ModuleName, OpenModule)])))) :*: ((S1 ('MetaSel ('Just "compatPackageKey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "license") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either License License))) :*: (S1 ('MetaSel ('Just "copyright") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "maintainer") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "author") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))) :*: (((S1 ('MetaSel ('Just "stability") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "homepage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Just "pkgUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "synopsis") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)))) :*: ((S1 ('MetaSel ('Just "category") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "abiHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbiHash) :*: S1 ('MetaSel ('Just "indefinite") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "exposed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "exposedModules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ExposedModule]) :*: S1 ('MetaSel ('Just "hiddenModules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ModuleName])))))) :*: ((((S1 ('MetaSel ('Just "trusted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "importDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "libraryDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: (S1 ('MetaSel ('Just "libraryDynDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "dataDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)))) :*: ((S1 ('MetaSel ('Just "hsLibraries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "extraLibraries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "extraGHCiLibraries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "includeDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "includes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]))))) :*: (((S1 ('MetaSel ('Just "depends") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [UnitId]) :*: S1 ('MetaSel ('Just "abiDepends") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [AbiDependency])) :*: (S1 ('MetaSel ('Just "ccOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "cxxOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "ldOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))) :*: ((S1 ('MetaSel ('Just "frameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: (S1 ('MetaSel ('Just "frameworks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "haddockInterfaces") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]))) :*: (S1 ('MetaSel ('Just "haddockHTMLs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: (S1 ('MetaSel ('Just "pkgRoot") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FilePath)) :*: S1 ('MetaSel ('Just "libVisibility") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LibraryVisibility))))))))
type Key InstalledPackageInfo # |
Instance details Defined in Distribution.Types.InstalledPackageInfo type Key InstalledPackageInfo = UnitId

emptyInstalledPackageInfo :: InstalledPackageInfo Source #

mungedPackageId :: InstalledPackageInfo -> MungedPackageId Source #

mungedPackageName :: InstalledPackageInfo -> MungedPackageName Source #

Returns the munged package name, which we write into `name` for compatibility with old versions of GHC.

data AbiDependency Source #

An ABI dependency is a dependency on a library which also records the ABI hash (`abiHash`) of the library it depends on.

The primary utility of this is to enable an extra sanity when GHC loads libraries: it can check if the dependency has a matching ABI and if not, refuse to load this library. This information is critical if we are shadowing libraries; differences in the ABI hash let us know what packages get shadowed by the new version of a package.

Constructors

AbiDependency |
Fields depUnitId :: UnitId depAbiHash :: AbiHash

#### Instances

Instances details

Eq AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods (==) :: AbiDependency -> AbiDependency -> Bool # (/=) :: AbiDependency -> AbiDependency -> Bool #
Read AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods readsPrec :: Int -> ReadS AbiDependency Source # readList :: ReadS [AbiDependency] Source # readPrec :: ReadPrec AbiDependency Source # readListPrec :: ReadPrec [AbiDependency] Source #
Show AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods showsPrec :: Int -> AbiDependency -> ShowS Source # show :: AbiDependency -> String Source # showList :: [AbiDependency] -> ShowS Source #
Generic AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Associated Types type Rep AbiDependency :: Type -> Type Source # Methods from :: AbiDependency -> Rep AbiDependency x Source # to :: Rep AbiDependency x -> AbiDependency Source #
Binary AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods put :: AbiDependency -> Put Source # get :: Get AbiDependency Source # putList :: [AbiDependency] -> Put Source #
NFData AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods rnf :: AbiDependency -> () Source #
Pretty AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods pretty :: AbiDependency -> Doc Source #
Parsec AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency Methods parsec :: CabalParsing m => m AbiDependency Source #
type Rep AbiDependency # |
Instance details Defined in Distribution.Types.AbiDependency type Rep AbiDependency = D1 ('MetaData "AbiDependency" "Distribution.Types.AbiDependency" "Cabal-2.5.0.0" 'False) (C1 ('MetaCons "AbiDependency" 'PrefixI 'True) (S1 ('MetaSel ('Just "depUnitId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnitId) :*: S1 ('MetaSel ('Just "depAbiHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AbiHash)))

data ExposedModule Source #

Constructors

ExposedModule |
Fields exposedName :: ModuleName exposedReexport :: Maybe OpenModule

#### Instances

Instances details

Eq ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods (==) :: ExposedModule -> ExposedModule -> Bool # (/=) :: ExposedModule -> ExposedModule -> Bool #
Read ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods readsPrec :: Int -> ReadS ExposedModule Source # readList :: ReadS [ExposedModule] Source # readPrec :: ReadPrec ExposedModule Source # readListPrec :: ReadPrec [ExposedModule] Source #
Show ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods showsPrec :: Int -> ExposedModule -> ShowS Source # show :: ExposedModule -> String Source # showList :: [ExposedModule] -> ShowS Source #
Generic ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Associated Types type Rep ExposedModule :: Type -> Type Source # Methods from :: ExposedModule -> Rep ExposedModule x Source # to :: Rep ExposedModule x -> ExposedModule Source #
Binary ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods put :: ExposedModule -> Put Source # get :: Get ExposedModule Source # putList :: [ExposedModule] -> Put Source #
NFData ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods rnf :: ExposedModule -> () Source #
Pretty ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods pretty :: ExposedModule -> Doc Source #
Parsec ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule Methods parsec :: CabalParsing m => m ExposedModule Source #
type Rep ExposedModule # |
Instance details Defined in Distribution.Types.ExposedModule type Rep ExposedModule = D1 ('MetaData "ExposedModule" "Distribution.Types.ExposedModule" "Cabal-2.5.0.0" 'False) (C1 ('MetaCons "ExposedModule" 'PrefixI 'True) (S1 ('MetaSel ('Just "exposedName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModuleName) :*: S1 ('MetaSel ('Just "exposedReexport") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe OpenModule))))