May 15, 12-1 PM (73)
May 15, 1-2 PM (73)
May 15, 2-3 PM (66)
May 15, 3-4 PM (26)
May 15, 4-5 PM (13)
May 15, 5-6 PM (30)
May 15, 6-7 PM (29)
May 15, 7-8 PM (25)
May 15, 8-9 PM (8)
May 15, 9-10 PM (34)
May 15, 10-11 PM (34)
May 15, 11-12 AM (25)
May 16, 12-1 AM (2)
May 16, 1-2 AM (2)
May 16, 2-3 AM (3)
May 16, 3-4 AM (3)
May 16, 4-5 AM (0)
May 16, 5-6 AM (6)
May 16, 6-7 AM (2)
May 16, 7-8 AM (10)
May 16, 8-9 AM (1)
May 16, 9-10 AM (2)
May 16, 10-11 AM (1)
May 16, 11-12 PM (13)
May 16, 12-1 PM (11)
May 16, 1-2 PM (8)
May 16, 2-3 PM (15)
May 16, 3-4 PM (10)
May 16, 4-5 PM (2)
May 16, 5-6 PM (2)
May 16, 6-7 PM (2)
May 16, 7-8 PM (10)
May 16, 8-9 PM (6)
May 16, 9-10 PM (9)
May 16, 10-11 PM (29)
May 16, 11-12 AM (42)
May 17, 12-1 AM (9)
May 17, 1-2 AM (1)
May 17, 2-3 AM (0)
May 17, 3-4 AM (1)
May 17, 4-5 AM (0)
May 17, 5-6 AM (3)
May 17, 6-7 AM (2)
May 17, 7-8 AM (1)
May 17, 8-9 AM (1)
May 17, 9-10 AM (1)
May 17, 10-11 AM (6)
May 17, 11-12 PM (6)
May 17, 12-1 PM (4)
May 17, 1-2 PM (5)
May 17, 2-3 PM (9)
May 17, 3-4 PM (4)
May 17, 4-5 PM (8)
May 17, 5-6 PM (14)
May 17, 6-7 PM (10)
May 17, 7-8 PM (2)
May 17, 8-9 PM (4)
May 17, 9-10 PM (2)
May 17, 10-11 PM (20)
May 17, 11-12 AM (13)
May 18, 12-1 AM (10)
May 18, 1-2 AM (4)
May 18, 2-3 AM (5)
May 18, 3-4 AM (9)
May 18, 4-5 AM (14)
May 18, 5-6 AM (2)
May 18, 6-7 AM (37)
May 18, 7-8 AM (28)
May 18, 8-9 AM (35)
May 18, 9-10 AM (41)
May 18, 10-11 AM (43)
May 18, 11-12 PM (29)
May 18, 12-1 PM (136)
May 18, 1-2 PM (34)
May 18, 2-3 PM (89)
May 18, 3-4 PM (33)
May 18, 4-5 PM (45)
May 18, 5-6 PM (21)
May 18, 6-7 PM (16)
May 18, 7-8 PM (13)
May 18, 8-9 PM (23)
May 18, 9-10 PM (4)
May 18, 10-11 PM (25)
May 18, 11-12 AM (12)
May 19, 12-1 AM (7)
May 19, 1-2 AM (2)
May 19, 2-3 AM (9)
May 19, 3-4 AM (5)
May 19, 4-5 AM (10)
May 19, 5-6 AM (3)
May 19, 6-7 AM (53)
May 19, 7-8 AM (23)
May 19, 8-9 AM (46)
May 19, 9-10 AM (66)
May 19, 10-11 AM (30)
May 19, 11-12 PM (48)
May 19, 12-1 PM (81)
May 19, 1-2 PM (71)
May 19, 2-3 PM (41)
May 19, 3-4 PM (51)
May 19, 4-5 PM (15)
May 19, 5-6 PM (20)
May 19, 6-7 PM (18)
May 19, 7-8 PM (9)
May 19, 8-9 PM (21)
May 19, 9-10 PM (10)
May 19, 10-11 PM (28)
May 19, 11-12 AM (13)
May 20, 12-1 AM (21)
May 20, 1-2 AM (9)
May 20, 2-3 AM (4)
May 20, 3-4 AM (5)
May 20, 4-5 AM (9)
May 20, 5-6 AM (37)
May 20, 6-7 AM (47)
May 20, 7-8 AM (53)
May 20, 8-9 AM (50)
May 20, 9-10 AM (16)
May 20, 10-11 AM (41)
May 20, 11-12 PM (28)
May 20, 12-1 PM (50)
May 20, 1-2 PM (92)
May 20, 2-3 PM (20)
May 20, 3-4 PM (326)
May 20, 4-5 PM (23)
May 20, 5-6 PM (23)
May 20, 6-7 PM (17)
May 20, 7-8 PM (23)
May 20, 8-9 PM (15)
May 20, 9-10 PM (5)
May 20, 10-11 PM (34)
May 20, 11-12 AM (16)
May 21, 12-1 AM (16)
May 21, 1-2 AM (9)
May 21, 2-3 AM (11)
May 21, 3-4 AM (7)
May 21, 4-5 AM (4)
May 21, 5-6 AM (27)
May 21, 6-7 AM (14)
May 21, 7-8 AM (22)
May 21, 8-9 AM (34)
May 21, 9-10 AM (45)
May 21, 10-11 AM (35)
May 21, 11-12 PM (27)
May 21, 12-1 PM (63)
May 21, 1-2 PM (68)
May 21, 2-3 PM (60)
May 21, 3-4 PM (53)
May 21, 4-5 PM (17)
May 21, 5-6 PM (27)
May 21, 6-7 PM (27)
May 21, 7-8 PM (25)
May 21, 8-9 PM (23)
May 21, 9-10 PM (2)
May 21, 10-11 PM (29)
May 21, 11-12 AM (10)
May 22, 12-1 AM (16)
May 22, 1-2 AM (6)
May 22, 2-3 AM (8)
May 22, 3-4 AM (4)
May 22, 4-5 AM (11)
May 22, 5-6 AM (10)
May 22, 6-7 AM (21)
May 22, 7-8 AM (13)
May 22, 8-9 AM (21)
May 22, 9-10 AM (10)
May 22, 10-11 AM (16)
May 22, 11-12 PM (21)
May 22, 12-1 PM (3)
3,874 commits this week May 15, 2026 - May 22, 2026
Pick up profiling / coverage / debug-info from plan.json's configure-args
`cabal.project` `profiling:` / `library-profiling:` / `coverage:` /
`debug-info:` become `--enable-{profiling,library-profiling,coverage,debug-info}`
in plan.json's per-unit `configure-args` (cabal-install records the
boolean form regardless of level).  Translate those entries back
into haskell.nix module options so a project's cabal.project
stanza flows through to the builder without per-component module
overrides.

Three pieces:

1. `modules/component-options.nix`: surface `enableDWARF` as a
   per-component option (matches `enableProfiling`).
2. `builder/comp-builder.nix`: read the default from
   `component.enableDWARF` instead of hard-coding `false`.  The
   existing branches that swap in the `.dwarf` GHC variant and
   pass `-g3` to ghc then trigger automatically.
3. `modules/install-plan/configure-args.nix`: map
   `--enable-{profiling,library-profiling,coverage,debug-info}` from
   plan.json into `enableProfiling` / `enableLibraryProfiling` /
   `doCoverage` / `enableDWARF` respectively.

Confirmed `tests.cabal-simple-debug.run` on native ghc9141 builds
with `cabal.project` `debug-info: 2` and no module-level toggle.
Bug fixes (Windows coverage, native-musl iserv-dyn, aarch64 fPIC, darwin c++abi gate) (#2507)
* comp-builder: fix coverage installPhase hpc-dir lookup on Windows

The doCoverage installPhase tried
`${testExecutable}-tmp/extra-compilation-artifacts` which expands
to `dist/build/<cname>/<cname><exeExt>-tmp/...`.  On Windows hosts
`exeExt = ".exe"`, so the path becomes
`dist/build/<cname>/<cname>.exe-tmp/...` — a path cabal never
creates.  The fallback `cp -r dist/hpc $out/share` then errors with
"No such file or directory" and the slice fails.

cabal's per-component tmp dir is `dist/build/<cname>/<cname>-tmp`
regardless of platform, so use that path directly (and drop the
broken `${testExecutable}-tmp` case — it was only ever right when
`exeExt == ""`, which the new path also covers).

Confirmed `tests.coverage.run` on ucrt64 builds; native still passes.

* ghc-for-component-wrapper: add ghc-iserv-dyn alias on native-musl ≥ 9.10

Native-musl GHC ≥ 9.10 ships `<targetPrefix>ghc-iserv-dyn` and the
wrapper already creates unprefixed aliases for `ghc-iserv` and
`ghc-iserv-prof`, but it was missing `ghc-iserv-dyn`.  Without the
alias, projects compiling profiled + dyn-linked components on
native-musl fail at TH-eval time when ghc looks for
`<topdir>/bin/ghc-iserv-dyn`.

Add the symmetric `ghc-iserv-dyn` alias alongside the existing
ones.

* linux-cross: add -optc-fPIC alongside -fPIC on aarch64

aarch64 cross builds pass `-fPIC` to ghc but the same flag isn't
forwarded to the C compiler.  Some packages compile C sources that
end up needing position-independent code (e.g. when later linked
into shared libraries / TH plugins), and the missing `-fPIC` on
those triggers `relocation R_AARCH64_ADR_PREL_PG_HI21 ... can not
be used when making a shared object` link failures.

Pass `-optc-fPIC` alongside `-fPIC` so ghc forwards it to the C
compiler.

* darwin: gate double-conversion c++abi patch to GHC < 9.4

The `extra-libraries: c++ c++abi` substitution in
`double-conversion.cabal` exists to fix linkage on darwin where
the cabal file's `c++` entry alone is insufficient.  From GHC 9.4
onwards the `system-cxx-std-lib` pseudo-package handles c++abi
linkage automatically, so the patch becomes a no-op there at best
and double-application at worst.

Gate the override on `compiler.version < 9.4` so newer GHCs are
left alone.