This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 10 Sep, 2017 1 commit
  2. 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.
      4066ea7a
  3. 02 Aug, 2017 2 commits
  4. 01 Aug, 2017 1 commit
  5. 19 May, 2017 1 commit
  6. 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
      a95b8f4e
  7. 05 May, 2017 1 commit
  8. 03 May, 2017 1 commit
  9. 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.
      4ee0df39
  10. 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.
      435fd96e
  11. 23 Mar, 2017 1 commit
  12. 11 Mar, 2017 1 commit
  13. 27 Feb, 2017 3 commits
  14. 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.
      585fe3a4
    • Edward Z. Yang's avatar
      Support cabal update --index-state. · 8abf69ea
      Edward Z. Yang authored
      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 <ezyang@cs.stanford.edu>
      8abf69ea
  15. 19 Feb, 2017 2 commits
  16. 19 Jan, 2017 2 commits
  17. 17 Jan, 2017 4 commits
  18. 16 Jan, 2017 1 commit
  19. 12 Jan, 2017 1 commit
  20. 05 Jan, 2017 1 commit
  21. 05 Dec, 2016 1 commit
  22. 27 Nov, 2016 2 commits
  23. 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
      desired.
      f10b7a28
  24. 14 Nov, 2016 1 commit
  25. 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:
      
      `$libdir/$abi`
      
      The static libraries will still end up in:
      
      `$libdir/$libsubdir`
      
      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
      needed.
      
      This commit uses the functionality defined in
      
      https://phabricator.haskell.org/D2611
      
      to tell GHC's > 8.0.1 package database that dynamic libraries
      are copied to the directories mentioned in the
      
      `dynamic-library-dirs`
      
      field.
      d2da6558
  26. 08 Oct, 2016 1 commit
  27. 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.
      bb2026c4
  28. 26 Sep, 2016 2 commits
  29. 24 Sep, 2016 1 commit