Distribution.Types.GenericPackageDescription.Lens

Cabal-3.2.0.0: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Types.GenericPackageDescription.Lens

Synopsis

- data GenericPackageDescription
- data Flag
- data FlagName
- data ConfVar
  - = OS OS
  - | Arch Arch
  - | Flag FlagName
  - | Impl CompilerFlavor VersionRange
- packageDescription :: Lens' GenericPackageDescription PackageDescription
- genPackageFlags :: Lens' GenericPackageDescription [Flag]
- condLibrary :: Lens' GenericPackageDescription (Maybe (CondTree ConfVar [Dependency] Library))
- condSubLibraries :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]
- condForeignLibs :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)]
- condExecutables :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)]
- condTestSuites :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]
- condBenchmarks :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)]
- allCondTrees :: Applicative f => (forall a. CondTree ConfVar [Dependency] a -> f (CondTree ConfVar [Dependency] a)) -> GenericPackageDescription -> f GenericPackageDescription
- flagName :: Lens' Flag FlagName
- flagDescription :: Lens' Flag String
- flagDefault :: Lens' Flag Bool
- flagManual :: Lens' Flag Bool
- _OS :: Traversal' ConfVar OS
- _Arch :: Traversal' ConfVar Arch
- _Flag :: Traversal' ConfVar FlagName
- _Impl :: Traversal' ConfVar (CompilerFlavor, VersionRange)

# Documentation

data GenericPackageDescription #

#### Instances

Instances details

Eq GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods (==) :: GenericPackageDescription -> GenericPackageDescription -> Bool # (/=) :: GenericPackageDescription -> GenericPackageDescription -> Bool #
Data GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GenericPackageDescription -> c GenericPackageDescription Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GenericPackageDescription Source # toConstr :: GenericPackageDescription -> Constr Source # dataTypeOf :: GenericPackageDescription -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GenericPackageDescription) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GenericPackageDescription) Source # gmapT :: (forall b. Data b => b -> b) -> GenericPackageDescription -> GenericPackageDescription Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GenericPackageDescription -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GenericPackageDescription -> r Source # gmapQ :: (forall d. Data d => d -> u) -> GenericPackageDescription -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> GenericPackageDescription -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> GenericPackageDescription -> m GenericPackageDescription Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GenericPackageDescription -> m GenericPackageDescription Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GenericPackageDescription -> m GenericPackageDescription Source #
Show GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods showsPrec :: Int -> GenericPackageDescription -> ShowS Source # show :: GenericPackageDescription -> String Source # showList :: [GenericPackageDescription] -> ShowS Source #
Generic GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Associated Types type Rep GenericPackageDescription :: Type -> Type Source # Methods from :: GenericPackageDescription -> Rep GenericPackageDescription x Source # to :: Rep GenericPackageDescription x -> GenericPackageDescription Source #
Binary GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods put :: GenericPackageDescription -> Put Source # get :: Get GenericPackageDescription Source # putList :: [GenericPackageDescription] -> Put Source #
NFData GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods rnf :: GenericPackageDescription -> () Source #
Structured GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods structure :: Proxy GenericPackageDescription -> Structure # structureHash' :: Tagged GenericPackageDescription MD5
Package GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods packageId :: GenericPackageDescription -> PackageIdentifier #
HasBuildInfos GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription Methods traverseBuildInfos :: Traversal' GenericPackageDescription BuildInfo #
type Rep GenericPackageDescription # |
Instance details Defined in Distribution.Types.GenericPackageDescription type Rep GenericPackageDescription = D1 ('MetaData "GenericPackageDescription" "Distribution.Types.GenericPackageDescription" "Cabal-3.2.0.0" 'False) (C1 ('MetaCons "GenericPackageDescription" 'PrefixI 'True) (((S1 ('MetaSel ('Just "packageDescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageDescription) :*: S1 ('MetaSel ('Just "genPackageFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Flag])) :*: (S1 ('MetaSel ('Just "condLibrary") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (CondTree ConfVar [Dependency] Library))) :*: S1 ('MetaSel ('Just "condSubLibraries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UnqualComponentName, CondTree ConfVar [Dependency] Library)]))) :*: ((S1 ('MetaSel ('Just "condForeignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)]) :*: S1 ('MetaSel ('Just "condExecutables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)])) :*: (S1 ('MetaSel ('Just "condTestSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)]) :*: S1 ('MetaSel ('Just "condBenchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)])))))

data Flag #

A flag can represent a feature to be included, or a way of linking a target against its dependencies, or in fact whatever you can think of.

#### Instances

Instances details

Eq Flag # |
Instance details Defined in Distribution.Types.Flag Methods (==) :: Flag -> Flag -> Bool # (/=) :: Flag -> Flag -> Bool #
Data Flag # |
Instance details Defined in Distribution.Types.Flag Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Flag -> c Flag Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Flag Source # toConstr :: Flag -> Constr Source # dataTypeOf :: Flag -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Flag) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Flag) Source # gmapT :: (forall b. Data b => b -> b) -> Flag -> Flag Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Flag -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Flag -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Flag -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Flag -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Flag -> m Flag Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Flag -> m Flag Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Flag -> m Flag Source #
Show Flag # |
Instance details Defined in Distribution.Types.Flag Methods showsPrec :: Int -> Flag -> ShowS Source # show :: Flag -> String Source # showList :: [Flag] -> ShowS Source #
Generic Flag # |
Instance details Defined in Distribution.Types.Flag Associated Types type Rep Flag :: Type -> Type Source # Methods from :: Flag -> Rep Flag x Source # to :: Rep Flag x -> Flag Source #
Binary Flag # |
Instance details Defined in Distribution.Types.Flag Methods put :: Flag -> Put Source # get :: Get Flag Source # putList :: [Flag] -> Put Source #
NFData Flag # |
Instance details Defined in Distribution.Types.Flag Methods rnf :: Flag -> () Source #
Structured Flag # |
Instance details Defined in Distribution.Types.Flag Methods structure :: Proxy Flag -> Structure # structureHash' :: Tagged Flag MD5
type Rep Flag # |
Instance details Defined in Distribution.Types.Flag type Rep Flag = D1 ('MetaData "Flag" "Distribution.Types.Flag" "Cabal-3.2.0.0" 'False) (C1 ('MetaCons "MkFlag" 'PrefixI 'True) ((S1 ('MetaSel ('Just "flagName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagName) :*: S1 ('MetaSel ('Just "flagDescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String)) :*: (S1 ('MetaSel ('Just "flagDefault") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "flagManual") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))

data FlagName #

A `FlagName` is the name of a user-defined configuration flag

Use `mkFlagName` and `unFlagName` to convert from/to a `String`.

This type is opaque since `Cabal-2.0`

Since: Cabal-2.0.0.2

#### Instances

Instances details

Eq FlagName # |
Instance details Defined in Distribution.Types.Flag Methods (==) :: FlagName -> FlagName -> Bool # (/=) :: FlagName -> FlagName -> Bool #
Data FlagName # |
Instance details Defined in Distribution.Types.Flag Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FlagName -> c FlagName Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FlagName Source # toConstr :: FlagName -> Constr Source # dataTypeOf :: FlagName -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FlagName) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FlagName) Source # gmapT :: (forall b. Data b => b -> b) -> FlagName -> FlagName Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FlagName -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FlagName -> r Source # gmapQ :: (forall d. Data d => d -> u) -> FlagName -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> FlagName -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FlagName -> m FlagName Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FlagName -> m FlagName Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FlagName -> m FlagName Source #
Ord FlagName # |
Instance details Defined in Distribution.Types.Flag Methods compare :: FlagName -> FlagName -> Ordering # (<) :: FlagName -> FlagName -> Bool # (<=) :: FlagName -> FlagName -> Bool # (>) :: FlagName -> FlagName -> Bool # (>=) :: FlagName -> FlagName -> Bool # max :: FlagName -> FlagName -> FlagName # min :: FlagName -> FlagName -> FlagName #
Read FlagName # |
Instance details Defined in Distribution.Types.Flag Methods readsPrec :: Int -> ReadS FlagName Source # readList :: ReadS [FlagName] Source # readPrec :: ReadPrec FlagName Source # readListPrec :: ReadPrec [FlagName] Source #
Show FlagName # |
Instance details Defined in Distribution.Types.Flag Methods showsPrec :: Int -> FlagName -> ShowS Source # show :: FlagName -> String Source # showList :: [FlagName] -> ShowS Source #
IsString FlagName # | `mkFlagName` Since: Cabal-2.0.0.2
Instance details Defined in Distribution.Types.Flag Methods fromString :: String -> FlagName Source #
Generic FlagName # |
Instance details Defined in Distribution.Types.Flag Associated Types type Rep FlagName :: Type -> Type Source # Methods from :: FlagName -> Rep FlagName x Source # to :: Rep FlagName x -> FlagName Source #
Binary FlagName # |
Instance details Defined in Distribution.Types.Flag Methods put :: FlagName -> Put Source # get :: Get FlagName Source # putList :: [FlagName] -> Put Source #
NFData FlagName # |
Instance details Defined in Distribution.Types.Flag Methods rnf :: FlagName -> () Source #
Structured FlagName # |
Instance details Defined in Distribution.Types.Flag Methods structure :: Proxy FlagName -> Structure # structureHash' :: Tagged FlagName MD5
Pretty FlagName # |
Instance details Defined in Distribution.Types.Flag Methods pretty :: FlagName -> Doc # prettyVersioned :: CabalSpecVersion -> FlagName -> Doc #
Parsec FlagName # |
Instance details Defined in Distribution.Types.Flag Methods parsec :: CabalParsing m => m FlagName #
type Rep FlagName # |
Instance details Defined in Distribution.Types.Flag type Rep FlagName = D1 ('MetaData "FlagName" "Distribution.Types.Flag" "Cabal-3.2.0.0" 'True) (C1 ('MetaCons "FlagName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortText)))

data ConfVar #

A `ConfVar` represents the variable type used.

Constructors

OS OS |
Arch Arch |
Flag FlagName |
Impl CompilerFlavor VersionRange |

#### Instances

Instances details

Eq ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Methods (==) :: ConfVar -> ConfVar -> Bool # (/=) :: ConfVar -> ConfVar -> Bool #
Data ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConfVar -> c ConfVar Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConfVar Source # toConstr :: ConfVar -> Constr Source # dataTypeOf :: ConfVar -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConfVar) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfVar) Source # gmapT :: (forall b. Data b => b -> b) -> ConfVar -> ConfVar Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConfVar -> r Source # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConfVar -> r Source # gmapQ :: (forall d. Data d => d -> u) -> ConfVar -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> ConfVar -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConfVar -> m ConfVar Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConfVar -> m ConfVar Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConfVar -> m ConfVar Source #
Show ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Methods showsPrec :: Int -> ConfVar -> ShowS Source # show :: ConfVar -> String Source # showList :: [ConfVar] -> ShowS Source #
Generic ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Associated Types type Rep ConfVar :: Type -> Type Source # Methods from :: ConfVar -> Rep ConfVar x Source # to :: Rep ConfVar x -> ConfVar Source #
Binary ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Methods put :: ConfVar -> Put Source # get :: Get ConfVar Source # putList :: [ConfVar] -> Put Source #
NFData ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Methods rnf :: ConfVar -> () Source #
Structured ConfVar # |
Instance details Defined in Distribution.Types.ConfVar Methods structure :: Proxy ConfVar -> Structure # structureHash' :: Tagged ConfVar MD5
type Rep ConfVar # |
Instance details Defined in Distribution.Types.ConfVar type Rep ConfVar = D1 ('MetaData "ConfVar" "Distribution.Types.ConfVar" "Cabal-3.2.0.0" 'False) ((C1 ('MetaCons "OS" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OS)) :+: C1 ('MetaCons "Arch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Arch))) :+: (C1 ('MetaCons "Flag" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FlagName)) :+: C1 ('MetaCons "Impl" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CompilerFlavor) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VersionRange))))

packageDescription :: Lens' GenericPackageDescription PackageDescription #

genPackageFlags :: Lens' GenericPackageDescription [Flag] #

condLibrary :: Lens' GenericPackageDescription (Maybe (CondTree ConfVar [Dependency] Library)) #

condSubLibraries :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Library)] #

condForeignLibs :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] ForeignLib)] #

condExecutables :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Executable)] #

condTestSuites :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] TestSuite)] #

condBenchmarks :: Lens' GenericPackageDescription [(UnqualComponentName, CondTree ConfVar [Dependency] Benchmark)] #

allCondTrees :: Applicative f => (forall a. CondTree ConfVar [Dependency] a -> f (CondTree ConfVar [Dependency] a)) -> GenericPackageDescription -> f GenericPackageDescription #

flagName :: Lens' Flag FlagName #

flagDescription :: Lens' Flag String #

flagDefault :: Lens' Flag Bool #

flagManual :: Lens' Flag Bool #

_OS :: Traversal' ConfVar OS #

_Arch :: Traversal' ConfVar Arch #

_Flag :: Traversal' ConfVar FlagName #

_Impl :: Traversal' ConfVar (CompilerFlavor, VersionRange) #