Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Jun 25, 2024
    • Javier Sagredo's avatar
      a562b57d
    • mergify[bot]'s avatar
      Changelogs for 3.12.1.0 (backport #10124) (#10132) · ffcadaa3
      mergify[bot] authored
      
      * Changelogs for 3.12.1.0 (#10124)
      
      * changelog for 3.12.1.0
      
      * fixup! changelog for 3.12.1.0
      
      * fixup! Changelogs for 3.12.1.0
      
      Co-authored-by: default avatarArtem Pelenitsyn <a.pelenitsyn@gmail.com>
      
      * fixup! changelog for 3.12.1.0
      
      * fixup! changelog for 3.12.1.0
      
      * fixup! Changelogs for 3.12.1.0
      
      Co-authored-by: default avatarffaf1 <fa-ml@ariis.it>
      
      * fixup! Changelogs for 3.12.1.0
      
      * fixup! Changelogs for 3.12.1.0
      
      * fixup! Changelogs for 3.12.1.0
      
      ---------
      
      Co-authored-by: default avatarArtem Pelenitsyn <a.pelenitsyn@gmail.com>
      Co-authored-by: default avatarffaf1 <fa-ml@ariis.it>
      (cherry picked from commit 2067ed19)
      
      # Conflicts:
      #	release-notes/Cabal-3.12.0.0.md
      
      * fixup! Changelogs for 3.12.1.0 (backport #10124)
      
      ---------
      
      Co-authored-by: Brandon S. Allbery's avatarbrandon s allbery kf8nh <allbery.b@gmail.com>
      Co-authored-by: default avatarmergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
    • mergify[bot]'s avatar
      Merge pull request #9900 from mpickering/wip/prof_dyn · 06f4155e
      mergify[bot] authored
      Add support for building profiled dynamic way
    • Matthew Pickering's avatar
      Add support for profiled dynamic way · 497a220e
      Matthew Pickering authored
      New options for cabal.project and ./Setup interface:
      
      * `profiling-shared`: Enable building profiling dynamic way
      * Passing `--enable-profiling` and `--enable-executable-dynamic` builds
        profiled dynamic executables.
      
      Support for using `profiling-shared` is guarded behind a constraint
      which ensures you are using `Cabal >= 3.13`.
      
      In the cabal file:
      
      * `ghc-prof-shared-options`, for passing options when building in
        profiling dynamic way
      
      Other miscellenious fixes and improvements
      
      * Some refactoring around ways so that which
        ways we should build for a library, foreign library and executable is
        computed by the `buildWays` function (rather than ad-hoc in three
        different places).
      
      * Improved logic for detecting whether a compiler supports compiling
        a specific way. See functions `profilingVanillaSupported`,
        `dynamicSupported`, `profilingDynamicSupported` etc
        These functions report accurate infomation after ghc-9.10.1.
      
      * Fixed logic for determining whether to build shared libraries. (see
        #10050)
        Now, if you explicitly enable `--*-shared`, then that will always take
        effect. If it's not specified then `--enable-executable-dynamic` will
        turn on shared libraries IF `--enable-profiling` is not enabled.
      
      * Remove assumption that dynamically linked compilers can build dynamic
        libraries (they might be cross compilers.
      
      * Query the build compiler to determine which library way is necessary
        to be built for TH support to work.
        (rather than assume all compilers are dynamically linked)
      
      * An extensive test which checks how options for `./Setup` and
        `cabal-install` are translated into build ways.
      
      Fixes #4816, #10049, #10050
      497a220e
  2. Jun 24, 2024
  3. Jun 23, 2024
  4. Jun 20, 2024
  5. Jun 19, 2024
  6. Jun 18, 2024
  7. Jun 16, 2024
    • mergify[bot]'s avatar
      Merge pull request #10112 from mpickering/wip/10110 · e1f73a4d
      mergify[bot] authored
      perf: Group together packages by repo when verifying tarballs
    • Matthew Pickering's avatar
      perf: Group together packages by repo when verifying tarballs · 7d46115b
      Matthew Pickering authored
      verifyFetchedTarball has the effect of deserialising the index tarball
      (see call to Sec.withIndex).
      
      verifyFetchedTarball is called individually for each package in the
      build plan (see ProjectPlanning.hs). Not once per repo.
      
      The hackage tarball is now 880mb so it takes a non significant amount of
      time to deserialise this (much better after haskell/tar#95).
      
      This code path is important as it can add 1s with these 38 calls on to
      the initial load of a project and scales linearly with the size of your
      build tree.
      
      Reproducer: Simple project with "lens" dependency deserialises the index tarball 38 times.
      
      Solution: Refactor verifyFetchedTarball to run once per repo rather than once per package.
      
      In future it would be much better to refactor this function so that the
      items are not immediately grouped and ungrouped but I didn't want to
      take that on immediately.
      
      Fixes #10110
      7d46115b
  8. Jun 15, 2024
  9. Jun 14, 2024
  10. Jun 13, 2024
  11. 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
  12. Jun 10, 2024
  13. Jun 09, 2024
  14. Jun 07, 2024
  15. Jun 02, 2024
    • mergify[bot]'s avatar
      Merge pull request #10056 from wismill/install/fix-program-suffix · dda541ce
      mergify[bot] authored
      Fix --program-suffix resulting in invalid symlink
    • Pierre Le Marre's avatar
      Fix --program-{prefix,suffix} resulting in invalid installation · 85934742
      Pierre Le Marre authored
      Currently the options `--program-{prefix,suffix}` for cabal install
      affects the name of the file in the install directory *and* the
      executable name in the store. The installation fails:
      
      - If using `--install-method=symlink`, the *target* of the symlink is
        not affected by the affix options and it results in an invalid symlink.
      - If using `--install-method=copy`, the copy fails because the source
        is not found.
      
      Another issue is that it affects the computation of the hash of the
      build directory in the store, resulting in needless rebuild when using
      successively different affix options.
      
      Fixed by making the name of the executable in the store canonical, i.e.
      always ignoring the program affix options.
      
      Added a test for all the combinations of `--install-method` and program
      affixes options.
      85934742
    • mergify[bot]'s avatar
      Merge pull request #10017 from mpickering/wip/multi-fixes · 6f1329b8
      mergify[bot] authored
      Two fixes to multi repl command
Loading