This project is mirrored from https://github.com/haskell/Cabal.
Pull mirroring updated .
- 15 May, 2011 1 commit
-
-
Duncan Coutts authored
-
- 30 Apr, 2011 1 commit
-
-
benmachine authored
-
- 03 May, 2011 1 commit
-
-
Duncan Coutts authored
E.g. cabal install cabal-1.8.0.6 would actually install the latest version instead, because when 'cabal' got corrected to 'Cabal' the associated constraint 'cabal == 1.8.0.6' was not converted to 'Cabal == 1.8.0.6'.
-
- 18 Apr, 2011 3 commits
-
-
Duncan Coutts authored
Will make tracking down problems easier in future.
-
Duncan Coutts authored
It is actually possible for pruning to eliminate required packages because it's possible for it to propagate all the way up to one of the initial targets.
-
ttuegel authored
-
- 14 Apr, 2011 2 commits
-
-
Duncan Coutts authored
e.g. --constraint='foo source' --constraint='baz installed' --constraint='bar +this -that'
-
Duncan Coutts authored
Now log when things get excluded due to installed and source constraints.
-
- 29 Mar, 2011 1 commit
-
-
Duncan Coutts authored
-
- 27 Mar, 2011 8 commits
-
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
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.
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
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.
-
- 26 Mar, 2011 1 commit
-
-
Duncan Coutts authored
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.
-
- 27 Mar, 2011 2 commits
-
-
Duncan Coutts authored
-
Duncan Coutts authored
-
- 04 Mar, 2011 1 commit
-
-
Duncan Coutts authored
Rather than 'available' packages, the source now refers consistently to 'source' packages. This is a bit clearer.
-
- 15 Mar, 2011 1 commit
-
-
Duncan Coutts authored
Fixes ticket #810
-
- 04 Mar, 2011 2 commits
-
-
Duncan Coutts authored
I'd accidentally left out the world target from the parsing phase of the new user target handling system, so cabal install world did not work. Now added to the target parser.
-
Duncan Coutts authored
I made a mistake during the recent refactoring work and was using the dependency planner in the wrong way. The planner was being given the available source packages and duely picking them to satisfy dependencies, but for configure we're supposed to assume that all dependencies are installed already.
-
- 27 Feb, 2011 1 commit
-
-
Duncan Coutts authored
Previously when multiple instances of the same package are installed, e.g. in global and user dbs, we would often end up selecting the wrong instance. Now we select the user one consistently which will solve the problem in most (but not all) cases.
-
- 13 Feb, 2011 15 commits
-
-
Duncan Coutts authored
For several commands, including install the -v verbosity level had far too much useless internall stuff in it. Reduced the amount of output from configuring the compiler, getting installed package and the dependency planner. The extra detail is still available via -v3.
-
Duncan Coutts authored
-
Duncan Coutts authored
-
Duncan Coutts authored
No longer needed now that the world target is handled via UserTarget.
-
Duncan Coutts authored
Also minor tweak to InstallPlan.remove
-
Duncan Coutts authored
Helps to clarify things now that different kinds of packages are fetched in different ways.
-
Duncan Coutts authored
-
Duncan Coutts authored
Allows shorter and clearer code for the various ways the resolver is used.
-
Duncan Coutts authored
The new user target system requires a change in how cabal info works. Instead of just giving package names and looking them up in the available package index, we can now specify names with versions or version constraints which means we want the info to be about that version in particular. We now list many installed and available versions and mark which ones are preferred or not. Also fix a bug for packages that are only installed, not available.
-
Duncan Coutts authored
This will allow us to increase the range of targets that cabal commands can support. The new ones are local directory targets, local cabal files, local tarballs and remote tarballs by URL. Also a better way of doing the special "world" target.
-
Duncan Coutts authored
Works for any package identified by PackageLocation rather than just for repo packages.
-
Duncan Coutts authored
-
Duncan Coutts authored
So we can now use PackageLocation FilePath or Maybe FilePath to describe what we know about the fetch status of package tarballs.
-
Duncan Coutts authored
Currently just a renamed copy of UnresolvedDependency but called WorldPkgInfo and defined in the World module. This is in preparation to remove all other uses of the UnresolvedDependency type.
-
Duncan Coutts authored
And remove import list for Types module, just import it all
-