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

Reply via email to