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
