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 deriving (Ubuntu -> Ubuntu -> Bool (Ubuntu -> Ubuntu -> Bool) -> (Ubuntu -> Ubuntu -> Bool) -> Eq Ubuntu 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 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 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 $cp1Ord :: Eq 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 showList :: [Ubuntu] -> ShowS $cshowList :: [Ubuntu] -> ShowS show :: Ubuntu -> String $cshow :: Ubuntu -> String showsPrec :: Int -> Ubuntu -> ShowS $cshowsPrec :: Int -> Ubuntu -> ShowS Show) instance C.Parsec Ubuntu where parsec :: 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 (m :: * -> *) a. Monad m => a -> m a return Ubuntu Xenial String "bionic" -> Ubuntu -> m Ubuntu forall (m :: * -> *) a. Monad m => a -> m a return Ubuntu Bionic String "focal" -> Ubuntu -> m Ubuntu forall (m :: * -> *) a. Monad m => a -> m a return Ubuntu Focal String _ -> String -> m Ubuntu 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"