Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/53c2a4cd2a431c96b9d93e5c7b93cb2db80b86fb >--------------------------------------------------------------- commit 53c2a4cd2a431c96b9d93e5c7b93cb2db80b86fb Author: bjorn <[email protected]> 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 _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
