Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/cb6c475813eb54889532425f650dc773d6da6955

>---------------------------------------------------------------

commit cb6c475813eb54889532425f650dc773d6da6955
Author: Andres Loeh <[email protected]>
Date:   Tue Jun 14 10:18:50 2011 +0000

    modular resolver now standard

>---------------------------------------------------------------

 cabal-install/Distribution/Client/Dependency.hs    |    4 +-
 .../Distribution/Client/Dependency/Modular.hs      |   30 +++++++++++++------
 2 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/cabal-install/Distribution/Client/Dependency.hs 
b/cabal-install/Distribution/Client/Dependency.hs
index 8788ea7..57d41c9 100644
--- a/cabal-install/Distribution/Client/Dependency.hs
+++ b/cabal-install/Distribution/Client/Dependency.hs
@@ -49,7 +49,7 @@ module Distribution.Client.Dependency (
   ) where
 
 import Distribution.Client.Dependency.TopDown (topDownResolver)
-import Distribution.Client.Dependency.Modular ()
+import Distribution.Client.Dependency.Modular (modularResolver)
 import qualified Distribution.Client.PackageIndex as PackageIndex
 import qualified Distribution.Simple.PackageIndex as InstalledPackageIndex
 import qualified Distribution.Client.InstallPlan as InstallPlan
@@ -268,7 +268,7 @@ standardInstallPolicy
 -- ------------------------------------------------------------
 
 defaultResolver :: DependencyResolver
-defaultResolver = topDownResolver
+defaultResolver = modularResolver
 
 -- | Run the dependency solver.
 --
diff --git a/cabal-install/Distribution/Client/Dependency/Modular.hs 
b/cabal-install/Distribution/Client/Dependency/Modular.hs
index 21f838a..a24690b 100644
--- a/cabal-install/Distribution/Client/Dependency/Modular.hs
+++ b/cabal-install/Distribution/Client/Dependency/Modular.hs
@@ -8,6 +8,14 @@ module Distribution.Client.Dependency.Modular where
 -- and finally, we have to convert back the resulting install
 -- plan.
 
+import Data.Map as M
+         ( empty )
+import Distribution.Client.Dependency.Modular.Assignment
+         ( Assignment, toCPs )
+import Distribution.Client.Dependency.Modular.Dependency
+         ( RevDepMap )
+import Distribution.Client.Dependency.Modular.ConfiguredConversion
+         ( convCP )
 import Distribution.Client.Dependency.Modular.IndexConversion
          ( convPIs )
 import Distribution.Client.Dependency.Modular.Log
@@ -21,16 +29,18 @@ import Distribution.Client.InstallPlan
 import Distribution.System
          ( Platform(..) )
 
-modularSolver :: DependencyResolver
-modularSolver (Platform arch os) cid iidx sidx pprefs pcs pns =
-  fmap undefined $ -- convert install plan
+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
     where
-      idx    = convPIs os arch cid undefined sidx
-      gprefs = undefined
-      uprefs = undefined
-      goals  = undefined
-      gcs    = undefined
-      gfcs   = undefined
-      lfcs   = undefined
+      idx    = convPIs os arch cid iidx sidx
+      gprefs = M.empty  -- global preferences
+      uprefs = M.empty  -- user preferences
+      goals  = pns      -- goals/targets
+      gcs    = []       -- global 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)



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to