This data type is the internal representation of the file pkg.cabal.
It contains two kinds of information about the package: information
which is needed for all packages, such as the package name and version, and
information which is needed for the simple build system only, such as
the compiler options and library name.
Constructors
PackageDescriptionspecVersion :: CabalSpecVersionThe version of the Cabal spec that this package description uses.
package :: PackageIdentifierlicenseRaw :: Either License LicenselicenseFiles :: [RelativePath Pkg 'File]copyright :: !ShortTextmaintainer :: !ShortTextstability :: !ShortTexttestedWith :: [(CompilerFlavor, VersionRange)]homepage :: !ShortTextpkgUrl :: !ShortTextbugReports :: !ShortTextsourceRepos :: [SourceRepo]synopsis :: !ShortTextA one-line summary of this package
description :: !ShortTextA more verbose description of this package
category :: !ShortTextcustomFieldsPD :: [(String, String)]Custom fields starting with x-, stored in a simple assoc-list.
buildTypeRaw :: Maybe BuildTypeThe original
build-typevalue as parsed from the.cabalfile without defaulting. See also buildType.setupBuildInfo :: Maybe SetupBuildInfolibrary :: Maybe LibrarysubLibraries :: [Library]executables :: [Executable]foreignLibs :: [ForeignLib]testSuites :: [TestSuite]benchmarks :: [Benchmark]dataFiles :: [RelativePath DataDir 'File]data file globs, relative to data directory
dataDir :: SymbolicPath Pkg ('Dir DataDir)data directory (may be absolute, or relative to package)
extraSrcFiles :: [RelativePath Pkg 'File]extraTmpFiles :: [RelativePath Pkg 'File]extraDocFiles :: [RelativePath Pkg 'File]extraFiles :: [RelativePath Pkg 'File]
Instances12Eq, Data, Ord, Read, Show, Generic, …
Eq PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionData PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionOrd PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionRead PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionShow PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionGeneric PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionNFData PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionBinary PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionStructured PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionPackage PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptionHasBuildInfos PackageDescriptionDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescriptiontype Rep PackageDescription = D1 ('MetaDataDefined in Cabal-syntax-3.18.1.0 · Distribution.Types.PackageDescription"PackageDescription"
"Distribution.Types.PackageDescription"
"Cabal-syntax-3.18.1.0-a008"
'False) (C1 ('MetaCons"PackageDescription"
'PrefixI 'True) ((((S1 ('MetaSel ('Just"specVersion"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CabalSpecVersion) :*: (S1 ('MetaSel ('Just"package"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageIdentifier) :*: S1 ('MetaSel ('Just"licenseRaw"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either License License)))) :*: ((S1 ('MetaSel ('Just"licenseFiles"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelativePath Pkg 'File]) :*: S1 ('MetaSel ('Just"copyright"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText)) :*: (S1 ('MetaSel ('Just"maintainer"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText) :*: S1 ('MetaSel ('Just"author"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText)))) :*: (((S1 ('MetaSel ('Just"stability"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText) :*: S1 ('MetaSel ('Just"testedWith"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(CompilerFlavor, VersionRange)])) :*: (S1 ('MetaSel ('Just"homepage"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText) :*: S1 ('MetaSel ('Just"pkgUrl"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText))) :*: ((S1 ('MetaSel ('Just"bugReports"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText) :*: S1 ('MetaSel ('Just"sourceRepos"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SourceRepo])) :*: (S1 ('MetaSel ('Just"synopsis"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText) :*: S1 ('MetaSel ('Just"description"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText))))) :*: ((((S1 ('MetaSel ('Just"category"
) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ShortText) :*: S1 ('MetaSel ('Just"customFieldsPD"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, String)])) :*: (S1 ('MetaSel ('Just"buildTypeRaw"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BuildType)) :*: S1 ('MetaSel ('Just"setupBuildInfo"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SetupBuildInfo)))) :*: ((S1 ('MetaSel ('Just"library"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Library)) :*: S1 ('MetaSel ('Just"subLibraries"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Library])) :*: (S1 ('MetaSel ('Just"executables"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Executable]) :*: S1 ('MetaSel ('Just"foreignLibs"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ForeignLib])))) :*: (((S1 ('MetaSel ('Just"testSuites"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TestSuite]) :*: S1 ('MetaSel ('Just"benchmarks"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Benchmark])) :*: (S1 ('MetaSel ('Just"dataFiles"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelativePath DataDir 'File]) :*: S1 ('MetaSel ('Just"dataDir"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SymbolicPath Pkg ('Dir DataDir))))) :*: ((S1 ('MetaSel ('Just"extraSrcFiles"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelativePath Pkg 'File]) :*: S1 ('MetaSel ('Just"extraTmpFiles"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelativePath Pkg 'File])) :*: (S1 ('MetaSel ('Just"extraDocFiles"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelativePath Pkg 'File]) :*: S1 ('MetaSel ('Just"extraFiles"
) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelativePath Pkg 'File])))))))