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