Safe Haskell | None |
---|---|
Language | Haskell98 |
Debian.Relation
Description
A module for working with debian relationships http://www.debian.org/doc/debian-policy/ch-relationships.html
Synopsis
- class Pretty (PP a) => PkgName a where
- pkgNameFromString :: String -> a
- newtype SrcPkgName = SrcPkgName {
- unSrcPkgName :: String
- newtype BinPkgName = BinPkgName {
- unBinPkgName :: String
- type Relations = AndRelation
- type AndRelation = [OrRelation]
- type OrRelation = [Relation]
- data Relation = Rel BinPkgName (Maybe VersionReq) (Maybe ArchitectureReq)
- data ArchitectureReq
- = ArchOnly (Set Arch)
- | ArchExcept (Set Arch)
- data Arch
- data ArchOS
- data ArchCPU
- = ArchCPU String
- | ArchCPUAny
- data VersionReq
- checkVersionReq :: Maybe VersionReq -> Maybe DebianVersion -> Bool
- type RelParser a = CharParser () a
- class ParseRelations a where
- parseRelations :: a -> Either ParseError Relations
Types
class Pretty (PP a) => PkgName a where Source #
Methods
pkgNameFromString :: String -> a Source #
Instances
PkgName BinPkgName Source # | |
Defined in Debian.Relation.Common Methods pkgNameFromString :: String -> BinPkgName Source # | |
PkgName SrcPkgName Source # | |
Defined in Debian.Relation.Common Methods pkgNameFromString :: String -> SrcPkgName Source # |
newtype SrcPkgName Source #
Constructors
SrcPkgName | |
Fields
|
Instances
Eq SrcPkgName Source # | |
Defined in Debian.Relation.Common | |
Data SrcPkgName Source # | |
Defined in Debian.Relation.Common Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcPkgName -> c SrcPkgName gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcPkgName toConstr :: SrcPkgName -> Constr dataTypeOf :: SrcPkgName -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcPkgName) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcPkgName) gmapT :: (forall b. Data b => b -> b) -> SrcPkgName -> SrcPkgName gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcPkgName -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcPkgName -> r gmapQ :: (forall d. Data d => d -> u) -> SrcPkgName -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcPkgName -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcPkgName -> m SrcPkgName gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcPkgName -> m SrcPkgName gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcPkgName -> m SrcPkgName | |
Ord SrcPkgName Source # | |
Defined in Debian.Relation.Common Methods compare :: SrcPkgName -> SrcPkgName -> Ordering (<) :: SrcPkgName -> SrcPkgName -> Bool (<=) :: SrcPkgName -> SrcPkgName -> Bool (>) :: SrcPkgName -> SrcPkgName -> Bool (>=) :: SrcPkgName -> SrcPkgName -> Bool max :: SrcPkgName -> SrcPkgName -> SrcPkgName min :: SrcPkgName -> SrcPkgName -> SrcPkgName | |
Read SrcPkgName Source # | |
Defined in Debian.Relation.Common Methods readsPrec :: Int -> ReadS SrcPkgName readList :: ReadS [SrcPkgName] readPrec :: ReadPrec SrcPkgName readListPrec :: ReadPrec [SrcPkgName] | |
Show SrcPkgName Source # | |
Defined in Debian.Relation.Common Methods showsPrec :: Int -> SrcPkgName -> ShowS show :: SrcPkgName -> String showList :: [SrcPkgName] -> ShowS | |
PkgName SrcPkgName Source # | |
Defined in Debian.Relation.Common Methods pkgNameFromString :: String -> SrcPkgName Source # | |
Pretty (PP SrcPkgName) Source # | |
Defined in Debian.Relation.Common |
newtype BinPkgName Source #
Constructors
BinPkgName | |
Fields
|
Instances
Eq BinPkgName Source # | |
Defined in Debian.Relation.Common | |
Data BinPkgName Source # | |
Defined in Debian.Relation.Common Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BinPkgName -> c BinPkgName gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BinPkgName toConstr :: BinPkgName -> Constr dataTypeOf :: BinPkgName -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BinPkgName) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BinPkgName) gmapT :: (forall b. Data b => b -> b) -> BinPkgName -> BinPkgName gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BinPkgName -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BinPkgName -> r gmapQ :: (forall d. Data d => d -> u) -> BinPkgName -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> BinPkgName -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> BinPkgName -> m BinPkgName gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BinPkgName -> m BinPkgName gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BinPkgName -> m BinPkgName | |
Ord BinPkgName Source # | |
Defined in Debian.Relation.Common Methods compare :: BinPkgName -> BinPkgName -> Ordering (<) :: BinPkgName -> BinPkgName -> Bool (<=) :: BinPkgName -> BinPkgName -> Bool (>) :: BinPkgName -> BinPkgName -> Bool (>=) :: BinPkgName -> BinPkgName -> Bool max :: BinPkgName -> BinPkgName -> BinPkgName min :: BinPkgName -> BinPkgName -> BinPkgName | |
Read BinPkgName Source # | |
Defined in Debian.Relation.Common Methods readsPrec :: Int -> ReadS BinPkgName readList :: ReadS [BinPkgName] readPrec :: ReadPrec BinPkgName readListPrec :: ReadPrec [BinPkgName] | |
Show BinPkgName Source # | |
Defined in Debian.Relation.Common Methods showsPrec :: Int -> BinPkgName -> ShowS show :: BinPkgName -> String showList :: [BinPkgName] -> ShowS | |
PkgName BinPkgName Source # | |
Defined in Debian.Relation.Common Methods pkgNameFromString :: String -> BinPkgName Source # | |
Pretty (PP BinPkgName) Source # | |
Defined in Debian.Relation.Common |
type Relations = AndRelation Source #
type AndRelation = [OrRelation] Source #
type OrRelation = [Relation] Source #
Constructors
Rel BinPkgName (Maybe VersionReq) (Maybe ArchitectureReq) |
Instances
Eq Relation Source # | |
Ord Relation Source # | |
Defined in Debian.Relation.Common | |
Read Relation Source # | |
Defined in Debian.Relation.Common | |
Show Relation Source # | |
Pretty (PP Relation) Source # | |
Defined in Debian.Relation.Common | |
Pretty (PP OrRelation) Source # | |
Defined in Debian.Relation.Common | |
Pretty (PP Relations) Source # | Wrap |
Defined in Debian.Relation.Common |
data ArchitectureReq Source #
Constructors
ArchOnly (Set Arch) | |
ArchExcept (Set Arch) |
Instances
Instances
Eq Arch Source # | |
Data Arch Source # | |
Defined in Debian.Arch Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arch -> c Arch gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Arch dataTypeOf :: Arch -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Arch) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Arch) gmapT :: (forall b. Data b => b -> b) -> Arch -> Arch gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arch -> r gmapQ :: (forall d. Data d => d -> u) -> Arch -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Arch -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Arch -> m Arch gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Arch -> m Arch | |
Ord Arch Source # | |
Read Arch Source # | |
Defined in Debian.Arch | |
Show Arch Source # | |
Instances
Eq ArchOS Source # | |
Data ArchOS Source # | |
Defined in Debian.Arch Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArchOS -> c ArchOS gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArchOS dataTypeOf :: ArchOS -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArchOS) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArchOS) gmapT :: (forall b. Data b => b -> b) -> ArchOS -> ArchOS gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArchOS -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArchOS -> r gmapQ :: (forall d. Data d => d -> u) -> ArchOS -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ArchOS -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArchOS -> m ArchOS gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchOS -> m ArchOS gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchOS -> m ArchOS | |
Ord ArchOS Source # | |
Read ArchOS Source # | |
Defined in Debian.Arch | |
Show ArchOS Source # | |
Constructors
ArchCPU String | |
ArchCPUAny |
Instances
Eq ArchCPU Source # | |
Data ArchCPU Source # | |
Defined in Debian.Arch Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArchCPU -> c ArchCPU gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArchCPU dataTypeOf :: ArchCPU -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArchCPU) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArchCPU) gmapT :: (forall b. Data b => b -> b) -> ArchCPU -> ArchCPU gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArchCPU -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArchCPU -> r gmapQ :: (forall d. Data d => d -> u) -> ArchCPU -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ArchCPU -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArchCPU -> m ArchCPU gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchCPU -> m ArchCPU gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArchCPU -> m ArchCPU | |
Ord ArchCPU Source # | |
Read ArchCPU Source # | |
Defined in Debian.Arch | |
Show ArchCPU Source # | |
data VersionReq Source #
Constructors
SLT DebianVersion | |
LTE DebianVersion | |
EEQ DebianVersion | |
GRE DebianVersion | |
SGR DebianVersion |
Instances
Eq VersionReq Source # | |
Defined in Debian.Relation.Common | |
Ord VersionReq Source # | The sort order is based on version number first, then on the kind of
relation, sorting in the order |
Defined in Debian.Relation.Common Methods compare :: VersionReq -> VersionReq -> Ordering (<) :: VersionReq -> VersionReq -> Bool (<=) :: VersionReq -> VersionReq -> Bool (>) :: VersionReq -> VersionReq -> Bool (>=) :: VersionReq -> VersionReq -> Bool max :: VersionReq -> VersionReq -> VersionReq min :: VersionReq -> VersionReq -> VersionReq | |
Read VersionReq Source # | |
Defined in Debian.Relation.Common Methods readsPrec :: Int -> ReadS VersionReq readList :: ReadS [VersionReq] readPrec :: ReadPrec VersionReq readListPrec :: ReadPrec [VersionReq] | |
Show VersionReq Source # | |
Defined in Debian.Relation.Common Methods showsPrec :: Int -> VersionReq -> ShowS show :: VersionReq -> String showList :: [VersionReq] -> ShowS | |
Pretty (PP VersionReq) Source # | |
Defined in Debian.Relation.Common |
Helper Functions
checkVersionReq :: Maybe VersionReq -> Maybe DebianVersion -> Bool Source #
Check if a version number satisfies a version requirement.
Relation Parser
class ParseRelations a where Source #
Methods
parseRelations :: a -> Either ParseError Relations Source #
parseRelations
parse a debian relation (i.e. the value of a
Depends field). Return a parsec error or a value of type
Relations
Instances
ParseRelations String Source # | |
Defined in Debian.Relation.String Methods parseRelations :: String -> Either ParseError Relations Source # | |
ParseRelations Text Source # | |
Defined in Debian.Relation.Text Methods parseRelations :: Text -> Either ParseError Relations Source # | |
ParseRelations ByteString Source # | |
Defined in Debian.Relation.ByteString Methods parseRelations :: ByteString -> Either ParseError Relations Source # |