Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Nov 12, 2017
    • kristenk's avatar
    • kristenk's avatar
      4528bca1
    • kristenk's avatar
      Add Exe goal qualifier to solver DSL. · 82785686
      kristenk authored
      82785686
    • kristenk's avatar
      Solver: Enforce dependencies on executables (fixes #4781). · e86f8389
      kristenk authored
      This commit adds two checks to the validation phase of the solver:
      
      1. It checks that each newly chosen package instance contains all executables
         that are required from that package so far.
      
      2. It checks that each new build tool dependency that refers to a previously
         chosen package can be satisfied by the executables in that package.
      
      This commit also fixes a TODO related to solver log messages. Previously, it was
      possible for the log to associate an incorrect executable name with a
      dependency.
      e86f8389
    • kristenk's avatar
      Solver: Store names of required executables for build-tool-depends dependencies. · 77125050
      kristenk authored
      This commit changes the field of type 'IsExe' in the 'Dep' data type to
      type 'Maybe UnqualComponentName'.  It also adds the executable name to error
      messages that previously just contained "(exe)".
      77125050
    • kristenk's avatar
      Solver: Use more specific failure reasons for dependency conflicts. · cc95def1
      kristenk authored
      This commit splits the 'Conflicting' constructor of 'FailReason' into five
      different constructors, for different types of dependency conflicts.  This
      change makes it easier to print different error messages for different
      conflicts, though it doesn't change any of the error messages yet.
      
      The refactoring caused a small change to the error message for conflicts caused
      by self-dependencies.
      cc95def1
    • kristenk's avatar
      Fix a TODO in D.S.Modular.Validate. · 00281384
      kristenk authored
      Fixing the TODO caused the solver to report conflicting constraints in the
      opposite order in some cases, but the change didn't seem to have a negative
      impact on the clarity of the error messages.
      
      Here is an example of the change from running
      "cabal install --dry-run nerf --index-state=2017-11-04T18:36:30Z -v3":
      
       [_19] trying: template-haskell-2.11.1.0/installed-2.1... (dependency of tagged)
       [_20] next goal: pretty (dependency of template-haskell)
      -[_20] rejecting: pretty-1.1.3.3/installed-1.1... (conflict: pretty => deepseq==1.4.2.0/installed-1.4..., text => deepseq>=1.1.0.0 && <1.4)
      +[_20] rejecting: pretty-1.1.3.3/installed-1.1... (conflict: text => deepseq>=1.1.0.0 && <1.4, pretty => deepseq==1.4.2.0/installed-1.4...)
       [_20] rejecting: pretty-1.1.3.5, pretty-1.1.3.4, pretty-1.1.3.3, pretty-1.1.3.2, pretty-1.1.3.1, pretty-1.1.2.1, pretty-1.1.2.0, pretty-1.1.1.3, pretty-1.1.1.2, pretty-1.1.1.1, pretty-1.1.1.0, pretty-1.1.0.0, pretty-1.0.1.2, pretty-1.0.1.1, pretty-1.0.1.0, pretty-1.0.0.0 (conflict: template-haskell => pretty==1.1.3.3/installed-1.1...)
       [_20] fail (backjumping, conflict set: pretty, template-haskell, text)
      00281384
    • kristenk's avatar
      Solver: Remove unused FailReason constructor. · 3c637fb7
      kristenk authored
      3c637fb7
  2. Nov 03, 2017
  3. Nov 02, 2017
  4. Nov 01, 2017
  5. Oct 28, 2017
  6. Oct 27, 2017
  7. Oct 26, 2017
Loading