This project is mirrored from Pull mirroring updated .
  1. 22 Nov, 2017 1 commit
    • Ben Gamari's avatar
      Split sections support for GHC · 450d6bc4
      Ben Gamari authored
      Add --enable-split-sections flag and pipe it through to the GHC backend. Note
      that some of the implementation here could be made a bit more precise:
      -split-sections and -split-objs are mutually exlusive yet the types don't
      currently reflect this.
      Fixes #4819.
  2. 22 Oct, 2017 1 commit
    • Moritz Angermann's avatar
      Adds `new-update` · b3af0bab
      Moritz Angermann authored
      new-update uses the new-style logic to update the repositories.  As such it
      respects `repository` fields in the `cabal.project(.local)` file and updates
      them as well.  This is essential when working with hackage overlays, where
      the overlay repositories are specified as `repository` fields in the
      `cabal.project(.local)` file.
  3. 10 Sep, 2017 1 commit
  4. 09 Aug, 2017 1 commit
    • Herbert Valerio Riedel's avatar
      Refactor 'RelaxDeps' to avoid semantic ambiguity of mempty value · 4066ea7a
      Herbert Valerio Riedel authored
      This removes the redundancy between `RelaxDepsNone` and
      `RelaxDepsSome []` by removing `RelaxDepsNone`.
      This way we avoid the risk of subtle bugs that can occur if the same
      semantic value can be expressed in a non-unique way.
      A further step to normalise the type would be to turn `[RelaxedDep]`
      into `Set RelaxedDep`, but there is no operation that would
      significantly benefit from that yet.
  5. 02 Aug, 2017 2 commits
  6. 01 Aug, 2017 1 commit
  7. 19 May, 2017 1 commit
  8. 18 May, 2017 1 commit
    • Herbert Valerio Riedel's avatar
      Remove --allow-{newer,older} support from Cabal · a95b8f4e
      Herbert Valerio Riedel authored
      This is a preparatory refactoring needed for future work such as #4203.
      I've refrained from doing additional cleanups in order to keep this a
      refactoring that mostly moves around blocks of code mostly
      unchanged (except for whitespace), and make it easier to review.
      This feature was originally implemented because its lack was complained
      about by Stack/Stackage developers. However, after it got implemented it
      was never really being used; what's more, it's causing us overhead for
      no benefit as well as blocking us improving the implementation via the
      likes of #4203.
      Closes #3581
  9. 05 May, 2017 1 commit
  10. 03 May, 2017 1 commit
  11. 01 May, 2017 1 commit
    • kristenk's avatar
      Uncomment --independent-goals flag. · 4ee0df39
      kristenk authored
      --independent-goals could be useful for using local packages as setup or
      build-tool dependencies in new-build.  See #4295 for an example of a dependency
      problem that requires --independent-goals.  The flag is off by default.
  12. 29 Apr, 2017 1 commit
    • Moritz Angermann's avatar
      Add `doctest’ command. · 435fd96e
      Moritz Angermann authored
      This adds the `doctest` command to cabal.  It does however not yet work as the driver
      is baiscally a stub.
      This is therfore only the first step towards #2327.
  13. 23 Mar, 2017 1 commit
  14. 11 Mar, 2017 1 commit
  15. 27 Feb, 2017 3 commits
  16. 24 Feb, 2017 2 commits
    • Daniel Wagner's avatar
      bare-bones new-exec support · 585fe3a4
      Daniel Wagner authored
      This implements a bare-bones skeleton for cabal new-exec.
      The old cabal exec gave programs access to a sandbox's package database.
      By analogy, cabal new-exec should give programs access to the store's
      package database; however, this database will be cluttered with many
      non-project-related packages that may confuse issues. Therefore new-exec
      selects just the packages that are in the current project's dependency
      tree and makes them available to compiler tools. Currently only very new
      GHCs are supported, via the GHC_ENVIRONMENT mechanism for selecting a
      subset of some package databases.
      Eventually we should probably also modify the PATH so that dependencies'
      executables are available.
    • Edward Z. Yang's avatar
      Support cabal update --index-state. · 8abf69ea
      Edward Z. Yang authored and Edward Z. Yang's avatar Edward Z. Yang committed
      The strategy is to save an 01-index.timestamp file that remembers
      what --index-state the user requested during cabal update.
      Subsequently, we use that index state if no more precise
      index state was specified (via the flag or a project config.)
      Signed-off-by: default avatarEdward Z. Yang <>
  17. 19 Feb, 2017 2 commits
  18. 19 Jan, 2017 2 commits
  19. 17 Jan, 2017 4 commits
  20. 16 Jan, 2017 1 commit
  21. 12 Jan, 2017 1 commit
  22. 05 Jan, 2017 1 commit
  23. 05 Dec, 2016 1 commit
  24. 27 Nov, 2016 2 commits
  25. 15 Nov, 2016 1 commit
    • Herbert Valerio Riedel's avatar
      Add `--index-state` support to `cabal get` · f10b7a28
      Herbert Valerio Riedel authored
      With this `cabal get` gains the ability to
       a) unpack and update with the .cabal revision which was
          active at the given index-state, as well as
       b) allow to unpack the most recent package version
          (while satisfying imposed version constraints) as of
          the given index-state
      The `--index-state` flag can be combined with `--pristine` if only b) is
  26. 14 Nov, 2016 1 commit
  27. 20 Oct, 2016 1 commit
    • Christiaan Baaij's avatar
      Add `--dynlibdir` · d2da6558
      Christiaan Baaij authored
      `--dynlibdir` indicates the directory in which dynamic libraries
      are installed. By default this setting is equal to:
      The static libraries will still end up in:
      With `$libsubdir/$abi` as the default directory for dynamic
      libraries, dynamic libraries will by default end up in a
      single shared directory (per package database). This has the
      potential to reduce start-up times for dynamically linked
      executable as only one RPATH per package database will be
      This commit uses the functionality defined in
      to tell GHC's > 8.0.1 package database that dynamic libraries
      are copied to the directories mentioned in the
  28. 08 Oct, 2016 1 commit
  29. 28 Sep, 2016 1 commit
    • Herbert Valerio Riedel's avatar
      Make `Version` type opaque (#3905) · bb2026c4
      Herbert Valerio Riedel authored
      Similiar to dabd9d98 which made
      `PackageName` opaque, this makes `Distribution.Version.Version` opaque.
      The most common version numbers occuring on Hackage are 3- and
      4-part versions. This results in significant Heap overhead due to
      `Data.Version`'s inefficient internal representation.
      So like the `PackageName` commit, this commit is a preparatory commit to
      pave the way for replacing `Version`'s internal representation by a
      representation with a memory footprint which can be an order of
      magnitude smaller.
      Finally, this also adds a new functor-like convenience function
          alterVersion :: ([Int] -> [Int]) -> Version -> Version
      for modifying the version number components.
  30. 26 Sep, 2016 1 commit