Cabal-2.1.0.0: A framework for packaging Haskell software

Safe HaskellNone
LanguageHaskell2010

Distribution.Types.GenericPackageDescription

Synopsis

Documentation

data GenericPackageDescription Source #

Instances
Eq GenericPackageDescription # 
Instance details
Data GenericPackageDescription # 
Instance details

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 :: (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
Generic GenericPackageDescription # 
Instance details

Associated Types

type Rep GenericPackageDescription :: * -> * Source #

Binary GenericPackageDescription # 
Instance details
Package GenericPackageDescription # 
Instance details
type Rep GenericPackageDescription # 
Instance details

data Flag Source #

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
Eq Flag # 
Instance details

Methods

(==) :: Flag -> Flag -> Bool #

(/=) :: Flag -> Flag -> Bool #

Data Flag # 
Instance details

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 :: (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
Generic Flag # 
Instance details

Associated Types

type Rep Flag :: * -> * Source #

Methods

from :: Flag -> Rep Flag x Source #

to :: Rep Flag x -> Flag Source #

Binary Flag # 
Instance details
type Rep Flag # 
Instance details

emptyFlag :: FlagName -> Flag Source #

A Flag initialized with default parameters.

data FlagName Source #

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: 2.0.0.2

Instances
Eq FlagName # 
Instance details
Data FlagName # 
Instance details

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 :: (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
Read FlagName # 
Instance details
Show FlagName # 
Instance details
IsString FlagName #

mkFlagName

Since: 2.0.0.2

Instance details
Generic FlagName # 
Instance details

Associated Types

type Rep FlagName :: * -> * Source #

Binary FlagName # 
Instance details
Parsec FlagName # 
Instance details
Pretty FlagName # 
Instance details

Methods

pretty :: FlagName -> Doc Source #

Text FlagName # 
Instance details
type Rep FlagName # 
Instance details
type Rep FlagName = D1 (MetaData "FlagName" "Distribution.Types.GenericPackageDescription" "Cabal-2.1.0.0" True) (C1 (MetaCons "FlagName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ShortText)))

mkFlagName :: String -> FlagName Source #

Construct a FlagName from a String

mkFlagName is the inverse to unFlagName

Note: No validations are performed to ensure that the resulting FlagName is valid

Since: 2.0.0.2

unFlagName :: FlagName -> String Source #

Convert FlagName to String

Since: 2.0.0.2

data FlagAssignment Source #

A FlagAssignment is a total or partial mapping of FlagNames to Bool flag values. It represents the flags chosen by the user or discovered during configuration. For example --flags=foo --flags=-bar becomes [("foo", True), ("bar", False)]

Instances
Eq FlagAssignment # 
Instance details
Ord FlagAssignment # 
Instance details
Read FlagAssignment #

Since: 2.2.0

Instance details
Show FlagAssignment #

Since: 2.2.0

Instance details
Semigroup FlagAssignment # 
Instance details
Monoid FlagAssignment # 
Instance details
Binary FlagAssignment # 
Instance details

mkFlagAssignment :: [(FlagName, Bool)] -> FlagAssignment Source #

Construct a FlagAssignment from a list of flag/value pairs.

Since: 2.2.0

unFlagAssignment :: FlagAssignment -> [(FlagName, Bool)] Source #

Deconstruct a FlagAssignment into a list of flag/value pairs.

 (mkFlagAssignment . unFlagAssignment) fa == fa

Since: 2.2.0

lookupFlagAssignment :: FlagName -> FlagAssignment -> Maybe Bool Source #

Lookup the value for a flag

Returns Nothing if the flag isn't contained in the FlagAssignment.

Since: 2.2.0

insertFlagAssignment :: FlagName -> Bool -> FlagAssignment -> FlagAssignment Source #

Insert or update the boolean value of a flag.

Since: 2.2.0

diffFlagAssignment :: FlagAssignment -> FlagAssignment -> FlagAssignment Source #

Remove all flag-assignments from the first FlagAssignment that are contained in the second FlagAssignment

NB/TODO: This currently only removes flag assignments which also match the value assignment! We should review the code which uses this operation to figure out if this it's not enough to only compare the flagnames without the values.

Since: 2.2.0

nullFlagAssignment :: FlagAssignment -> Bool Source #

Test whether FlagAssignment is empty.

Since: 2.2.0

showFlagValue :: (FlagName, Bool) -> String Source #

String representation of a flag-value pair.

dispFlagAssignment :: FlagAssignment -> Doc Source #

Pretty-prints a flag assignment.

parseFlagAssignment :: ReadP r FlagAssignment Source #

Parses a flag assignment.

data ConfVar Source #

A ConfVar represents the variable type used.

Instances
Eq ConfVar # 
Instance details

Methods

(==) :: ConfVar -> ConfVar -> Bool #

(/=) :: ConfVar -> ConfVar -> Bool #

Data ConfVar # 
Instance details

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 :: (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
Generic ConfVar # 
Instance details

Associated Types

type Rep ConfVar :: * -> * Source #

Binary ConfVar # 
Instance details
type Rep ConfVar # 
Instance details