This project is mirrored from Pull mirroring updated .
  1. 16 Sep, 2016 1 commit
  2. 13 Sep, 2016 2 commits
  3. 11 Sep, 2016 1 commit
    • ttuegel's avatar
      Revert "Respect GHC_PACKAGE_PATH" · 9c14b642
      ttuegel authored
      This reverts commit e7d2a62c due to a
      The package databases obtained from GHC_PACKAGE_PATH should be stored in
      the LocalBuildInfo and passed to GHC when necessary; otherwise, the user
      could change GHC_PACKAGE_PATH causing GHC and Cabal to see inconsistent
      installed package sets. cabal-install should trigger reconfiguration if
      GHC_PACKAGE_PATH changes.
  4. 08 Sep, 2016 1 commit
    • Edward Z. Yang's avatar
      Add support for extended verbosity specification -v"debug +callsite" · 83c93c10
      Edward Z. Yang authored
      This patch uses CallStack support in GHC 7.10 and GHC 8.0 to make
      it possible to get stack traces when we log output.
      This is the bare minimum to make this patch useful: there is
      plenty of tuning that can be done.  For example:
      * Insertions of withFrozenCallStack can help make the "callsite" output
        more useful, though be careful, we lose all stack information at that point!
      * Insertions of 'WithVerbosity', which will let us get deeper stacks
        (at the moment, they are basically always 1-deep.)
      Fixes #3768.
      CC @23Skidoo
      Signed-off-by: default avatarEdward Z. Yang <>
  5. 01 Sep, 2016 2 commits
  6. 21 Aug, 2016 2 commits
    • Edward Z. Yang's avatar
    • Edward Z. Yang's avatar
      One-component configure, fixes #2802. · a090a494
      Edward Z. Yang authored
      Described in:
      ./Setup configure now takes an argument to specify a specific
      component name that should solely be configured.
      Most of the gyrations in Configure are all about making it so that
      we can feed in internal dependencies via --dependency.
      I dropped the package name match sanity check to handle convenience
      library package name munging.  Consider an internal library named
      'q' in package 'p'.  When we install it to the package database,
      we munged the package name into 'z-p-z-q', so that it doesn't
      conflict with the actual package named 'q'.  Now consider when
      we feed it in with --dependency q=p-0.1-hash-q.  Previously,
      Cabal checked that the 'q' in --dependency matched the package
      name in the database... which it doesn't. So I dropped the check.
      I also had to make register/copy unconditionally install internal
      libraries; otherwise you can't refer to them from later builds.
      Also a miscellaneous refactor: convenience libraries are printed with a
      "header" stanza now (not really a stanza header).
      Signed-off-by: default avatarEdward Z. Yang <>
  7. 20 Aug, 2016 1 commit
  8. 13 Aug, 2016 1 commit
  9. 11 Aug, 2016 1 commit
    • fmaste's avatar
      Add new 'autogen-modules' field · c0108673
      fmaste authored
      Modules that are built automatically at setup, like Paths_PACKAGENAME or others created with a build-type custom, appear on 'other-modules' for the Library, Executable, Test-Suite or Benchmark stanzas or also on 'exposed-modules' for libraries but are not really on the package when distributed. This makes commands like sdist fail because the file is not found, so with this new field modules that appear there are treated the same way as Paths_PACKAGENAME was and there is no need to create complex build hooks.
      Just add the module names on 'other-modules' and 'exposed-modules' as always and on the new 'autogen-modules' besides.
  10. 23 Jul, 2016 3 commits
    • Edward Z. Yang's avatar
      Refactor LocalBuildInfo interface. · d94ddc0e
      Edward Z. Yang authored
      This is an omnibus patch, with the overall goal of making
      LocalBuildInfo Great Again.  The essential ideas:
      * New type 'TargetInfo' which bundles together 'ComponentLocalBuildInfo'
        and 'Component'.  Eventually, it will also record file paths / module
        targets.  This data structure is basically what you want; a lot of
        old Cabal code did lots of gyrations converting from
        'ComponentLocalBuildInfo' to 'Component' and vice versa, now
        it's all centralized.
      * The "new" API for 'LocalBuildInfo' is in
        "Distribution.Types.LocalBuildInfo".  The general principle
        is, where we previous dealt in 'ComponentLocalBuildInfo',
        we now deal in 'TargetInfo'.  There are shockingly few
        functions we need!
      * I've restored 'componentsConfigs' to its Cabal 1.24 signature
        for BC.
      * I killed a number of unused functions from "Distribution.Simple.LocalBuildInfo":
        'getLocalComponent', 'maybeGetDefaultLibraryLocalBuildInfo',
        'maybeGetComponentLocalBuildInfo', 'checkComponentsCyclic' and
        'enabledComponents'.  For each I checked on Hackage that they were
        not used.
      * 'getComponentLocalBuildInfo', 'withComponentsInBuildOrder' and
        'componentsInBuildOrder' are deprecated to encourage people
        to instead use the 'TargetInfo's to finger which components
        they want built.
      * 'ComponentLocalBuildInfo' now stores internally the computed
        'componentInternalDeps', so that 'LocalBuildInfo' can simply store
        a graph of 'ComponentLocalBuildInfo'.
      * The code in Configure has been streamlined to use our new Graph
        data type to great success.
      * The type of 'runTest' changed to take a 'ComponentLocalBuildInfo',
        bringing it more in line with everything else.
      * New function 'readTargetInfos' which combines 'readBuildTargets'
        and 'checkBuildTargets', which is what you really wanted anyway.
      Signed-off-by: default avatarEdward Z. Yang <>
    • Edward Z. Yang's avatar
    • Herbert Valerio Riedel's avatar
      Implement `--allow-older` (dual to `--allow-newer`) (#3466) · 5944c3e9
      Herbert Valerio Riedel authored
      This implements the flag `--allow-older` which is the analogous to
      `--allow-newer` acting on lower bounds.
  11. 21 Jul, 2016 2 commits
  12. 16 Jul, 2016 1 commit
  13. 08 May, 2016 1 commit
  14. 04 May, 2016 1 commit
  15. 08 Apr, 2016 1 commit
  16. 01 Apr, 2016 1 commit
  17. 19 Mar, 2016 1 commit
  18. 16 Mar, 2016 1 commit
  19. 06 Mar, 2016 1 commit
  20. 04 Mar, 2016 1 commit
  21. 23 Feb, 2016 1 commit
  22. 20 Feb, 2016 1 commit
  23. 19 Feb, 2016 1 commit
  24. 28 Jan, 2016 1 commit
  25. 16 Dec, 2015 1 commit
  26. 07 Nov, 2015 1 commit
    • Joachim Breitner's avatar
      test: New mode --show-details=direct · 2542325e
      Joachim Breitner authored
      This mode implements #2911, and allows to connect the test runner
      directly to stdout/stdin. This is more reliable in the presence of no
      threading, i.e. a work-arond for #2398.
      I make the test suite use this, so that it passes again, despite
      printing lots of stuff. Once #2398 is fixed properly, the test suite
      should probably be extended to test all the various --show-details
  27. 13 Oct, 2015 1 commit
  28. 12 Oct, 2015 1 commit
  29. 31 Jul, 2015 1 commit
  30. 29 Jul, 2015 1 commit
  31. 27 Jul, 2015 1 commit
  32. 07 Jul, 2015 1 commit
  33. 02 Jul, 2015 1 commit
  34. 27 Jun, 2015 1 commit
    • ttuegel's avatar
      Get 'builddir' from cabal.config or CABAL_BUILDDIR · 2b3282fc
      ttuegel authored
      Fixes #2484. The 'builddir' option may now be specified in cabal.config
      as well. It will also be read from the CABAL_BUILDDIR environment
      variable, if set. The order of precedence (highest to lowest) is:
      1. --builddir command line option
      2. CABAL_BUILDDIR environment variable
      3. cabal.config setting