Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/1d30136ee22afea276ed42ee639c0e9c80950d3d >--------------------------------------------------------------- commit 1d30136ee22afea276ed42ee639c0e9c80950d3d Author: Duncan Coutts <[email protected]> Date: Wed Apr 30 11:46:04 2008 +0000 Convert Main to use the new SetupWrapper module >--------------------------------------------------------------- cabal-install/Main.hs | 52 ++++++++++++++++++++++++++++-------------------- 1 files changed, 30 insertions(+), 22 deletions(-) diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs index 8f5ff5d..c20a843 100644 --- a/cabal-install/Main.hs +++ b/cabal-install/Main.hs @@ -19,12 +19,13 @@ import Distribution.Simple.Setup (Flag(..), fromFlag, fromFlagOrDefault, import qualified Distribution.Simple.Setup as Cabal import Distribution.Simple.Program (defaultProgramConfiguration) import Distribution.Simple.Command -import Distribution.Simple.SetupWrapper (setupWrapper) import Distribution.Simple.Configure (configCompilerAux) import Distribution.Simple.Utils (cabalVersion, die, intercalate) import Distribution.Text ( display ) +import Hackage.SetupWrapper + ( setupWrapper, SetupScriptOptions(..), defaultSetupScriptOptions ) import Hackage.Config (SavedConfig(..), savedConfigToConfigFlags, defaultConfigFile, loadConfig, configRepos, configPackageDB) @@ -92,24 +93,24 @@ mainWorker args = ,uploadCommand `commandAddAction` uploadAction ,checkCommand `commandAddAction` checkAction ,sdistCommand `commandAddAction` sdistAction - ,wrapperAction (Cabal.buildCommand defaultProgramConfiguration) - ,wrapperAction Cabal.copyCommand - ,wrapperAction Cabal.haddockCommand - ,wrapperAction Cabal.cleanCommand --- ,wrapperAction Cabal.sdistCommand - ,wrapperAction Cabal.hscolourCommand - ,wrapperAction Cabal.registerCommand --- ,wrapperAction unregisterCommand - ,wrapperAction Cabal.testCommand --- ,wrapperAction programaticaCommand --- ,wrapperAction makefileCommand + ,wrapperAction (Cabal.buildCommand defaultProgramConfiguration) Cabal.buildVerbosity + ,wrapperAction Cabal.copyCommand Cabal.copyVerbosity + ,wrapperAction Cabal.haddockCommand Cabal.haddockVerbosity + ,wrapperAction Cabal.cleanCommand Cabal.cleanVerbosity + ,wrapperAction Cabal.hscolourCommand Cabal.hscolourVerbosity + ,wrapperAction Cabal.registerCommand Cabal.regVerbosity + ,wrapperAction Cabal.testCommand (const mempty) ] -wrapperAction :: Monoid flags => CommandUI flags -> Command (IO ()) -wrapperAction command = - commandAddAction command $ \flags extraArgs -> - let args = commandName command : commandShowOptions command flags ++ extraArgs - in setupWrapper args Nothing +wrapperAction :: Monoid flags + => CommandUI flags + -> (flags -> Flag Verbosity) + -> Command (IO ()) +wrapperAction command verbosityFlag = + commandAddAction command $ \flags extraArgs -> do + let verbosity = fromFlagOrDefault normal (verbosityFlag flags) + setupWrapper verbosity defaultSetupScriptOptions Nothing + command flags extraArgs configureAction :: Cabal.ConfigFlags -> [String] -> IO () configureAction flags extraArgs = do @@ -118,13 +119,20 @@ configureAction flags extraArgs = do config <- loadConfig verbosity configFile let flags' = savedConfigToConfigFlags (Cabal.configUserInstall flags) config `mappend` flags - args = commandName configureCommand - : commandShowOptions configureCommand flags' ++ extraArgs - setupWrapper args Nothing + (comp, conf) <- configCompilerAux flags' + let setupScriptOptions = defaultSetupScriptOptions { + useCompiler = Just comp, + useProgramConfig = conf + } + setupWrapper verbosity setupScriptOptions Nothing + configureCommand flags' extraArgs installAction :: (Cabal.ConfigFlags, InstallFlags) -> [String] -> IO () -installAction (_,iflags) _ - | Cabal.fromFlag (installOnly iflags) = setupWrapper ["install"] Nothing +installAction (cflags,iflags) _ + | Cabal.fromFlag (installOnly iflags) + = let verbosity = fromFlagOrDefault normal (Cabal.configVerbosity cflags) + in setupWrapper verbosity defaultSetupScriptOptions Nothing + Cabal.installCommand mempty [] installAction (cflags,iflags) extraArgs = do pkgs <- either die return (parsePackageArgs extraArgs) _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
