darcs patch: Add new utils, duplicates,
duplicatesBy ... (and 4 more)
duncan at haskell.org
Mon May 5 05:36:41 EDT 2008
If you want to play with the new dependency resolver stuff then here is a
bunch of patches.
Dependency resolvers are now expected to produce a valid InstallPlan. There
is new error checking code to tell you all the ways in which the InstallPlan
your dep resolver produced, is invalid.
The current dep resolver can sometimes produce valid install plans but can
easily be persuaded into making invalid ones, especially if you have many
broken packages installed.
So there's still some work to be done to make the dep resolvers more
pluggable and to try to patch up the current dep resolver a bit.
Sun May 4 20:45:30 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add new utils, duplicates, duplicatesBy and mergeBy
Sun May 4 21:17:42 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use the mergeBy from the Utils module
Sun May 4 21:18:57 BST 2008 Duncan Coutts <duncan at haskell.org>
* Improve InstallPlan error checking and reporting
Instead of just reporting that a plan is invalid, produce a
detailed list of reasons why it is invalid.
This should be useful for people debugging dependency resolvers.
Also rename the complete property to closed, since the property
is about the set being closed under the dependency relation.
Also re-use the PackageIndex functions for checking the validity
conditions rather than re-implementing the checks locally.
Mon May 5 10:05:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Packages are only invalid if they have more than zero problems.
Mon May 5 10:17:43 BST 2008 Duncan Coutts <duncan at haskell.org>
* Switch from DepGraph to InstallPlan
The dependency resolver has had to be extended in a slightly hacky
way to gather the extra information needed by an install plan. In
particular it requires the flags to use to configure each package,
the actual versions of dependencies to use and all of the
installed packages and their closure of dependencies.
However the current resolver is fairly naive and so can be easily
persuaded into producing an invalid install plan, in which case
you'll get a detailed list of reasons as to why it is invalid.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 41503 bytes
Desc: A darcs patch for your repository!
Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080505/03415543/attachment-0001.bin
More information about the cabal-devel