cabal-debian-4.24.3: debian-haskell/Debian/Version/String.hs
{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
{-# OPTIONS -fno-warn-orphans #-}
module Debian.Version.String
( ParseDebianVersion(..)
) where
import Text.ParserCombinators.Parsec
import Data.List (stripPrefix)
import Debian.Version.Common
import Debian.Version.Internal
instance ParseDebianVersion String where
parseDebianVersion str =
case parse parseDV str str of
Left e -> error (show e)
Right dv -> DebianVersion str dv
instance Read DebianVersion where
readsPrec _ s =
case stripPrefix "Debian.Version.parseDebianVersion " s of
Just s' -> case reads s' :: [(String, String)] of
[]-> []
(v, s'') : _ -> [(parseDebianVersion v, s'')]
Nothing -> []