patch applied (cabal-install): Use a more precise package substitution test in improvePlan

Duncan Coutts duncan.coutts at
Fri Dec 19 17:21:24 EST 2008

Fri Dec 19 13:59:22 PST 2008  Duncan Coutts <duncan at>
  * 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:

More information about the cabal-devel mailing list