Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Mar 17, 2016
    • Duncan Coutts's avatar
      Correct typos in the cli/config lenses · d3b07300
      Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
      Getters and setters really need to match up.
      
      Detected by parse/print round trip QC tests.
      
      (cherry picked from commit a82af445)
      d3b07300
    • Duncan Coutts's avatar
      New module for new style project configuration files · 92f018c2
      Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
      This defines the new cabal.project files and introduces the notion of a
      project root (and the logic for finding it). Also has support for
      implicit projects when no cabal.project file is defined.
      
      Supports both reading and writing project files or fragments. The
      printing & parsing round trips correctly. QC tests to follow.
      
      This is a key part of the new nix-local-build branch approach, based
      around projects with clear configuration state held in a project file
      (or extra files).
      
      This has support for file and dirs as packages within a project,
      including by glob. It supports both globs that much match a target, and
      optional globs that are allowed to match nothing. It has partial support
      for local tarball, remote http tarball and remote source repo packages.
      
      (cherry picked from commit 324b3240)
      92f018c2
    • Duncan Coutts's avatar
      Add new DistDirLayout module · fe3596b9
      Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
      This describes in one place the layout of the new dist dir, as used by
      the nix-local-build branch. Also a similar approach to describing the
      layout of the user-wide cabal directory.
      
      The idea is that this centralises the description and makes it easier
      to change and handle systematically (e.g. we have problems currently
      with some user-wide files not being reolocatable).
      
      (cherry picked from commit 7907a55c)
      fe3596b9
    • Duncan Coutts's avatar
      New parse utils to help with subsections · 306210bc
      Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
      The existing approach has been to parse top level fields and then
      separately parse each top level section, and similarly for pretty
      printing. A better approach is to follow the pattern for fields and have
      a section description. Then we just parse or print fields+sections in
      one call. And as a bonus, secitons can have subsections (and could even
      do so recursively).
      
      This patch just adds the new functionality. No existing config parsing
      is switched over.
      
      (cherry picked from commit 2f743b6d)
      306210bc
    • Duncan Coutts's avatar
      Refactor withRepoContext so it can takes args separately · c47fbe7c
      Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
      withRepoContext keeps its current type (using GlobalFlags). Added
      withRepoContext' that takes all the args seprately. Better name
      suggestions welcome.
      
      (cherry picked from commit 7b280cdd)
      c47fbe7c
  2. Mar 09, 2016
  3. Mar 07, 2016
  4. Mar 06, 2016
  5. Mar 05, 2016
  6. Mar 04, 2016
  7. Mar 03, 2016
    • Herbert Valerio Riedel's avatar
      Silence -Wredundant-constraints warnings · fa8364f6
      Herbert Valerio Riedel authored
      In GHC 8.0 -Wall implies -Wredundant-constraints, so we have to
      address those warings in one way or another.
      fa8364f6
    • Herbert Valerio Riedel's avatar
      Follow-up to c0ec0b36 · 880ad15e
      Herbert Valerio Riedel authored
      880ad15e
    • Andres Löh's avatar
      Improve goal reorder heuristics. · 150d6ca9
      Andres Löh authored
      This change primarily does two things:
      
      1. For `--reorder-goals`, we use a dedicated datatype `Degree`
         rather than an `Int` to compute the approximate branching
         degree. We map 0 and 1 to the same value. We then use a
         lazy ordering and a shortcutting minimum function to look
         for the "best" goal.
      
         The motivation here is that we do not want to spend
         unnecessary work. Following any goal that has 0 or 1 as degree
         cannot really be "wrong", so we should not look at any others
         and waste time.
      
         This will still not always make the use of `--reorder-goals`
         better than not using it, but it will reduce the overhead
         introduced by it.
      
      2. We use partitioning rather than sorting for most of the other
         goal reordering heuristics that are active in all situations.
         I think this is slightly more straightforward and also slightly
         more efficient, whether `--reorder-goals` is used or not.
      
      I have run some preliminary performance comparisons and they
      seem to confirm that in both cases separately (with or without
      `--reorder-goals`), these changes are a relative improvement
      over the status quo. I will run additional tests before
      merging this into master.
      150d6ca9
    • Mikhail Glushenkov's avatar
      Typos. · cc7aed37
      Mikhail Glushenkov authored
      [ci skip]
      cc7aed37
    • Andres Löh's avatar
      Rename cycle detection phase and typos. · 64a014ec
      Andres Löh authored
      A number of small changes:
      
      - Some comment typos fixed.
      - The main function for cycle detection is now called
        `cycleDetectionPhase`, in analogy with all the other
        phases.
      
      I've run a superficial performance test trying to install
      all of Hackage on a clean db with ghc-7.10.3. This is not
      likely to trigger any situations where cycle detection
      actually kicks in, but it confirms in general that there is
      no negative performance (or correctness) impact for the
      common case.
      
      I've also considered moving the cycle detection phase to
      "earlier" in the solver, but after performance testing, decided
      against it, and documented the decision and the reasons in
      the code.
      64a014ec
    • kristenk's avatar
      Allow inconsistent handling of missing paths in 'sandbox delete-source' tests · 4a06b1d4
      kristenk authored
      Fixes #3059.
      
      cabal's handling of non-existent sources depends on the behavior of the
      directory package. 'canonicalizePath' can fail on non-existent paths before
      directory-1.2.3.0. This commit updates the test 'fail_on_nonexistent_source' to
      allow 'cabal sandbox delete-source' to fail or succeed.  It also changes
      'fail_removing_source_thats_not_registered' so that it only tests existing
      sources.
      4a06b1d4
  8. Mar 02, 2016
  9. Feb 29, 2016
  10. Feb 28, 2016
  11. Feb 24, 2016
  12. Feb 23, 2016
  13. Feb 21, 2016
  14. Feb 20, 2016
Loading