debian-3.14: Debian/Relation/ByteString.hs
-- |A module for working with debian relationships <http://www.debian.org/doc/debian-policy/ch-relationships.html>
module Debian.Relation.ByteString
( -- * Types
PkgName
, AndRelation
, OrRelation
, Relations
, Relation(..)
, ArchitectureReq(..)
, VersionReq(..)
-- * Helper Functions
, checkVersionReq
-- * Relation Parser
, RelParser
, ParseRelations(..)
) where
-- Standard GHC Modules
import Data.List
import Text.ParserCombinators.Parsec
-- 3rd Party Modules
import qualified Data.ByteString.Char8 as C
-- Local Modules
--import Debian.Relation.Common
import Debian.Relation.String
--import Debian.Version
-- * ParseRelations
-- For now we just wrap the string version
instance ParseRelations C.ByteString where
parseRelations byteStr =
let str = C.unpack byteStr in
case parse pRelations str str of
Right relations -> Right (filter (/= []) relations)
x -> x