Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/46509d6bbc8c8b25dab15ec82cea0a36577d37aa >--------------------------------------------------------------- commit 46509d6bbc8c8b25dab15ec82cea0a36577d37aa Author: Andres Loeh <[email protected]> Date: Tue Jun 14 21:27:36 2011 +0000 properly translate package constraints >--------------------------------------------------------------- .../Distribution/Client/Dependency/Modular.hs | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff --git a/cabal-install/Distribution/Client/Dependency/Modular.hs b/cabal-install/Distribution/Client/Dependency/Modular.hs index a24690b..4a0c558 100644 --- a/cabal-install/Distribution/Client/Dependency/Modular.hs +++ b/cabal-install/Distribution/Client/Dependency/Modular.hs @@ -9,7 +9,7 @@ module Distribution.Client.Dependency.Modular where -- plan. import Data.Map as M - ( empty ) + ( empty, fromList ) import Distribution.Client.Dependency.Modular.Assignment ( Assignment, toCPs ) import Distribution.Client.Dependency.Modular.Dependency @@ -20,10 +20,12 @@ import Distribution.Client.Dependency.Modular.IndexConversion ( convPIs ) import Distribution.Client.Dependency.Modular.Log ( logToProgress ) +import Distribution.Client.Dependency.Modular.Package + ( PN ) import Distribution.Client.Dependency.Modular.Solver ( defaultSolver ) import Distribution.Client.Dependency.Types - ( DependencyResolver ) + ( DependencyResolver, PackageConstraint(..) ) import Distribution.Client.InstallPlan ( PlanPackage ) import Distribution.System @@ -33,14 +35,18 @@ modularResolver :: DependencyResolver modularResolver (Platform arch os) cid iidx sidx pprefs pcs pns = fmap (uncurry postprocess) $ -- convert install plan logToProgress $ - defaultSolver idx gprefs uprefs goals gcs gfcs lfcs + defaultSolver idx gprefs uprefs gcs pns gfcs where idx = convPIs os arch cid iidx sidx gprefs = M.empty -- global preferences uprefs = M.empty -- user preferences - goals = pns -- goals/targets - gcs = [] -- global constraints + gcs = M.fromList (map (\ pc -> (pcName pc, pc)) pcs) + -- user constraints gfcs = M.empty -- global flag choices - lfcs = M.empty -- local flag choices postprocess :: Assignment -> RevDepMap -> [PlanPackage] postprocess a rdm = map (convCP iidx sidx) (toCPs a rdm) + pcName :: PackageConstraint -> PN + pcName (PackageConstraintVersion pn _) = pn + pcName (PackageConstraintInstalled pn ) = pn + pcName (PackageConstraintSource pn ) = pn + pcName (PackageConstraintFlags pn _) = pn _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
