module HaskellCI.Config.Ubuntu where import HaskellCI.Prelude import qualified Distribution.Parsec as C import qualified Distribution.Pretty as C import qualified Text.PrettyPrint as PP data Ubuntu = Xenial | Bionic | Focal | Jammy deriving (Ubuntu -> Ubuntu -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Ubuntu -> Ubuntu -> Bool $c/= :: Ubuntu -> Ubuntu -> Bool == :: Ubuntu -> Ubuntu -> Bool $c== :: Ubuntu -> Ubuntu -> Bool Eq, Eq Ubuntu Ubuntu -> Ubuntu -> Bool Ubuntu -> Ubuntu -> Ordering Ubuntu -> Ubuntu -> Ubuntu forall a. Eq a -> (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: Ubuntu -> Ubuntu -> Ubuntu $cmin :: Ubuntu -> Ubuntu -> Ubuntu max :: Ubuntu -> Ubuntu -> Ubuntu $cmax :: Ubuntu -> Ubuntu -> Ubuntu >= :: Ubuntu -> Ubuntu -> Bool $c>= :: Ubuntu -> Ubuntu -> Bool > :: Ubuntu -> Ubuntu -> Bool $c> :: Ubuntu -> Ubuntu -> Bool <= :: Ubuntu -> Ubuntu -> Bool $c<= :: Ubuntu -> Ubuntu -> Bool < :: Ubuntu -> Ubuntu -> Bool $c< :: Ubuntu -> Ubuntu -> Bool compare :: Ubuntu -> Ubuntu -> Ordering $ccompare :: Ubuntu -> Ubuntu -> Ordering Ord, Int -> Ubuntu -> ShowS [Ubuntu] -> ShowS Ubuntu -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Ubuntu] -> ShowS $cshowList :: [Ubuntu] -> ShowS show :: Ubuntu -> String $cshow :: Ubuntu -> String showsPrec :: Int -> Ubuntu -> ShowS $cshowsPrec :: Int -> Ubuntu -> ShowS Show, Int -> Ubuntu Ubuntu -> Int Ubuntu -> [Ubuntu] Ubuntu -> Ubuntu Ubuntu -> Ubuntu -> [Ubuntu] Ubuntu -> Ubuntu -> Ubuntu -> [Ubuntu] forall a. (a -> a) -> (a -> a) -> (Int -> a) -> (a -> Int) -> (a -> [a]) -> (a -> a -> [a]) -> (a -> a -> [a]) -> (a -> a -> a -> [a]) -> Enum a enumFromThenTo :: Ubuntu -> Ubuntu -> Ubuntu -> [Ubuntu] $cenumFromThenTo :: Ubuntu -> Ubuntu -> Ubuntu -> [Ubuntu] enumFromTo :: Ubuntu -> Ubuntu -> [Ubuntu] $cenumFromTo :: Ubuntu -> Ubuntu -> [Ubuntu] enumFromThen :: Ubuntu -> Ubuntu -> [Ubuntu] $cenumFromThen :: Ubuntu -> Ubuntu -> [Ubuntu] enumFrom :: Ubuntu -> [Ubuntu] $cenumFrom :: Ubuntu -> [Ubuntu] fromEnum :: Ubuntu -> Int $cfromEnum :: Ubuntu -> Int toEnum :: Int -> Ubuntu $ctoEnum :: Int -> Ubuntu pred :: Ubuntu -> Ubuntu $cpred :: Ubuntu -> Ubuntu succ :: Ubuntu -> Ubuntu $csucc :: Ubuntu -> Ubuntu Enum, Ubuntu forall a. a -> a -> Bounded a maxBound :: Ubuntu $cmaxBound :: Ubuntu minBound :: Ubuntu $cminBound :: Ubuntu Bounded) instance C.Parsec Ubuntu where parsec :: forall (m :: * -> *). CabalParsing m => m Ubuntu parsec = do String t <- forall (m :: * -> *). CabalParsing m => m String C.parsecToken case String t of String "xenial" -> forall (m :: * -> *) a. Monad m => a -> m a return Ubuntu Xenial String "bionic" -> forall (m :: * -> *) a. Monad m => a -> m a return Ubuntu Bionic String "focal" -> forall (m :: * -> *) a. Monad m => a -> m a return Ubuntu Focal String "jammy" -> forall (m :: * -> *) a. Monad m => a -> m a return Ubuntu Jammy String _ -> forall (m :: * -> *) a. MonadFail m => String -> m a fail forall a b. (a -> b) -> a -> b $ String "Unknown ubuntu release " forall a. [a] -> [a] -> [a] ++ String t instance C.Pretty Ubuntu where pretty :: Ubuntu -> Doc pretty = String -> Doc PP.text forall b c a. (b -> c) -> (a -> b) -> a -> c . Ubuntu -> String showUbuntu showUbuntu :: Ubuntu -> String showUbuntu :: Ubuntu -> String showUbuntu Ubuntu Xenial = String "xenial" showUbuntu Ubuntu Bionic = String "bionic" showUbuntu Ubuntu Focal = String "focal" showUbuntu Ubuntu Jammy = String "jammy"