packages feed

fedora-haskell-tools-0.8: src/Dist.hs

module Dist
  (distArg,
   distRemote,
   distTag,
   distTarget)
  where

import Data.Maybe (fromMaybe)
import FedoraDists (Dist(..), distBranch)
import Options.Applicative


-- | Used for Koji sidetag when needed.
sidetag :: Dist -> Maybe String
-- sidetag (Fedora n) | n == 31 = Just "ghc"
sidetag _ = Nothing

-- | Maps `Dist` to build tag
distTag :: Dist -> String
distTag d = show d ++ "-" ++ fromMaybe "build" (sidetag d)

-- | Maps `Dist` to target tag
distTarget  :: Dist -> String
distTarget d = show d ++ maybe "" ("-" ++) (sidetag d)

-- | optparse-application DIST arg
distArg :: Parser Dist
distArg = argument auto (metavar "DIST")

-- | Maps `Dist` to remote branch: eg "origin/master"
distRemote :: Dist -> String
distRemote d = "origin/" ++ distBranch d