Sat Mar 26 10:16:58 PDT 2011 Duncan Coutts <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 <dun...@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 _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel