cabal-debian-4.36.1: Create a Debianization for a Cabal package

Safe HaskellNone
LanguageHaskell2010

Debian.Debianize.Optparse

Synopsis

Documentation

data CommandLineOptions Source #

This data type is an abomination. It represent information, provided on command line. Part of such information provides means to create initial CabalT state and is stored in _flags field. See newCabalInfo.

Other, much greater part represent changes to already created state. They are stored in _adjustment field.

All this can be understood from (simplified) types:

type CabalT m a = StateT CabalInfo m a
newCabalInfo :: Flags -> IO CabalInfo
handleBehaviorAdjustment :: BehaviorAdjustment -> CabalT IO ()

data BehaviorAdjustment Source #

This data type represents changes to CabalT state, requested at command line.

data Flags Source #

This record supplies enough information to locate and load a debianization or a cabal file from the IO monad.

Constructors

Flags 

Fields

  • _verbosity :: Int

    Run with progress messages at the given level of verboseness.

  • _dryRun :: Bool

    Don't write any files or create any directories, just explain what would have been done.

  • _upgrade :: Bool

    Carefully upgrade the packaging

  • _roundtrip :: Bool

    Normalize a debianization (field order, whitespace) by round-tripping it.

  • _validate :: Bool

    Fail if the debianization already present doesn't match the one we are going to generate closely enough that it is safe to debianize during the run of dpkg-buildpackage, when Setup configure is run. Specifically, the version number in the top changelog entry must match, and the sets of package names in the control file must match.

  • _compilerFlavor :: CompilerFlavor

    Which compiler should we generate library packages for? In theory a single deb could handle multiple compiler flavors, but the support tools are not ready for this as of right now (28 Jan 2015.)

  • _cabalFlagAssignments :: Set (FlagName, Bool)

    Flags to pass to Cabal function finalizePackageDescription, this can be used to control the flags in the cabal file. It can be supplied to the cabal-debian binary using the --flags option.

  • _buildEnv :: EnvSet

    Directory containing the build environment for which the debianization will be generated. This determines which compiler will be available, which in turn determines which basic libraries can be provided by the compiler. By default all the paths in EnvSet are "/".

Instances

Eq Flags Source # 

Methods

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

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

Data Flags Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Flags -> c Flags #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Flags #

toConstr :: Flags -> Constr #

dataTypeOf :: Flags -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Flags) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Flags) #

gmapT :: (forall b. Data b => b -> b) -> Flags -> Flags #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Flags -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Flags -> r #

gmapQ :: (forall d. Data d => d -> u) -> Flags -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Flags -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Flags -> m Flags #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Flags -> m Flags #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Flags -> m Flags #

Ord Flags Source # 

Methods

compare :: Flags -> Flags -> Ordering #

(<) :: Flags -> Flags -> Bool #

(<=) :: Flags -> Flags -> Bool #

(>) :: Flags -> Flags -> Bool #

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

max :: Flags -> Flags -> Flags #

min :: Flags -> Flags -> Flags #

Show Flags Source # 

Methods

showsPrec :: Int -> Flags -> ShowS #

show :: Flags -> String #

showList :: [Flags] -> ShowS #