This project is mirrored from Pull mirroring updated .
  1. 11 Mar, 2015 1 commit
  2. 06 Mar, 2015 1 commit
  3. 08 Jan, 2015 1 commit
    • ttuegel's avatar
      D.Compat.Binary: backport binary generics to binary-0.5 · c650e347
      ttuegel authored
      GHC generics are used to derive binary instances for types appearing
      in the persistent build config, which requires GHC >= 7.2 and
      binary >= 0.7. Unfortunately, GHC < 7.8 ships with binary == 0.5.*.
      The missing module is Data.Binary.Generics, which we have copied from
      binary- to Distribution.Compat.Binary.Generics. To provide
      generic implementations for the Binary class, we also have to provide
      our own implementation, which is copied from binary- to
      Distribution.Compat.Binary.Class. The interface required by Cabal is
      exported from Distribution.Compat.Binary. This is only done if
      bootstrapping Cabal with GHC < 7.8 or if binary >= 0.7 is not available,
      otherwise Distribution.Compat.Binary simply re-exports Data.Binary.
  4. 06 Jan, 2015 1 commit
  5. 05 Jan, 2015 1 commit
  6. 04 Jan, 2015 1 commit
  7. 18 Dec, 2014 3 commits
  8. 14 Nov, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Bump upper bound of `deepseq` · f54e7f95
      Herbert Valerio Riedel authored
      `deepseq-`'s major change is in the default `rnf` method
      implementation (see haskell/deepseq#1 for details). However, `Cabal` isn't affected
      by that, and happily compiles against the current (yet unreleased) `deepseq-`.
      (approved by @dcoutts)
  9. 19 Oct, 2014 2 commits
    • Mikhail Glushenkov's avatar
      Remove support for Hugs and NHC98. · 40f3601e
      Mikhail Glushenkov authored
      Fixes #2130.
    • Erik de Castro Lopo's avatar
      Cabal: Add a NubList type with tests. · f9381a60
      Erik de Castro Lopo authored
      A NubList is a list where all elements are unique, but are maintained in
      their original order. The Monoid NubList's mappend implement is just:
          NubList xs `mappend` NubList ys = NubList . nub $ xs ++ ys
      which preserves NubList's required properties (ordering and unique-ness
      of elements) and meets the requirements of the Monoid laws (identity,
      associativity and closure).
  10. 27 Sep, 2014 2 commits
  11. 18 Sep, 2014 1 commit
  12. 10 Sep, 2014 1 commit
  13. 30 Aug, 2014 2 commits
  14. 27 Aug, 2014 1 commit
    • Duncan Coutts's avatar
      Change rep of module re-exports, and do resolution ourselves · a3d3273a
      Duncan Coutts authored
      The initial support for module re-exports relied on ghc-pkg to resolve
      user-specified re-exports to references to specific installed packages.
      This resolution is something that can fail so it's better for Cabal to
      do it during the package configure phase.
      In addition, it is inconvenient in ghc-pkg to be doing this resolution,
      and it just seems fishy as a design. Also, the same ModuleExport type
      was being used both for user-specified source re-exports and also for
      the specific re-exports in the package db.
      This patch splits the type into two: one for source level, and one for
      resolved ones for use in the package db. The configure phase resolves
      one to the other.
      One minor change: it is now possible to re-export a module defined in
      the same package that is not itself exported (ie it's in other-modules,
      rather than exposed-modules). Previously for modules definied in the
      same package they had to be themselves exported. Of course for
      re-exports from other packages they have to be exposed.
  15. 25 Aug, 2014 1 commit
    • Mikhail Glushenkov's avatar
      Bump version. · 7a24dd6a
      Mikhail Glushenkov authored
      So that the 'install_from_tarball' build bot step doesn't try to use the old
      1.21 snapshot that comes with GHC HEAD.
  16. 23 Jul, 2014 2 commits
  17. 21 Jul, 2014 1 commit
    • Edward Z. Yang's avatar
      Weaken dependency on process. · ebd4d4b9
      Edward Z. Yang authored
      GHC 7.6 still distributes by default with an old version of process, which
      means that requiring the most recent version prevents GHC from properly
      bootstrapping out of the box.  In this patch, we relax the version requirement
      on process, disabling proper ctl-c handling when the version is not sufficiently
      Perhaps one problem with lowering the bound, is if someone attempts to install
      Cabal out of the box on GHC 7.6, the dependency solver will prefer the old
      installed version, so it is very easy to end up with a cabal-install which
      doesn't have working ctl-c.
      Signed-off-by: default avatarEdward Z. Yang <>
  18. 16 Jul, 2014 1 commit
    • Edward Z. Yang's avatar
      Implement "reexported-modules" field, towards fixing GHC bug #8407. · 62450f9a
      Edward Z. Yang authored
      Re-exported modules allow packages to reexport modules from their
      dependencies without having to create stub files.  Reexports of the same
      original module don't count as ambiguous imports when module finding
      occurs.  The syntax is:
          "orig-pkg" OrigName as NewName
      You can omit 'as NewName', in which case it is reexported as the same
      name.  Self referential aliases work too; however, they're only visible
      to packages which depend on this package.
      Left to future work: just provide a module name 'OrigName', where ghc-pkg
      figures out what the source package is.
      Signed-off-by: default avatarEdward Z. Yang <>
  19. 26 Jun, 2014 1 commit
  20. 10 Jun, 2014 1 commit
  21. 29 May, 2014 1 commit
  22. 10 May, 2014 2 commits
    • Iain Nicol's avatar
      Fix: "cabal haddock" uses CPP overzealously · ba4ae3d0
      Iain Nicol authored
      Until recently we supported ancient versions of Haddock, pre v2.0.  To
      support the CPP extension with such versions, cabal had to invoke the
      CPP before invoking Haddock on the output.  For simplicity cabal would
      invoke the CPP on all Haskell files, if any Haskell file required CPP.
      However, invoking CPP on a file which does not require it can cause
      build failures.
      Haddock v2.0+ supports the CPP via GHC, and even automatically
      preprocesses any file with the {-# LANGUAGE CPP #-} pragma. Hence we
      simply need only tell Haddock to enable the CPP when the CPP is a
      package level default extension.
      Fixes issue #1808.
    • Iain Nicol's avatar
      Add some tests of our Haddock support · 5bcb6f76
      Iain Nicol authored
  23. 21 Apr, 2014 1 commit
  24. 20 Apr, 2014 1 commit
  25. 18 Apr, 2014 1 commit
  26. 15 Apr, 2014 3 commits
  27. 10 Apr, 2014 1 commit
  28. 21 Mar, 2014 1 commit
  29. 19 Mar, 2014 2 commits
    • ttuegel's avatar
      Refactor test runners · 8083ca4b
      ttuegel authored
      The test runners for exitcode-stdio and detailed tests will be separated
      into their own modules. They cannot share a test runner because
      '--show-details=streaming' does not make sense for detailed tests the
      way they are implemented now. The detailed test runner needs to be
      substantially rewritten anyway, so splitting up the test runners will
      eventually accomodate that goal.
    • ttuegel's avatar
      Add Distribution.Compat.CreatePipe · 3b4518db
      ttuegel authored
  30. 01 Mar, 2014 1 commit
    • Daniel Trstenjak's avatar
      More diff friendly pretty printing of cabal files · 73dd1c26
      Daniel Trstenjak authored
      Now the 'fieldGet' function of 'FieldDescr' does the
      whole pretty printing of the field. Previously only the
      values have been pretty printed by 'fieldGet' and the
      name of the field with the colon have been printed
      in the 'PrettyPrint' module.
      But this separation made it more difficult to handle the
      pretty printing of fields differently, because some fields
      should be just printed in one lines and others - having several
      values - should be printed nested with each value on a new line.
      This difference in the printing of the fields is now handled by
      the 'FieldDescr' constructor functions in 'ParseUtils'.
      Now the 'listField' and 'commaListField' functions create 'FieldDescr'
      that nest their values and all other functions create one line
      for the whole field.