patch applied (cabal-install): "Generalise the constraint set ADT in a couple ways" and 11 others
Duncan Coutts
duncan.coutts at googlemail.com
Mon Apr 18 13:31:58 CEST 2011
Sat Mar 26 10:16:58 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Generalise the constraint set ADT in a couple ways
We now track target packages and only require constraints on those
targets to be satisfiable. This allows us to overconstrain packages
that we do not care about, which is useful for excluding broken
packages.
We also now have a more general way of specifying constraints.
Previously constraints were specified as the conjunction of a version
range predicate and an optional installed constraint. This form made
it impossible to express constraints such as "exclude this source
package". Constraints for a package name are now specified simply by
a function predicate on the package version and installed/source state.
M ./Distribution/Client/Dependency/TopDown.hs -21 +27
M ./Distribution/Client/Dependency/TopDown/Constraints.hs -160 +445
M ./Distribution/Client/Dependency/TopDown/Types.hs -3 +4
M ./Distribution/Client/PackageIndex.hs -1 +10
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110326171658-5c91e-7c203411e7a2bd03bc18e748dd553081aa5534d3.gz
Sun Mar 27 07:57:56 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Update the solver to use the new target tracking
The constraint set ADT now needs to be told which targets we are
interested in, rather than assuming anything we constrain might
be a target.
M ./Distribution/Client/Dependency/TopDown.hs -9 +40
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327145756-5c91e-e28bcab240f6ff9762bfae5bc4533597728a122f.gz
Sun Mar 27 08:37:49 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Eliminate TaggedDependency type from solver code
M ./Distribution/Client/Dependency/TopDown.hs -20 +21
M ./Distribution/Client/Dependency/TopDown/Types.hs -11 +4
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327153749-5c91e-8b49d31b11344b5abde55387fbb2dd4032d6e6c7.gz
Sun Mar 27 09:40:48 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Distinguish installed constraint error messages
M ./Distribution/Client/Dependency/TopDown.hs -3 +13
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327164048-5c91e-91e87beada754922192e57c497e95c3f2828ddbb.gz
Sun Mar 27 10:57:33 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Prune impossible packages as a solver pre-pass
There are many packages that can never be successfully configured
and by pruning them early we reduce the number of choices for the
solver later (which is good since the solver does no backtracking
when it makes bad choices). This relies on two recent features:
1. we can now express constraints that exclude a particular source
package and 2. that we can exclude packages without needing to know
whether or not they will ever be needed.
M ./Distribution/Client/Dependency/TopDown.hs -9 +62
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327175733-5c91e-de4c7d7e2f4aca0c8d68958168af963d9bc6f68e.gz
Sun Mar 27 11:02:06 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Log package exclusions due to top level constraints
M ./Distribution/Client/Dependency/TopDown.hs -4 +5
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327180206-5c91e-a192815653cc3e95d62e7a328bf84225beb6f16d.gz
Sun Mar 27 11:02:52 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Tweak to conflict constraint error message
M ./Distribution/Client/Dependency/TopDown.hs -2 +2
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327180252-5c91e-bde160da3d17ff05c5394a9573dbff50e21aee3d.gz
Sun Mar 27 15:37:43 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Remove a module dependency to avoid cyclic imports
M ./Distribution/Client/Fetch.hs -1 +3
M ./Distribution/Client/Install.hs -1 +3
M ./Distribution/Client/List.hs -1 +2
M ./Distribution/Client/Targets.hs -11 +5
M ./Distribution/Client/Unpack.hs -2 +4
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327223743-5c91e-02e7c59301b7a37d4fd939f674ae2f6c83e3eb46.gz
Sun Mar 27 16:52:54 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Rename the constructors of PackageConstraint to be more consistent
M ./Distribution/Client/Configure.hs -2 +2
M ./Distribution/Client/Dependency.hs -2 +2
M ./Distribution/Client/Dependency/TopDown.hs -4 +4
M ./Distribution/Client/Dependency/Types.hs -3 +3
M ./Distribution/Client/Install.hs -2 +2
M ./Distribution/Client/List.hs -1 +1
M ./Distribution/Client/Targets.hs -4 +4
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110327235254-5c91e-d383dd961067085735fefb7b62d788f93d160bb9.gz
Tue Mar 29 02:57:10 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Add support for source constraints to the solver
M ./Distribution/Client/Dependency/TopDown.hs +23
M ./Distribution/Client/Dependency/TopDown/Types.hs -5 +8
M ./Distribution/Client/Dependency/Types.hs +1
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110329095710-5c91e-035db6156112c9caf8f05ec8ffaf7f74dcdb3886.gz
Thu Apr 14 13:47:29 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Change the use of the InstalledConstraint type and enhance solver logging
Now log when things get excluded due to installed and source constraints.
M ./Distribution/Client/Dependency/TopDown.hs -59 +83
M ./Distribution/Client/Dependency/TopDown/Types.hs -2 +1
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110414204729-5c91e-4e0cef3d12d7a517b9fa4db15fadc1affa29592c.gz
Thu Apr 14 13:52:40 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Add command line support for installed, source and flag constraints
e.g. --constraint='foo source'
--constraint='baz installed'
--constraint='bar +this -that'
M ./Distribution/Client/Configure.hs -2 +5
M ./Distribution/Client/Install.hs -2 +1
M ./Distribution/Client/Setup.hs -6 +20
M ./Distribution/Client/Targets.hs -9 +92
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal-install;a=darcs_commitdiff;h=20110414205240-5c91e-a0b9b951b80a0a4d4a9ab0a2e1f2f574d395bda7.gz
More information about the cabal-devel
mailing list