Commits on Jul 15, 2011
  1. Bump version number

    igfoo committed Jul 15, 2011
Commits on Jul 8, 2011
  1. Bump cabal-install version

    dcoutts committed Jul 8, 2011
  2. Bump Cabal lib version

    dcoutts committed Jul 8, 2011
  3. Fix withComponentsLBI and move Components to LocalBuildInfo module

    dcoutts committed Jul 8, 2011
    An annoyance of the current Simple build system is that each phase
    (build, install, etc) can be passed additional HookedBuildInfo which
    gets merged into the PackageDescription. This means that we cannot
    process the PackageDescription up front at configure time and just
    store and reuse it later, we have to work from it each time afresh.
    The recent addition of Components (libs, exes, test suites) and a
    topoligical sort of the components in the LocalBuildInfo fell foul
    of this annoyance. The LocalBuildInfo stored the entire component
    which meant they were not updated with the HookedBuildInfo. This
    broke packages with custom Setup.hs scripts that took advantage of
    the HookedBuildInfo feature, including those with configure scripts.
    The solution is to store not the list of whole components but the
    list of component names. Then withComponentsLBI retrieves the actual
    components from the PackageDescription which thus includes the
    Also moved the Components into an internal module because (for the
    moment at least) it is part of the Simple build system, not part of
    the package description.
Commits on Jul 6, 2011
  1. Relax some dependencies

    igfoo committed Jul 6, 2011
Commits on Jun 24, 2011
Commits on Jun 19, 2011
  1. Add a short top-level README

    dcoutts committed Jun 19, 2011
  2. Move the Cabal library into a subdir

    dcoutts committed Jun 19, 2011
    At the top level we now have cabal/ and cabal-install/
Commits on Jun 18, 2011
  1. Update changelog for

    dcoutts committed Jun 18, 2011
Commits on May 21, 2011
  1. cabal init: various UI tweaks and changes to the generated .cabal files

    dcoutts committed May 21, 2011
    - Add a default "(none)" option for license and category. There are now no
      questions with no default except for the lib/exe question. For throwaway
      packages user can just keep hitting enter and get something sensible.
    - Prune the list of suggested licenses (remove unversioned GPL, LGPL)
    - Don't include extra-source-files or build-tools when they would be empty
    - Improve the wording of the generated documentation for lib/exe fields
Commits on May 19, 2011
Commits on May 17, 2011
  1. Adjust the initial comment in cabal files generated by cabal init

    dcoutts committed May 17, 2011
    Use slightly longer lines and a somewhat more terse comment.
    Also use a new shorter and hopefully stable URL for the user guide.
  2. Add a cabal init question about whether to generate comments

    dcoutts committed May 17, 2011
    Users will typically only want this the first time they use cabal init.
Commits on May 16, 2011
Commits on May 15, 2011
Commits on May 3, 2011
  1. Fix bug where contraints where lost for case insensitive package matches

    dcoutts committed May 3, 2011
    E.g. cabal install cabal- would actually install the latest version
    instead, because when 'cabal' got corrected to 'Cabal' the associated
    constraint 'cabal ==' was not converted to 'Cabal =='.
Commits on Apr 30, 2011
Commits on Apr 18, 2011
  1. Distinguish the various impossible errors in the solver

    dcoutts committed Apr 18, 2011
    Will make tracking down problems easier in future.
  2. Fix a case in the new solver pruning pass

    dcoutts committed Apr 18, 2011
    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.
Commits on Apr 14, 2011
  1. Add command line support for installed, source and flag constraints

    dcoutts committed Apr 14, 2011
    e.g. --constraint='foo source'
         --constraint='baz installed'
         --constraint='bar +this -that'
  2. Change the use of the InstalledConstraint type and enhance solver log…

    dcoutts committed Apr 14, 2011
    Now log when things get excluded due to installed and source constraints.
Commits on Mar 29, 2011
Commits on Mar 27, 2011
  1. Prune impossible packages as a solver pre-pass

    dcoutts committed Mar 27, 2011
    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.
  2. Update the solver to use the new target tracking

    dcoutts committed Mar 27, 2011
    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.
Commits on Mar 26, 2011
  1. Generalise the constraint set ADT in a couple ways

    dcoutts committed Mar 26, 2011
    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
    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.