Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/0a65d34d6814676cf1571c13f2515231950bbf6a

>---------------------------------------------------------------

commit 0a65d34d6814676cf1571c13f2515231950bbf6a
Author: Duncan Coutts <[email protected]>
Date:   Mon Apr 14 14:34:57 2008 +0000

    Simplify install --only implementation
    The install --only doesn't do any planning or build
    reporting so make it completely separate so we do
    not have to make up fake build plans or results.

>---------------------------------------------------------------

 cabal-install/Hackage/Install.hs |   21 +++++----------------
 cabal-install/Main.hs            |    3 +++
 2 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/cabal-install/Hackage/Install.hs b/cabal-install/Hackage/Install.hs
index 34bbfac..32c2a17 100644
--- a/cabal-install/Hackage/Install.hs
+++ b/cabal-install/Hackage/Install.hs
@@ -74,15 +74,14 @@ install :: Verbosity
         -> IO ()
 install verbosity packageDB repos comp conf configFlags installFlags deps = do
   let dryRun = Cabal.fromFlag (installDryRun installFlags)
-      onlyInstall = Cabal.fromFlag (installOnly installFlags)
       -- ignore --root-cmd if --user.
       rootCmd | Cabal.fromFlag (Cabal.configUserInstall configFlags) = Nothing
               | otherwise = Cabal.flagToMaybe (installRootCmd installFlags)
   buildResults <- if null deps 
-    then if onlyInstall -- used only internally, we assume there's no other 
interesting flag.
-           then installLocalPackageOnly verbosity
-           else installLocalPackage verbosity packageDB repos comp conf 
configFlags dryRun rootCmd
-    else installRepoPackages verbosity packageDB repos comp conf configFlags 
dryRun rootCmd deps
+    then installLocalPackage verbosity
+           packageDB repos comp conf configFlags dryRun rootCmd
+    else installRepoPackages verbosity
+           packageDB repos comp conf configFlags dryRun rootCmd deps
   case filter (buildFailed . snd) buildResults of
     []     -> return () --TODO: return the build results
     failed -> die $ "Error: some packages failed to install:\n"
@@ -119,7 +118,7 @@ installLocalPackage verbosity packageDB repos comp conf 
configFlags dryRun rootC
       desc <- readPackageDescription verbosity cabalFile
       installed <- getInstalledPackages verbosity comp packageDB conf
       available <- fmap mconcat (mapM (IndexUtils.readRepoIndex verbosity) 
repos)
-      --TODO:
+      --TODO: print the info again
       -- details <- mapM Info.infoPkg (Info.flattenResolvedDependencies 
resolvedDeps)
       -- info verbosity $ unlines (map ("  "++) (concat details))
       buildResults <- case resolveDependenciesLocal buildOS buildArch
@@ -136,16 +135,6 @@ installLocalPackage verbosity packageDB repos comp conf 
configFlags dryRun rootC
         else do buildResult <- installUnpackedPkg verbosity configFlags 
Nothing rootCmd
                 return ((packageId (packageDescription desc), buildResult) : 
buildResults)
 
--- | Installs the package without also configuring and building. i.e. copy + 
register
-installLocalPackageOnly :: Verbosity -> IO [(PackageIdentifier, BuildResult)]
-installLocalPackageOnly verbosity =
-  do cabalFile <- defaultPackageDesc verbosity
-     desc <- readPackageDescription verbosity cabalFile
-     buildResult <- onFailure InstallFailed $ do
-                      setupWrapper ["install"] Nothing
-                      return BuildOk
-     return [(packageId (packageDescription desc), buildResult)]
-
 installRepoPackages :: Verbosity
                     -> PackageDB
                     -> [Repo]
diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs
index 17bf8bb..8f5ff5d 100644
--- a/cabal-install/Main.hs
+++ b/cabal-install/Main.hs
@@ -123,6 +123,9 @@ configureAction flags extraArgs = do
   setupWrapper args Nothing
 
 installAction :: (Cabal.ConfigFlags, InstallFlags) -> [String] -> IO ()
+installAction (_,iflags) _
+  | Cabal.fromFlag (installOnly iflags) = setupWrapper ["install"] Nothing
+
 installAction (cflags,iflags) extraArgs = do
   pkgs <- either die return (parsePackageArgs extraArgs)
   configFile <- defaultConfigFile --FIXME



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to