This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 30 Nov, 2018 1 commit
  2. 25 Nov, 2018 1 commit
  3. 24 Nov, 2018 5 commits
  4. 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
      library.
      
      Closes #4206.
      e2194d25
  5. 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
      3c1502bb
  6. 09 Jul, 2018 4 commits
  7. 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
      snowleopard/hadrian#634.
      
      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.
      a31ab06a
  8. 17 Jun, 2018 1 commit
  9. 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.
      e4294f31
  10. 25 May, 2018 2 commits
  11. 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.
      5e83ef26
  12. 28 Apr, 2018 1 commit
  13. 27 Mar, 2018 1 commit
  14. 25 Mar, 2018 1 commit
  15. 06 Mar, 2018 2 commits
  16. 26 Feb, 2018 1 commit
  17. 15 Feb, 2018 1 commit
  18. 08 Feb, 2018 1 commit
  19. 02 Feb, 2018 1 commit
  20. 31 Jan, 2018 2 commits
  21. 19 Jan, 2018 1 commit
    • Oleg Grenrus's avatar
      Change license :: License to Either SPDX.License License · ffbfafd6
      Oleg Grenrus authored
      Resolves #2547
      
      I introduce SimpleLicenseExpression to make "OrAnyLater LicenseRef"
      unrepresentable. That also simplifies types.
      
      license field is parsed as old `License` when cabal-version <2.2,
      and as SPDX expression otherwise. `NONE` is recognised.
      
      There are best-effort functions to convert between `License` and
      `SPDX.License`.
      
      There are also IPI changes: parser accepts both `License` and
      `SPDX.License`, as both can occur in package database. Cabal will
      `register` a SDPX expression as `license` for GHC >= 8.4, and legacy
      `License` for other (we are smart when converting `PackageDescription` +
      LBI and other data to `InstalledPackageInfo`)
      
      Also add NFData InstalledPackageInfo
      ffbfafd6
  22. 16 Jan, 2018 1 commit
  23. 06 Jan, 2018 1 commit
  24. 22 Dec, 2017 1 commit
  25. 17 Dec, 2017 1 commit
    • Herbert Valerio Riedel's avatar
      Implement better defaulting for `build-type` · 9fb03d73
      Herbert Valerio Riedel authored
      This implements the following defaulting rules:
      
       * For `cabal-version:2.0` and below, default to the `Custom`
         build-type unconditionally (legacy defaulting)
      
       * Otherwise, if a `custom-setup` stanza is defined, default to
         the `Custom` build-type; else default to `Simple` build-type.
      
      This gets us better defaults for the two most popular use-cases, and
      which can be statically inferred by only looking at the `.cabal` file.
      
      This allows us to bring down the minimal (modern) trivial cabal
      package definition down to a single file with 4 lines:
      
          cabal-version: 2.1
          name: mu
          version: 0
          library
      
      NB: We don't need any `Setup.hs` file, as `cabal sdist` will magically
      generate one on the fly.
      9fb03d73
  26. 16 Dec, 2017 1 commit
  27. 12 Dec, 2017 1 commit
  28. 22 Nov, 2017 1 commit
    • Ben Gamari's avatar
      Split sections support for GHC · 450d6bc4
      Ben Gamari authored
      Add --enable-split-sections flag and pipe it through to the GHC backend. Note
      that some of the implementation here could be made a bit more precise:
      -split-sections and -split-objs are mutually exlusive yet the types don't
      currently reflect this.
      
      Fixes #4819.
      450d6bc4
  29. 15 Nov, 2017 2 commits