This project is mirrored from Pull mirroring updated .
  1. 09 Jul, 2020 1 commit
  2. 27 Jun, 2020 1 commit
  3. 23 Jun, 2020 1 commit
    • Oleg Grenrus's avatar
      Resolve #6288 · e42e5462
      Oleg Grenrus authored
      - Add availableSince to language/extension fields
         - Also autogen-modules once we are on that.
      - Remove default-language check for cabal-version: 3.4
      We cannot make the field `uniqueFieldAlaDef`, as that would require
      specifying `default-language` in each subconditional.
      I leave it for
      Note: the default language is whatever is the compiler's default.
      The GHC-8.10 default is its variant of Haskell2010
      with NondecreasingIndentation and without DatatypeContexts
  4. 28 May, 2020 1 commit
  5. 18 May, 2020 1 commit
    • Oleg Grenrus's avatar
      Make cabal-install compilable with NoImplicitPrelude · d4fd273b
      Oleg Grenrus authored
      I.e. find out where we don't yet
      used `Distribution.Client.Compat.Prelude`.
      - If the module is small I added direct `Prelude` imports.
      - Add Exception, deepseq stuff to Cabal Prelude
      - Add Parsec, Pretty and Verbosity to Client Prelude
      - use for, for_, traverse and traverse_ (removes need for Control.Monad)
  6. 14 May, 2020 1 commit
  7. 21 Apr, 2020 1 commit
    • Oleg Grenrus's avatar
      Rename Flag types · 7fcb2045
      Oleg Grenrus authored
      There was three Flag's. Now they are
      - `Flag` (cli parsing)
      - `PackageFlag`
      - `CompilerFlag`
      This allows wild-imports without `hiding (Flag)`, and make tags
      navigaton work!
  8. 09 Apr, 2020 1 commit
  9. 04 Apr, 2020 1 commit
  10. 25 Mar, 2020 1 commit
  11. 16 Mar, 2020 1 commit
    • Oleg Grenrus's avatar
      Disallow wildcards and operators when spec is old · 2afbd0e1
      Oleg Grenrus authored
      Do this already in the Parsec instance parser.
      This allows removing checks from `D.PD.Check`.
      Later this would also allow removing non-relevant
      constructors from `VersionRange`, allowing easier testing.
      This change causes 10% slowdown: from
      135768 files processed
        7350 files contained warnings
      113156 files have check warnings
           0 files failed to parse
      120.901201s elapsed
      117.640431s elapsed
      119.663620s elapsed
      119.454329s elapsed
      119.785214s elapsed
      135768 files processed
       31912 files contained warnings
      113109 files have check warnings
           0 files failed to parse
      130.969593s elapsed
      132.016403s elapsed
      134.214536s elapsed
      128.753382s elapsed
      131.503804s elapsed
      I hope the slowdown is acceptable, and I have an idea which may mitigate
      this. I'll try out it after I done further refactorings.
      Note how (parser) warnings grew by a factor. There are plenty of (old)
      files on Hackage, which don't use correct cabal-version.  For that
      reason we only issue warnings, and not fail.  Quirks approach won't
      scale for these. In comparison, there are even more files
      with check warnings
  12. 22 Feb, 2020 1 commit
  13. 23 Dec, 2019 1 commit
  14. 12 Dec, 2019 2 commits
  15. 08 Nov, 2019 1 commit
  16. 02 Nov, 2019 1 commit
  17. 24 Sep, 2019 1 commit
    • Oleg Grenrus's avatar
      cabal check: cpp-options allows only -D and -U options · a2f43f3e
      Oleg Grenrus authored
      130113 files processed
      7304 have lexer/parser warnings
      332 build impossible
      9742 build warning
      49779 build dist suspicious
      38666 build dist suspicious warning
      11834 build dist inexcusable
      130113 files processed
      7304 have lexer/parser warnings
      332 build impossible
      10063 build warning
      49779 build dist suspicious
      38666 build dist suspicious warning
      11834 build dist inexcusable
      i.e. 321 build warnings on all Hackage
      NO_DEBUG_MODE                       -- forgotten -D?
      -traditional                        -- doesn't work, nor needed
      -fallow-undecidable-instances       -- wrong -options?
      --include=include/config.h          -- doesn't work
      -maes                               -- cpp is not C++ ?
  18. 26 May, 2019 1 commit
  19. 08 May, 2019 1 commit
    • Oleg Grenrus's avatar
      Add autogen-includes field · 7e27ae7c
      Oleg Grenrus authored
      autogen-includes aren't searched nor packages by `sdist`.
      This is relatively small code patch, but there are
      - change in file-format
      - short documentation of the field
      - `cabal check`
      - test-suite noise due new field in `BuildInfo`
  20. 27 Dec, 2018 1 commit
    • Oleg Grenrus's avatar
      Change MungedPackageName to be non-opaque type. · 1a6e2732
      Oleg Grenrus authored
      i.e. strict pair of PackageName and LibraryName
      the legacy conversion is done via Pretty/Parsec instances.
      Change of `Maybe UnqualComponentName` to `LibraryName` caused
      a cascade of other changes, but they all seem to be good changes.
      In the sense, they made many comments not-so-necessary.
      Add Distribution.Types.PackageName.Magic for special package names.
      Updates in cabal-install are mostly trivial type error driven changes.
      I removed few (deprecated) `Text` instances: `MungedPackageId`,
      `MungedPackageName` and `LibraryName`. Turns out only a `Pretty`
      part was used, so it was easy to update. Note: `LibraryName`
      doesn't have `Pretty` / `Parsec` instances as it's either parsed/printed
      as a `ComponentName` or `UnqualComponentName`, never stand alone.
  21. 30 Nov, 2018 1 commit
  22. 25 Nov, 2018 1 commit
  23. 24 Nov, 2018 5 commits
  24. 03 Nov, 2018 1 commit
    • Francesco Gazzetta's avatar
      Multiple libraries (allow depending on sublibs) · e2194d25
      Francesco Gazzetta authored
      Create a new syntax for depending on any library of any package.
      The syntax is
          build-depends: pkgname:{pkgname, sublibname} -any
      where the second `pkgname` specifies a dependency on the main unnamed
      Closes #4206.
  25. 01 Oct, 2018 1 commit
    • Nikolai Obedin's avatar
      Track the exact source of ghc-*-options related warnings · 3c1502bb
      Nikolai Obedin authored
      Previously, when running `cabal check` all the various ghc-*-options
      flags were merged together, thus losing the information about the exact
      place of the warning. This PR implements separate checking of
      ghc-*-options, which allows us to give users more precise warnings.
      Fixes #5342
  26. 09 Jul, 2018 4 commits
  27. 08 Jul, 2018 1 commit
    • quasicomputational's avatar
      Make Setup.hs configure more CWD-independent. · a31ab06a
      quasicomputational authored
      Previously, we were checking the package with a hard-coded root
      directory of ".". This was not a problem before, but with #5372 we
      have started to expand globs while checking packages, which breaks if
      the CWD is not the directory containing the `.cabal` file and causes
      Luckily, this is an easy fix: the correct directory is easy to
      determine. Writing a test and making sure it's tickling the failing
      case took longer than writing the fix!
      "." is hard-coded as the root directory passed to `checkPackageFiles`
      in a few other places, but those are (a) non-trivial to test, and (b)
      already in places that have other assumptions about their CWD, so I
      have simply documented the CWD requirement for those.
  28. 17 Jun, 2018 1 commit
  29. 16 Jun, 2018 1 commit
    • quasicomputational's avatar
      Allow globs to match against a suffix of a file's extensions · e4294f31
      quasicomputational authored
      This has the effect of allowing a glob `*.html` to match the file
      `foo.en.html`. For compatibility, this is only allowed with
      `cabal-version: 3.0` or later; for earlier spec versions, a warning
      will be generated by `cabal check` if there are files affected by this
      change in behaviour.
      Fixes #5057. Fixes #784. Closes #5061.
  30. 25 May, 2018 2 commits
  31. 08 May, 2018 1 commit
    • quasicomputational's avatar
      Allow ** wildcards in globs. · 5e83ef26
      quasicomputational authored
      These are inspired by a plan described in a comment in #2522, and only
      implement a quite limited form of recursive matching: only a single **
      wildcard is accepted, it must be the final directory, and, if a **
      wildcard is present, the file name must include a wildcard.
      Or-patterns are not implemented, for simplicity.
      Closes #3178, #2030.