Distribution.Types.PackageDescription.Lens

Cabal-3.2.1.0: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.PackageDescription.Lens

Synopsis

- data PackageDescription
- package :: Lens' PackageDescription PackageIdentifier
- licenseRaw :: Lens' PackageDescription (Either License License)
- licenseFiles :: Lens' PackageDescription [FilePath]
- copyright :: Lens' PackageDescription ShortText
- maintainer :: Lens' PackageDescription ShortText
- author :: Lens' PackageDescription ShortText
- stability :: Lens' PackageDescription ShortText
- testedWith :: Lens' PackageDescription [(CompilerFlavor, VersionRange)]
- homepage :: Lens' PackageDescription ShortText
- pkgUrl :: Lens' PackageDescription ShortText
- bugReports :: Lens' PackageDescription ShortText
- sourceRepos :: Lens' PackageDescription [SourceRepo]
- synopsis :: Lens' PackageDescription ShortText
- description :: Lens' PackageDescription ShortText
- category :: Lens' PackageDescription ShortText
- customFieldsPD :: Lens' PackageDescription [(String, String)]
- specVersionRaw :: Lens' PackageDescription (Either Version VersionRange)
- 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]
- dataDir :: Lens' PackageDescription FilePath
- extraSrcFiles :: Lens' PackageDescription [String]
- extraTmpFiles :: Lens' PackageDescription [String]
- extraDocFiles :: Lens' PackageDescription [String]
- allLibraries :: Traversal' PackageDescription Library
- componentModules :: Monoid r => ComponentName -> Getting r PackageDescription [ModuleName]
- componentBuildInfo :: ComponentName -> Traversal' PackageDescription BuildInfo

# Documentation

data PackageDescription #

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

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

package :: Lens' PackageDescription PackageIdentifier #

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

licenseFiles :: Lens' PackageDescription [FilePath] #

copyright :: Lens' PackageDescription ShortText #

maintainer :: Lens' PackageDescription ShortText #

author :: Lens' PackageDescription ShortText #

stability :: Lens' PackageDescription ShortText #

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

homepage :: Lens' PackageDescription ShortText #

pkgUrl :: Lens' PackageDescription ShortText #

bugReports :: Lens' PackageDescription ShortText #

sourceRepos :: Lens' PackageDescription [SourceRepo] #

synopsis :: Lens' PackageDescription ShortText #

description :: Lens' PackageDescription ShortText #

category :: Lens' PackageDescription ShortText #

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

specVersionRaw :: Lens' PackageDescription (Either Version VersionRange) #

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] #

dataDir :: Lens' PackageDescription FilePath #

extraSrcFiles :: Lens' PackageDescription [String] #

extraTmpFiles :: Lens' PackageDescription [String] #

extraDocFiles :: Lens' PackageDescription [String] #

allLibraries :: Traversal' PackageDescription Library #

Since: Cabal-3.0.0.0

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

Since: Cabal-2.4

componentBuildInfo :: ComponentName -> Traversal' PackageDescription BuildInfo #

Since: Cabal-2.4