[commit: Cabal] master: Call findCompiler in Main for the commands that need it. (53c2a4c)
Ian Lynagh
igloo at earth.li
Fri Jun 24 01:47:18 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/53c2a4cd2a431c96b9d93e5c7b93cb2db80b86fb
>---------------------------------------------------------------
commit 53c2a4cd2a431c96b9d93e5c7b93cb2db80b86fb
Author: bjorn <bjorn at bringert.net>
Date: Sat Oct 13 12:01:15 2007 +0000
Call findCompiler in Main for the commands that need it.
>---------------------------------------------------------------
cabal-install/Hackage/Fetch.hs | 11 ++++++-----
cabal-install/Hackage/Info.hs | 9 +++++----
cabal-install/Hackage/Install.hs | 10 +++++-----
cabal-install/Main.hs | 5 +++--
4 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/cabal-install/Hackage/Fetch.hs b/cabal-install/Hackage/Fetch.hs
index dbd70b4..8b9b0b6 100644
--- a/cabal-install/Hackage/Fetch.hs
+++ b/cabal-install/Hackage/Fetch.hs
@@ -31,10 +31,12 @@ import Text.Printf (printf)
import System.Directory (doesFileExist, createDirectoryIfMissing)
import Hackage.Types (ConfigFlags (..), UnresolvedDependency (..), Repo(..), PkgInfo, pkgInfoId)
-import Hackage.Config (repoCacheDir, packageFile, packageDir, pkgURL, message, findCompiler)
+import Hackage.Config (repoCacheDir, packageFile, packageDir, pkgURL, message)
import Hackage.Dependency (resolveDependencies, packagesToInstall)
import Distribution.Package (showPackageId)
+import Distribution.Simple.Compiler (Compiler)
+import Distribution.Simple.Program (ProgramConfiguration)
import Distribution.Verbosity
import System.FilePath ((</>), (<.>))
import System.Directory (copyFile)
@@ -120,10 +122,9 @@ fetchPackage cfg pkg
downloadPackage cfg pkg
-- |Fetch a list of packages and their dependencies.
-fetch :: ConfigFlags -> [String] -> [UnresolvedDependency] -> IO ()
-fetch cfg _globalArgs deps
- = do (comp,conf) <- findCompiler cfg
- depTree <- resolveDependencies cfg comp conf deps
+fetch :: ConfigFlags -> Compiler -> ProgramConfiguration -> [String] -> [UnresolvedDependency] -> IO ()
+fetch cfg comp conf _globalArgs deps
+ = do depTree <- resolveDependencies cfg comp conf deps
case packagesToInstall depTree of
Left missing -> fail $ "Unresolved dependencies: " ++ show missing
Right pkgs -> do ps <- filterM (fmap not . isFetched cfg) $ map fst pkgs
diff --git a/cabal-install/Hackage/Info.hs b/cabal-install/Hackage/Info.hs
index 6c88f31..c5bea60 100644
--- a/cabal-install/Hackage/Info.hs
+++ b/cabal-install/Hackage/Info.hs
@@ -19,15 +19,16 @@ import Hackage.Types
import Distribution.Package (showPackageId)
import Distribution.ParseUtils (showDependency)
+import Distribution.Simple.Compiler (Compiler)
+import Distribution.Simple.Program (ProgramConfiguration)
import Distribution.Version (Dependency)
import Data.List (intersperse, nubBy)
import Text.Printf (printf)
-info :: ConfigFlags -> [String] -> [UnresolvedDependency] -> IO ()
-info cfg _globalArgs deps
- = do (comp,conf) <- findCompiler cfg
- apkgs <- resolveDependencies cfg comp conf deps
+info :: ConfigFlags -> Compiler -> ProgramConfiguration -> [String] -> [UnresolvedDependency] -> IO ()
+info cfg comp conf _globalArgs deps
+ = do apkgs <- resolveDependencies cfg comp conf deps
mapM_ (infoPkg cfg) $ flattenResolvedPackages apkgs
case packagesToInstall apkgs of
Left missing ->
diff --git a/cabal-install/Hackage/Install.hs b/cabal-install/Hackage/Install.hs
index 45ffac5..aab5e0a 100644
--- a/cabal-install/Hackage/Install.hs
+++ b/cabal-install/Hackage/Install.hs
@@ -25,7 +25,7 @@ import System.FilePath ((</>),(<.>))
import Text.Printf (printf)
-import Hackage.Config (findCompiler, message)
+import Hackage.Config (message)
import Hackage.Dependency (resolveDependencies, packagesToInstall)
import Hackage.Fetch (fetchPackage)
import Hackage.Tar (extractTarGzFile)
@@ -34,6 +34,7 @@ import Hackage.Types (ConfigFlags(..), UnresolvedDependency(..)
import Distribution.Simple.Compiler (Compiler(..))
import Distribution.Simple.InstallDirs (InstallDirs(..), absoluteInstallDirs)
+import Distribution.Simple.Program (ProgramConfiguration)
import Distribution.Simple.SetupWrapper (setupWrapper)
import Distribution.Simple.Setup (CopyDest(..))
import Distribution.Package (showPackageId, PackageIdentifier(..))
@@ -43,10 +44,9 @@ import Distribution.Verbosity
-- |Installs the packages needed to satisfy a list of dependencies.
-install :: ConfigFlags -> [String] -> [UnresolvedDependency] -> IO ()
-install cfg globalArgs deps
- = do (comp,conf) <- findCompiler cfg
- resolvedDeps <- resolveDependencies cfg comp conf deps
+install :: ConfigFlags -> Compiler -> ProgramConfiguration -> [String] -> [UnresolvedDependency] -> IO ()
+install cfg comp conf globalArgs deps
+ = do resolvedDeps <- resolveDependencies cfg comp conf deps
case packagesToInstall resolvedDeps of
Left missing -> fail $ "Unresolved dependencies: " ++ show missing
Right pkgs -> installPackages cfg comp globalArgs pkgs
diff --git a/cabal-install/Main.hs b/cabal-install/Main.hs
index 58454b6..ae66c26 100644
--- a/cabal-install/Main.hs
+++ b/cabal-install/Main.hs
@@ -15,7 +15,7 @@ module Main where
import Hackage.Types (Action (..), Option(..))
import Hackage.Setup (parseGlobalArgs, parsePackageArgs, configFromOptions)
-import Hackage.Config (defaultConfigFile, loadConfig)
+import Hackage.Config (defaultConfigFile, loadConfig, findCompiler)
import Hackage.List (list)
import Hackage.Install (install)
import Hackage.Info (info)
@@ -40,7 +40,8 @@ main = do
let config = configFromOptions conf0 flags
runCmd f = do (globalArgs, pkgs) <- parsePackageArgs action args
- f config globalArgs pkgs
+ (comp, conf) <- findCompiler config
+ f config comp conf globalArgs pkgs
case action of
InstallCmd -> runCmd install
More information about the Cvs-libraries
mailing list