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 <[email protected]> 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 _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
