Distribution.Types.PackageDescription.Lens

Cabal-syntax-3.12.0.0: A library for working with .cabal files

Safe Haskell | None
Language | Haskell2010

Distribution.Types.PackageDescription.Lens

Synopsis

- data PackageDescription
- componentBuildInfo :: ComponentName -> Traversal' PackageDescription BuildInfo
- allLibraries :: Traversal' PackageDescription Library
- package :: Lens' PackageDescription PackageIdentifier
- copyright :: Lens' PackageDescription ShortText
- maintainer :: Lens' PackageDescription ShortText
- author :: Lens' PackageDescription ShortText
- stability :: Lens' PackageDescription ShortText
- homepage :: Lens' PackageDescription ShortText
- pkgUrl :: Lens' PackageDescription ShortText
- synopsis :: Lens' PackageDescription ShortText
- description :: Lens' PackageDescription ShortText
- category :: Lens' PackageDescription ShortText
- dataDir :: Lens' PackageDescription FilePath
- specVersion :: Lens' PackageDescription CabalSpecVersion
- licenseRaw :: Lens' PackageDescription (Either License License)
- licenseFiles :: Lens' PackageDescription [SymbolicPath PackageDir LicenseFile]
- testedWith :: Lens' PackageDescription [(CompilerFlavor, VersionRange)]
- bugReports :: Lens' PackageDescription ShortText
- sourceRepos :: Lens' PackageDescription [SourceRepo]
- customFieldsPD :: Lens' PackageDescription [(String, String)]
- buildTypeRaw :: Lens' PackageDescription (Maybe BuildType)
- setupBuildInfo :: Lens' PackageDescription (Maybe SetupBuildInfo)
- library :: Lens' PackageDescription (Maybe Library)
- subLibraries :: Lens' PackageDescription [Library]
- executables :: Lens' PackageDescription [Executable]
- foreignLibs :: Lens' PackageDescription [ForeignLib]
- testSuites :: Lens' PackageDescription [TestSuite]
- benchmarks :: Lens' PackageDescription [Benchmark]
- dataFiles :: Lens' PackageDescription [FilePath]
- extraSrcFiles :: Lens' PackageDescription [String]
- extraTmpFiles :: Lens' PackageDescription [String]
- extraDocFiles :: Lens' PackageDescription [String]
- componentModules :: Monoid r => ComponentName -> Getting r PackageDescription [ModuleName]

# Documentation

data PackageDescription Source #

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.

#### Instances

Instances details

Package PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods packageId :: PackageDescription -> PackageIdentifier Source #
HasBuildInfos PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods traverseBuildInfos :: Traversal' PackageDescription BuildInfo Source #
Structured PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods structure :: Proxy PackageDescription -> Structure Source # structureHash' :: Tagged PackageDescription MD5
Binary PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods put :: PackageDescription -> Put Source # get :: Get PackageDescription Source # putList :: [PackageDescription] -> Put Source #
NFData PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods rnf :: PackageDescription -> () Source #
Data PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageDescription -> c PackageDescription # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageDescription # toConstr :: PackageDescription -> Constr # dataTypeOf :: PackageDescription -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageDescription) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageDescription) # gmapT :: (forall b. Data b => b -> b) -> PackageDescription -> PackageDescription # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageDescription -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageDescription -> r # gmapQ :: (forall d. Data d => d -> u) -> PackageDescription -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageDescription -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageDescription -> m PackageDescription # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageDescription -> m PackageDescription # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageDescription -> m PackageDescription #
Generic PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Associated Types
type Rep PackageDescription |
Instance details Defined in Distribution.Types.PackageDescription type Rep PackageDescription = D1 ('MetaData "PackageDescription" "Distribution.Types.PackageDescription" "Cabal-syntax-3.12.0.0-d5d4" '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 [SymbolicPath PackageDir LicenseFile]) :*: 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 [FilePath]))) :*: ((S1 ('MetaSel ('Just "dataDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: S1 ('MetaSel ('Just "extraSrcFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "extraTmpFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "extraDocFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])))))))
Methods from :: PackageDescription -> Rep PackageDescription x # to :: Rep PackageDescription x -> PackageDescription #
Read PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods readsPrec :: Int -> ReadS PackageDescription # readList :: ReadS [PackageDescription] # readPrec :: ReadPrec PackageDescription # readListPrec :: ReadPrec [PackageDescription] #
Show PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods showsPrec :: Int -> PackageDescription -> ShowS # show :: PackageDescription -> String # showList :: [PackageDescription] -> ShowS #
Eq PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods (==) :: PackageDescription -> PackageDescription -> Bool # (/=) :: PackageDescription -> PackageDescription -> Bool #
Ord PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription Methods compare :: PackageDescription -> PackageDescription -> Ordering # (<) :: PackageDescription -> PackageDescription -> Bool # (<=) :: PackageDescription -> PackageDescription -> Bool # (>) :: PackageDescription -> PackageDescription -> Bool # (>=) :: PackageDescription -> PackageDescription -> Bool # max :: PackageDescription -> PackageDescription -> PackageDescription # min :: PackageDescription -> PackageDescription -> PackageDescription #
type Rep PackageDescription Source # |
Instance details Defined in Distribution.Types.PackageDescription type Rep PackageDescription = D1 ('MetaData "PackageDescription" "Distribution.Types.PackageDescription" "Cabal-syntax-3.12.0.0-d5d4" '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 [SymbolicPath PackageDir LicenseFile]) :*: 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 [FilePath]))) :*: ((S1 ('MetaSel ('Just "dataDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: S1 ('MetaSel ('Just "extraSrcFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "extraTmpFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "extraDocFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])))))))

componentBuildInfo :: ComponentName -> Traversal' PackageDescription BuildInfo Source #

Since: Cabal-syntax-2.4

allLibraries :: Traversal' PackageDescription Library Source #

Since: Cabal-syntax-3.0.0.0

package :: Lens' PackageDescription PackageIdentifier Source #

copyright :: Lens' PackageDescription ShortText Source #

maintainer :: Lens' PackageDescription ShortText Source #

author :: Lens' PackageDescription ShortText Source #

stability :: Lens' PackageDescription ShortText Source #

homepage :: Lens' PackageDescription ShortText Source #

pkgUrl :: Lens' PackageDescription ShortText Source #

synopsis :: Lens' PackageDescription ShortText Source #

description :: Lens' PackageDescription ShortText Source #

category :: Lens' PackageDescription ShortText Source #

dataDir :: Lens' PackageDescription FilePath Source #

specVersion :: Lens' PackageDescription CabalSpecVersion Source #

licenseRaw :: Lens' PackageDescription (Either License License) Source #

licenseFiles :: Lens' PackageDescription [SymbolicPath PackageDir LicenseFile] Source #

testedWith :: Lens' PackageDescription [(CompilerFlavor, VersionRange)] Source #

bugReports :: Lens' PackageDescription ShortText Source #

sourceRepos :: Lens' PackageDescription [SourceRepo] Source #

customFieldsPD :: Lens' PackageDescription [(String, String)] Source #

buildTypeRaw :: Lens' PackageDescription (Maybe BuildType) Source #

setupBuildInfo :: Lens' PackageDescription (Maybe SetupBuildInfo) Source #

library :: Lens' PackageDescription (Maybe Library) Source #

subLibraries :: Lens' PackageDescription [Library] Source #

executables :: Lens' PackageDescription [Executable] Source #

foreignLibs :: Lens' PackageDescription [ForeignLib] Source #

testSuites :: Lens' PackageDescription [TestSuite] Source #

benchmarks :: Lens' PackageDescription [Benchmark] Source #

dataFiles :: Lens' PackageDescription [FilePath] Source #

extraSrcFiles :: Lens' PackageDescription [String] Source #

extraTmpFiles :: Lens' PackageDescription [String] Source #

extraDocFiles :: Lens' PackageDescription [String] Source #

componentModules :: Monoid r => ComponentName -> Getting r PackageDescription [ModuleName] Source #

Since: Cabal-syntax-2.4