Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal.git. Pull mirroring updated .
  1. Jun 15, 2024
  2. Jun 14, 2024
  3. Jun 13, 2024
  4. Jun 12, 2024
    • Mango The Fourth's avatar
      add the applicable new (version 9.10) GHC flags to normaliseGhcArgs (#10014) · be10be83
      Mango The Fourth authored
      * add the applicable new (versions 9.2 - 9.10) GHC flags to normaliseGhcArgs
      
      Actionable flags are:
      - fdiagnostics-as-json (changes the format GHC outputs its diagnostics)
      - fprint-error-index-lists (changes the way GHC displays compile time)
      - fbreak-points (enables/disables break-points in GHCi)
      - dipe-stats (dumps information about which info tables have IPE
        information)
      - ffamily-application-cache (only changes the speed of the compiler)
      - fprint-redundant-promotion-ticks
      - show-error-context
      - unoptimized-core-for-interpreter (only applies to GHCi)
      
      * [chore] correct the flag names and add a FUTUREWORK
      Unverified
      be10be83
  5. Jun 10, 2024
  6. Jun 09, 2024
  7. Jun 07, 2024
  8. Jun 02, 2024
  9. May 30, 2024
    • mergify[bot]'s avatar
      Merge pull request #9177 from FinleyMcIlwaine/wip/haddock-avoid-recomp · ab4c1370
      mergify[bot] authored
      Haddock recompilation avoidance
      Unverified
      ab4c1370
    • Rodrigo Mesquita's avatar
      haddock: Copy interface files to tmp dir · a1e14a7d
      Rodrigo Mesquita authored
      In the last commits we started re-using GHC's interface files and
      objects in haddock in order to avoid recompilation.
      
      However, if haddock is run with different flags than GHC (say, for example,
      `haddock-options: -DSomethingCustom`), it will recompile the interfaces
      and objects.
      
      This commit introduces a guardrail to the process of re-using GHC's
      compilation files: instead of running haddock directly on the
      directories where GHC placed its output, copy the directory contents to
      a temporary directory and point haddock to the objects and interfaces
      there. Even if recompilation is triggered by haddock, the objects
      produced by GHC will be left untouched.
      a1e14a7d
    • Rodrigo Mesquita's avatar
      haddock: Pass --no-tmp-comp-dir by default · 68fcd33d
      Rodrigo Mesquita authored
      With "Hi Haddock", we want to re-use GHC's compilation output (in
      particular, the generated interface files) to generate documentation
      from. However, haddock by default will use a temporary location to build
      sources, and will therefore fail to find the interface files produced by
      GHC.
      
      To avoid recompilation, we need to instruct Cabal to pass
      --no-tmp-comp-dir to Haddock so as to not use a temporary directory and
      thus re-use existing interface files.
      68fcd33d
    • Rodrigo Mesquita's avatar
      Cabal: Don't pass -D__HADDOCK_VERSION__ to haddock · 144383e8
      Rodrigo Mesquita authored
      We no longer define the `__HADDOCK_VERSION__` macro when invoking GHC
      through Haddock, since doing so essentially guarantees recompilation
      during documentation generation.
      
      We audited all uses of `__HADDOCK_VERSION__` in hackage, ensuring there
      was a reasonable path forward to migrate away from using
      `__HADDOCK_VERSION__` for each, while generating the same documentation
      as it did before.
      
      If you are a user of `__HADDOCK_VERSION__`, please take a look at the
      discussion in https://github.com/haskell/cabal/pull/9177 and reach out
      to us if your use case is not covered.
      
      Reverts the version-cpp flag introduced in the previous commit to avoid
      a workaround. Instead, we get rid of the problem (`__HADDOCK_VERSION__`) at its root.
      
      See the discussion in #9177
      144383e8
    • Finley McIlwaine's avatar
      Do not use tmp dirs for Haddock, add --haddock-version-cpp, and more · 80f0a652
      Finley McIlwaine authored
      Haddock no longer writes compilation files by default, so we do not need to pass
      tmp dirs for `-hidir`, `-stubdir`, and `-odir` via `--optghc`. Indeed, we do not
      *want* to do so, since it results in recompilation for every invocation of
      Haddock via Cabal. This commit stops this from happening for haddock versions >=
      2.28 (when Hi Haddock was introduced).
      
      This commit also stops the default definition of the `__HADDOCK_VERSION__` macro
      when invoking GHC through haddock. Since a very limited set of users may still
      depend on this macro, we introduce the `--haddock-version-cpp` flag and
      `haddock-version-cpp:` cabal.project field, which enable the definition of
      the `__HADDOCK_VERSION__` macro when invoking GHC through Haddock. This will
      almost guarantee recompilation during documentation generation due to the macro
      definition.
      
      This commit also renames the `--haddock-lib` flag to `--haddock-resources-dir`
      (and `haddock-lib:` cabal.project field to `haddock-resources-dir:`), and adds
      this flag to the users guide since it was missing an entry. This also allows us
      to add this field to `cabal-install:test:integration-tests2`, since it is no
      longer ambiguous with the `--lib` flag.
      
      This commit also causes `documentation: true` or `--enable-documentation` to
      imply `-haddock` for GHC.
      
      Also, since Haddock >= 2.29 is renaming `--lib` to `--resources-dir`, this
      commit switches the flag provided to Haddock using a backwards compatible
      condition based on the Haddock version.
      
      Adds a changelog entry.
      80f0a652
    • mergify[bot]'s avatar
      Merge pull request #10055 from wismill/semaphore/verbosity · f323d296
      mergify[bot] authored
      fix: Make newSemaphoreJobControl respect verbosity
      Unverified
      f323d296
  10. May 29, 2024
  11. May 28, 2024
  12. May 26, 2024
  13. May 24, 2024
  14. May 23, 2024
Loading