Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. Jul 03, 2024
  2. Jul 01, 2024
  3. Jun 30, 2024
  4. Jun 28, 2024
  5. Jun 27, 2024
  6. Jun 26, 2024
  7. Jun 25, 2024
    • mergify[bot]'s avatar
      Merge pull request #10114 from jasagredo/js/io-manager-lib-suite-windows · bf6f26dc
      mergify[bot] authored
      Use `--io-manager=native` in `lib-suite` on Windows
    • 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
  8. Jun 24, 2024
  9. Jun 23, 2024
  10. Jun 20, 2024
  11. Jun 19, 2024
  12. Jun 18, 2024
  13. 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
  14. Jun 15, 2024
    • lennart@augustsson.net's avatar
      Add MHS as a recognized compiler. (#9878) · 3169b879
      lennart@augustsson.net authored
      
      * Add MHS as a recognized compiler.
      
      * Add Changelog entry
      
      * Add comment.
      
      * Update checksums.
      
      * Update more checksums.
      
      ---------
      
      Co-authored-by: default avatarLennart Augustsson <lennart.augustsson@epicgames.com>
    • mergify[bot]'s avatar
      Merge pull request #9967 from sheaf/prog-db-configure · 5ea22e20
      mergify[bot] authored
      Be more careful in handling unconfigured programs in the program database
    • sheaf's avatar
      Remove haskell-suite-dummy-program hack · 6ac9dfbb
      sheaf authored
      There was some hacky logic in place to give a "haskell-suite" compiler
      a dummy location so that we would attempt to configure it.
      
      This logic is no longer necessary since 'configureRequiredProgram' was
      changed to accomodate the situation in which 'lookupKnownProgram' fails.
      In fact, it is downright harmful, as this dummy location will trigger
      errors when we attempt to configure all known programs, which is
      a necessary step before attempting to serialise a program database.
      6ac9dfbb
    • sheaf's avatar
      SetupWrapper: configure progs when building Setup · 0a0cc19f
      sheaf authored
      This commit configures the unconfigured programs in the program database
      when we are building a custom Setup script. This ensures that we can
      find the "strip" program which might otherwise still be unconfigured.
      0a0cc19f
    • sheaf's avatar
      configureRequiredProgram: take care if program already configured · c6a26d48
      sheaf authored
      In configureRequiredProgram, we would unconditionally configure the
      program, even if it was configured already. To explain why this is
      problematic:
      
        - The programs we try to configure in this function are those that
          arise from a "build-tool-depends" field of a package.
        - If the program is not in the "unconfigured" state, we would
          unconditionally treat it as a simpleProgram.
          This means that if such a program is builtin but is not a
          simpleProgram, we might fail to configure it properly.
      
      This problem arises when we configure programs more eagerly: when, in
      the past, we might have gone looking up an unconfigured program and
      successfully configured it, now we might find the program is already
      configured.
      
      One example in which this would cause an issue is when we have
      
         build-tool-depends: hsc2hs
      
      If we end up re-configuring hsc2hs in configureRequiredProgram, we would
      treat it as a simple program, which would cause us to be unable to
      determine its version.
      c6a26d48
    • sheaf's avatar
      cabal-install configureCompiler: configure progdb · 8bdda9c0
      sheaf authored
      We should configure unconfigured programs before serialising them
      (using the Binary ProgramDb instance) in
      Distribution.Client.ProjectPlanning.configureCompiler, as otherwise
      we can accidentally discard information.
      
      This isn't currently a live bug, because in practice we end up
      re-running configuration steps when interfacing with the Cabal library.
      However, in the bright future in which we avoid re-configuring things
      when building a Cabal package that we already determined when invoking
      cabal-install, this starts causing problems.
      8bdda9c0
Loading