This project is mirrored from Pull mirroring updated .
  1. 26 Oct, 2016 2 commits
    • Oleg Grenrus's avatar
      Hide StructDiff behind the flag · 722e030f
      Oleg Grenrus authored
    • Oleg Grenrus's avatar
      Parsec parser · 512db606
      Oleg Grenrus authored
      - Initial import of stuff
      - Add hackage index parsing test for parsec
      - We can parse name and version
      - Add generics-sop dep
      - Use D.C.Prelude
      - Add StructDiff
      - Fix integral
      - Add Parsec -class
      - Add licence parsing
      - Free text fields (parsed as ascii atm)
      - Better StructDiff
      - Parsec BuildType
      - Implement VersionRange parser
      - Section parsing first steps
      - Sketch parseCondTree
      - more sec parsing
      - Module name
      - hs-source-dirs
          ::: composition/0.1/composition.cabal
          ::: composition/0.2/composition.cabal
          ::: composition/0.2.1/composition.cabal
          ::: composition/
      - PError (Position 20 1) "Unknown section: \"source-repository\""
      - Parses condition
      - Add some notes, address few comments
      - Install alex on linux travis
      - Make ParseResult strict state monad
      - Use withinVersion
      - No warnings
      - Move to Distribution.PackageDescription.Parsec.FieldDescr
      - extensions
      - SourceRepo (sans kind) parsing
      - RepoKind
      - Few more stuff
      - Add Distribution.Compat.Parsec
      - We can parse all 'composition*' packages cabal files \o/
      - fromUtf8BS
      - Clean up abit
      - More stuff
      - And more stuff
      - Traling whitespace :(
      - Executables
      - Benchmarks
      - spaceListField
      - Parse flag sections
      - a ~ Char,
      - tested with
      - package description x-fields
      - Conditions
      - reformat
      - Handle old syntax
      - More fields
      - More stuff
      - ^co ok,
      - more stuff
      - ^c ok
      - some of hackage ok
      - A-Z ok
      - Works [A-al)
      - to the h
      - rest of Hackage
      - Introduce parsec -flag
      - Count warnings
      - Verify we get not less warnings from parsec parser
      - fixup! Introduce parsec -flag
      - Warn about old/new syntax and cabal-version
      - Invalid UTF warning
      - Deprecated fields
      - Fix meta
      - Move transformers dep under parsec flag
      - Add parsec travis job
  2. 25 Oct, 2016 2 commits
    • Edward Z. Yang's avatar
      Drop version check when resolving package names. · af24cefe
      Edward Z. Yang authored
      In #4017, hvr reported that when he used --allow-older/--allow-newer,
      there was an assert failure in toConfiguredComponent.  Indeed
      the problem was that toConfiguredComponent was testing version
      ranges of build-depends to determine which package to select, but
      there was no satisfying one (since the build-depends field had
      not been updated.)
      After thinking about this for a bit, it seemed a bit bogus for
      us to be doing another version check at this late phase; we
      already picked dependencies earlier in the configuration process.
      So I decided to drop it.
      To drop it, however, I needed to remove support for a feature (discussed
      in #4020), which uses version ranges to disambiguate whether or not a
      dependency is on an external package or an internal package.  This
      feature doesn't seem to be very useful.  If someone asks, I'll
      check on Hackage to see if anyone is using it.
      Also added some useful extra debug info.
      Fixes #4020 and #4017
      Signed-off-by: default avatarEdward Z. Yang <>
    • Edward Z. Yang's avatar
      Force gen-extra-source-files to use pre-installed library. · c8ac9dac
      Edward Z. Yang authored
      Without a package qualified import, runhaskell will attempt to
      load all of Cabal from source, because the files happen to
      be named in the same way as the import requests.  That leads
      to very slow runtimes.
      Fixes #4007.
      Signed-off-by: default avatarEdward Z. Yang <>
  3. 24 Oct, 2016 1 commit
  4. 23 Oct, 2016 1 commit
    • Erik de Castro Lopo's avatar
      Fix CPP usage · d916298f
      Erik de Castro Lopo authored
      The code had a mixtire of `#ifdef mingw32_HOST_OS` and `#if`. The later
      works but is not really correct. GHC HEAD has just got a new warning flag
      `-Wcpp-undef` which will warn on `#if` used with an undefined identifier.
      Since we want to turn that on in the GHC build system we need to fix cabal
  5. 21 Oct, 2016 3 commits
  6. 20 Oct, 2016 3 commits
    • Edward Z. Yang's avatar
      Only consider dependencies in closure when computing -I on hsc2hs · b736896a
      Edward Z. Yang authored
      Previously, we unconditionally blasted in all packages, even
      if our component didn't actually depend on them.
      This fixes #2971.
      Also, added a test T2971a which is the opposite problem; previously
      we didn't bring in include-dirs from internal libraries.  That
      was fixed by the previous commit.
      Signed-off-by: default avatarEdward Z. Yang <>
    • Edward Z. Yang's avatar
    • 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
  7. 19 Oct, 2016 3 commits
  8. 18 Oct, 2016 13 commits
  9. 17 Oct, 2016 2 commits
  10. 16 Oct, 2016 3 commits
    • Duncan Coutts's avatar
      The .ghc.env fix in ghc went in at the end of August · a0881199
      Duncan Coutts authored
      Change the minimum version we use to decide if ghc supports .ghc.env
      files. Previously we declared that it required 8.0.2, but 8.0.2 is not
      out yet so this makes things hard to test.
      It was fixed in the 8.0.x branch at the end of August, so if ghc
      declares itself to be 8.0.1.$date from September or later, then it's ok.
    • Duncan Coutts's avatar
      Make sure ghc ignores any .ghc.environment files · ea1a2cd8
      Duncan Coutts authored
      When we invoke ghc in Cabal it's impostant that we control the
      environment. It's already the case that ghc ignores the .ghc.env files
      when we use -hide-all-packages, but there were a few places where we
      were not using this.
    • Duncan Coutts's avatar
      Add library support for writing ghc environment files · 8fd5ac5c
      Duncan Coutts authored
      This new ghc feature was actually added in ghc 7.10 but very limited,
      then extended significantly in 8.0.1 but with a severe bug for our use
      case and then should be working fine in 8.0.2 onwards.
      This patch adds basic support for writing .ghc.environment files. This
      feature will be used later in cabal-install, but it makes sense for the
      functionality to live in Cabal next to the other code that knows all
      too much about GHC.
      .ghc.environment file support works in ghc 8.0.2 onwards
      It was actually added in ghc 7.10 but very limited, then extended
      significantly in 8.0.1 but with a severe bug for our use case and
      then should be working fine in 8.0.2 onwards.
  11. 14 Oct, 2016 2 commits
  12. 12 Oct, 2016 4 commits
  13. 11 Oct, 2016 1 commit