debian-4.0.2: Modules for working with the Debian package system
Safe HaskellNone
LanguageHaskell98

Debian.Version.Common

Description

A module for parsing, comparing, and (eventually) modifying debian version numbers. http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version

Synopsis

Documentation

data DebianVersion Source #

Instances

Instances details
Eq DebianVersion 
Instance details

Defined in Debian.Version.Common

Data DebianVersion Source # 
Instance details

Defined in Debian.Version.Internal

Methods

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

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

toConstr :: DebianVersion -> Constr

dataTypeOf :: DebianVersion -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c DebianVersion)

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

gmapT :: (forall b. Data b => b -> b) -> DebianVersion -> DebianVersion

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

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

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

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

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

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

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

Ord DebianVersion 
Instance details

Defined in Debian.Version.Common

Read DebianVersion 
Instance details

Defined in Debian.Version.String

Methods

readsPrec :: Int -> ReadS DebianVersion

readList :: ReadS [DebianVersion]

readPrec :: ReadPrec DebianVersion

readListPrec :: ReadPrec [DebianVersion]

Show DebianVersion 
Instance details

Defined in Debian.Version.Common

Methods

showsPrec :: Int -> DebianVersion -> ShowS

show :: DebianVersion -> String

showList :: [DebianVersion] -> ShowS

Pretty (PP DebianVersion) 
Instance details

Defined in Debian.Version.Common

Methods

pretty :: PP DebianVersion -> Doc

prettyVersioned :: CabalSpecVersion -> PP DebianVersion -> Doc

Exported abstract because the internal representation is likely to change

class ParseDebianVersion a where Source #

Methods

parseDebianVersion :: a -> Either ParseError DebianVersion Source #

Instances

Instances details
ParseDebianVersion String Source # 
Instance details

Defined in Debian.Version.String

Methods

parseDebianVersion :: String -> Either ParseError DebianVersion Source #

ParseDebianVersion Text Source # 
Instance details

Defined in Debian.Version.Text

Methods

parseDebianVersion :: Text -> Either ParseError DebianVersion Source #

ParseDebianVersion ByteString Source # 
Instance details

Defined in Debian.Version.ByteString

Methods

parseDebianVersion :: ByteString -> Either ParseError DebianVersion Source #

parseDebianVersion' :: ParseDebianVersion string => string -> DebianVersion Source #

Convert a string to a debian version number. May throw an exception if the string is unparsable -- but I am not sure if that can currently happen. Are there any invalid version strings? Perhaps ones with underscore, or something?

evr :: DebianVersion -> (Maybe Int, String, Maybe String) Source #

Split a DebianVersion into its three components: epoch, version, revision. It is not safe to use the parsed version number for this because you will lose information, such as leading zeros.

epoch :: DebianVersion -> Maybe Int Source #

revision :: DebianVersion -> Maybe String Source #

buildDebianVersion :: Maybe Int -> String -> Maybe String -> DebianVersion Source #

parseDV :: CharParser () (Found Int, NonNumeric, Found NonNumeric) Source #

Orphan instances

Eq DebianVersion Source # 
Instance details

Ord DebianVersion Source # 
Instance details

Show DebianVersion Source # 
Instance details

Methods

showsPrec :: Int -> DebianVersion -> ShowS

show :: DebianVersion -> String

showList :: [DebianVersion] -> ShowS

Pretty (PP DebianVersion) Source # 
Instance details

Methods

pretty :: PP DebianVersion -> Doc

prettyVersioned :: CabalSpecVersion -> PP DebianVersion -> Doc