This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 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
  2. 14 Nov, 2016 1 commit
  3. 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
  4. 08 Oct, 2016 1 commit
  5. 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
  6. 26 Sep, 2016 2 commits
  7. 24 Sep, 2016 1 commit
  8. 19 Sep, 2016 1 commit
    • Edward Z. Yang's avatar
      Never use --enable-profiling when invoking Setup. · bf3d3e68
      Edward Z. Yang authored
      
      
      In Cabal 1.22.5.0, the semantics of
      --disable-profiling/--enable-profiling depend on ordering (because there
      is a hack that operates by looking at the current flag assignment and
      doing something). In particular, if I specify --enable-library-profiling
      --disable-profiling, I end up with library profiling DISABLED.
      
      The fix is that we NEVER pass --enable-profiling or --disable-profiling
      to Cabal. At the moment, and according to my historical analysis, Cabal
      ONLY uses configProf to affect the effective library/executable
      profiling, which means that anything we do with --enable-profiling, we
      can do using the library/executable profiling individually. Since these
      are always flags for the versions of Cabal library we support, we will
      get order invariance. Historical versions have varied on whether or not
      setting executable profiling implies library profiling, but if we set
      both explicitly this change in behavior doesn't matter.
      
      This patch is difficult to test because the bad profiling flags
      can't be induced on an inplace build.  I tested by hand by building
      a package that depended on 'distributive' by hand.
      
      Fixes #3790.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      bf3d3e68
  9. 18 Sep, 2016 1 commit
  10. 17 Sep, 2016 1 commit
  11. 10 Sep, 2016 3 commits
  12. 06 Sep, 2016 2 commits
  13. 05 Sep, 2016 1 commit
  14. 03 Aug, 2016 1 commit
  15. 23 Jul, 2016 2 commits
  16. 11 Jul, 2016 1 commit
  17. 03 Jul, 2016 1 commit
  18. 02 Jul, 2016 1 commit
  19. 03 Jun, 2016 1 commit
  20. 12 May, 2016 2 commits
  21. 11 May, 2016 3 commits
  22. 06 May, 2016 2 commits
  23. 27 Apr, 2016 1 commit
  24. 26 Apr, 2016 1 commit
  25. 25 Apr, 2016 1 commit
  26. 24 Apr, 2016 2 commits
  27. 17 Mar, 2016 3 commits
    • mightybyte's avatar
      ea01974b
    • Duncan Coutts's avatar
      Correct typos in the cli/config lenses · d3b07300
      Duncan Coutts authored
      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
      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
  28. 28 Feb, 2016 1 commit