patch applied (cabal-install): Use a more precise package
substitution test in improvePlan
Duncan Coutts
duncan.coutts at worc.ox.ac.uk
Fri Dec 19 17:21:24 EST 2008
Fri Dec 19 13:59:22 PST 2008 Duncan Coutts <duncan at haskell.org>
* Use a more precise package substitution test in improvePlan
This is where we take a valid plan and we "improve" it by swapping
installed packages for available packages wherever possible. This
change is to the condition we use in deciding if it is safe to use
the installed package in place of a reinstall. Previously we checked
that the dependencies of the installed version were exactly the same
as the dependencies we were planning to reinstall with. That was
valid but rather conservative. It caused problems in some situations
where the installed package did not exactly match the available
package (eg when using development versions of a package or of ghc).
What we do now is test if the extra constraints implied by selecting
the installed version are consistent with the existing set of
constraints. This involves threading the constraint set around. In
theory this should even cope with adding additional packages to the
plan as a result of selecting an installed package.
M ./Distribution/Client/Dependency/TopDown.hs -19 +47
View patch online:
http://darcs.haskell.org/cabal-install/_darcs/patches/20081219215922-adfee-1aeb113009c3ea32185a0cc79c8a1e0057b91959.gz
More information about the cabal-devel
mailing list