hackport-0.8.0.0: src/Hackport/Command/MakeEbuild.hs
module Hackport.Command.MakeEbuild
( makeEbuildAction
) where
import qualified Distribution.Simple.PackageDescription as Cabal
import Distribution.Parsec (simpleParsec)
import qualified Distribution.Verbosity as V
import Error
import Merge
import Hackport.Env
makeEbuildAction :: Env MakeEbuildEnv ()
makeEbuildAction = do
(_, MakeEbuildEnv catstr cabals flags _) <- ask
cat <- case simpleParsec catstr of
Just c -> return c
Nothing -> throw (ArgumentError ("could not parse category: " ++ catstr))
forM_ cabals $ \cabalFileName -> do
pkg <- liftIO $ Cabal.readGenericPackageDescription V.normal cabalFileName
mergeGenericPackageDescription cat pkg False flags