[commit: Cabal] master: Remove a module dependency to avoid cyclic imports (68d9269)
Ian Lynagh
igloo at earth.li
Fri Jun 24 02:08:53 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/68d92699e5536eb86ddfaa02f818b52230640768
>---------------------------------------------------------------
commit 68d92699e5536eb86ddfaa02f818b52230640768
Author: Duncan Coutts <duncan at community.haskell.org>
Date: Sun Mar 27 22:37:43 2011 +0000
Remove a module dependency to avoid cyclic imports
>---------------------------------------------------------------
cabal-install/Distribution/Client/Fetch.hs | 4 +++-
cabal-install/Distribution/Client/Install.hs | 4 +++-
cabal-install/Distribution/Client/List.hs | 3 ++-
cabal-install/Distribution/Client/Targets.hs | 16 +++++-----------
cabal-install/Distribution/Client/Unpack.hs | 6 ++++--
5 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/cabal-install/Distribution/Client/Fetch.hs b/cabal-install/Distribution/Client/Fetch.hs
index 3b021a5..f69bf85 100644
--- a/cabal-install/Distribution/Client/Fetch.hs
+++ b/cabal-install/Distribution/Client/Fetch.hs
@@ -83,7 +83,9 @@ fetch verbosity packageDBs repos comp conf
sourcePkgDb <- getSourcePackages verbosity repos
pkgSpecifiers <- resolveUserTargets verbosity
- globalFlags (packageIndex sourcePkgDb) userTargets
+ (fromFlag $ globalWorldFile globalFlags)
+ (packageIndex sourcePkgDb)
+ userTargets
pkgs <- planPackages
verbosity comp fetchFlags
diff --git a/cabal-install/Distribution/Client/Install.hs b/cabal-install/Distribution/Client/Install.hs
index 620ad0c..e27477d 100644
--- a/cabal-install/Distribution/Client/Install.hs
+++ b/cabal-install/Distribution/Client/Install.hs
@@ -159,7 +159,9 @@ install verbosity packageDBs repos comp conf
| otherwise = userTargets0
pkgSpecifiers <- resolveUserTargets verbosity
- globalFlags (packageIndex sourcePkgDb) userTargets
+ (fromFlag $ globalWorldFile globalFlags)
+ (packageIndex sourcePkgDb)
+ userTargets
notice verbosity "Resolving dependencies..."
installPlan <- foldProgress logMsg die return $
diff --git a/cabal-install/Distribution/Client/List.hs b/cabal-install/Distribution/Client/List.hs
index 993738e..aa1d492 100644
--- a/cabal-install/Distribution/Client/List.hs
+++ b/cabal-install/Distribution/Client/List.hs
@@ -155,7 +155,8 @@ info verbosity packageDBs repos comp conf
$ map packageId (PackageIndex.allPackages installedPkgIndex)
++ map packageId (PackageIndex.allPackages sourcePkgIndex)
pkgSpecifiers <- resolveUserTargets verbosity
- globalFlags sourcePkgs' userTargets
+ (fromFlag $ globalWorldFile globalFlags)
+ sourcePkgs' userTargets
pkgsinfo <- sequence
[ do pkginfo <- either die return $
diff --git a/cabal-install/Distribution/Client/Targets.hs b/cabal-install/Distribution/Client/Targets.hs
index 194cf4f..f039eec 100644
--- a/cabal-install/Distribution/Client/Targets.hs
+++ b/cabal-install/Distribution/Client/Targets.hs
@@ -58,10 +58,6 @@ import Distribution.PackageDescription
( GenericPackageDescription )
import Distribution.PackageDescription.Parse
( readPackageDescription, parsePackageDescription, ParseResult(..) )
-import Distribution.Simple.Setup
- ( fromFlag )
-import Distribution.Client.Setup
- ( GlobalFlags(..) )
import Distribution.Version
( Version(Version), thisVersion, anyVersion, isAnyVersion )
import Distribution.Text
@@ -341,17 +337,17 @@ reportUserTargetProblems problems = do
--
resolveUserTargets :: Package pkg
=> Verbosity
- -> GlobalFlags
+ -> FilePath
-> PackageIndex pkg
-> [UserTarget]
-> IO [PackageSpecifier SourcePackage]
-resolveUserTargets verbosity globalFlags available userTargets = do
+resolveUserTargets verbosity worldFile available userTargets = do
-- given the user targets, get a list of fully or partially resolved
-- package references
packageTargets <- mapM (readPackageTarget verbosity)
=<< mapM (fetchPackageTarget verbosity) . concat
- =<< mapM (expandUserTarget globalFlags) userTargets
+ =<< mapM (expandUserTarget worldFile) userTargets
-- users are allowed to give package names case-insensitively, so we must
-- disambiguate named package references
@@ -391,10 +387,10 @@ data PackageTarget pkg =
-- | Given a user-specified target, expand it to a bunch of package targets
-- (each of which refers to only one package).
--
-expandUserTarget :: GlobalFlags
+expandUserTarget :: FilePath
-> UserTarget
-> IO [PackageTarget (PackageLocation ())]
-expandUserTarget globalFlags userTarget = case userTarget of
+expandUserTarget worldFile userTarget = case userTarget of
UserTargetNamed (Dependency name vrange) ->
let constraints = [ PackageVersionConstraint name vrange
@@ -424,8 +420,6 @@ expandUserTarget globalFlags userTarget = case userTarget of
UserTargetRemoteTarball tarballURL ->
return [ PackageTargetLocation (RemoteTarballPackage tarballURL ()) ]
- where
- worldFile = fromFlag $ globalWorldFile globalFlags
-- ------------------------------------------------------------
diff --git a/cabal-install/Distribution/Client/Unpack.hs b/cabal-install/Distribution/Client/Unpack.hs
index 5319686..ccc9ed7 100644
--- a/cabal-install/Distribution/Client/Unpack.hs
+++ b/cabal-install/Distribution/Client/Unpack.hs
@@ -21,7 +21,7 @@ module Distribution.Client.Unpack (
import Distribution.Package
( PackageId, packageId )
import Distribution.Simple.Setup
- ( fromFlagOrDefault )
+ ( fromFlag, fromFlagOrDefault )
import Distribution.Simple.Utils
( notice, die )
import Distribution.Verbosity
@@ -63,7 +63,9 @@ unpack verbosity repos globalFlags unpackFlags userTargets = do
sourcePkgDb <- getSourcePackages verbosity repos
pkgSpecifiers <- resolveUserTargets verbosity
- globalFlags (packageIndex sourcePkgDb) userTargets
+ (fromFlag $ globalWorldFile globalFlags)
+ (packageIndex sourcePkgDb)
+ userTargets
pkgs <- either (die . unlines . map show) return $
resolveWithoutDependencies
More information about the Cvs-libraries
mailing list