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

Debian.Relation.String

Description

A module for working with debian relationships http://www.debian.org/doc/debian-policy/ch-relationships.html

Synopsis

Types

data Relation Source #

Constructors

Rel BinPkgName (Maybe VersionReq) (Maybe ArchitectureReq) 

Instances

Instances details
Eq Relation Source # 
Instance details

Defined in Debian.Relation.Common

Methods

(==) :: Relation -> Relation -> Bool

(/=) :: Relation -> Relation -> Bool

Ord Relation Source # 
Instance details

Defined in Debian.Relation.Common

Methods

compare :: Relation -> Relation -> Ordering

(<) :: Relation -> Relation -> Bool

(<=) :: Relation -> Relation -> Bool

(>) :: Relation -> Relation -> Bool

(>=) :: Relation -> Relation -> Bool

max :: Relation -> Relation -> Relation

min :: Relation -> Relation -> Relation

Read Relation Source # 
Instance details

Defined in Debian.Relation.Common

Methods

readsPrec :: Int -> ReadS Relation

readList :: ReadS [Relation]

readPrec :: ReadPrec Relation

readListPrec :: ReadPrec [Relation]

Show Relation Source # 
Instance details

Defined in Debian.Relation.Common

Methods

showsPrec :: Int -> Relation -> ShowS

show :: Relation -> String

showList :: [Relation] -> ShowS

Pretty (PP Relation) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP Relation -> Doc

prettyVersioned :: CabalSpecVersion -> PP Relation -> Doc

Pretty (PP OrRelation) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP OrRelation -> Doc

prettyVersioned :: CabalSpecVersion -> PP OrRelation -> Doc

Pretty (PP Relations) Source #

Wrap PP around type synonyms that might overlap with the `Pretty [a]` instance.

Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP Relations -> Doc

prettyVersioned :: CabalSpecVersion -> PP Relations -> Doc

data ArchitectureReq Source #

Constructors

ArchOnly (Set Arch) 
ArchExcept (Set Arch) 

Instances

Instances details
Eq ArchitectureReq Source # 
Instance details

Defined in Debian.Relation.Common

Ord ArchitectureReq Source # 
Instance details

Defined in Debian.Relation.Common

Read ArchitectureReq Source # 
Instance details

Defined in Debian.Relation.Common

Show ArchitectureReq Source # 
Instance details

Defined in Debian.Relation.Common

Methods

showsPrec :: Int -> ArchitectureReq -> ShowS

show :: ArchitectureReq -> String

showList :: [ArchitectureReq] -> ShowS

Pretty (PP ArchitectureReq) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP ArchitectureReq -> Doc

prettyVersioned :: CabalSpecVersion -> PP ArchitectureReq -> Doc

data VersionReq Source #

Instances

Instances details
Eq VersionReq Source # 
Instance details

Defined in Debian.Relation.Common

Methods

(==) :: VersionReq -> VersionReq -> Bool

(/=) :: VersionReq -> VersionReq -> Bool

Ord VersionReq Source #

The sort order is based on version number first, then on the kind of relation, sorting in the order

Instance details

Defined in Debian.Relation.Common

Read VersionReq Source # 
Instance details

Defined in Debian.Relation.Common

Methods

readsPrec :: Int -> ReadS VersionReq

readList :: ReadS [VersionReq]

readPrec :: ReadPrec VersionReq

readListPrec :: ReadPrec [VersionReq]

Show VersionReq Source # 
Instance details

Defined in Debian.Relation.Common

Methods

showsPrec :: Int -> VersionReq -> ShowS

show :: VersionReq -> String

showList :: [VersionReq] -> ShowS

Pretty (PP VersionReq) Source # 
Instance details

Defined in Debian.Relation.Common

Methods

pretty :: PP VersionReq -> Doc

prettyVersioned :: CabalSpecVersion -> PP VersionReq -> Doc

Helper Functions

checkVersionReq :: Maybe VersionReq -> Maybe DebianVersion -> Bool Source #

Check if a version number satisfies a version requirement.

Relation Parser

type RelParser a = CharParser () a Source #

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

Instances details
ParseRelations String Source # 
Instance details

Defined in Debian.Relation.String

Methods

parseRelations :: String -> Either ParseError Relations Source #

ParseRelations Text Source # 
Instance details

Defined in Debian.Relation.Text

Methods

parseRelations :: Text -> Either ParseError Relations Source #

ParseRelations ByteString Source # 
Instance details

Defined in Debian.Relation.ByteString

Methods

parseRelations :: ByteString -> Either ParseError Relations Source #

Orphan instances

ParseRelations String Source # 
Instance details

Methods

parseRelations :: String -> Either ParseError Relations Source #