May 07, 2-3 AM (2)
May 07, 3-4 AM (11)
May 07, 4-5 AM (5)
May 07, 5-6 AM (33)
May 07, 6-7 AM (97)
May 07, 7-8 AM (236)
May 07, 8-9 AM (42)
May 07, 9-10 AM (29)
May 07, 10-11 AM (55)
May 07, 11-12 PM (40)
May 07, 12-1 PM (59)
May 07, 1-2 PM (48)
May 07, 2-3 PM (48)
May 07, 3-4 PM (44)
May 07, 4-5 PM (58)
May 07, 5-6 PM (11)
May 07, 6-7 PM (25)
May 07, 7-8 PM (30)
May 07, 8-9 PM (12)
May 07, 9-10 PM (18)
May 07, 10-11 PM (65)
May 07, 11-12 AM (21)
May 08, 12-1 AM (6)
May 08, 1-2 AM (20)
May 08, 2-3 AM (19)
May 08, 3-4 AM (9)
May 08, 4-5 AM (3)
May 08, 5-6 AM (21)
May 08, 6-7 AM (20)
May 08, 7-8 AM (53)
May 08, 8-9 AM (34)
May 08, 9-10 AM (12)
May 08, 10-11 AM (32)
May 08, 11-12 PM (40)
May 08, 12-1 PM (30)
May 08, 1-2 PM (46)
May 08, 2-3 PM (46)
May 08, 3-4 PM (26)
May 08, 4-5 PM (23)
May 08, 5-6 PM (29)
May 08, 6-7 PM (15)
May 08, 7-8 PM (10)
May 08, 8-9 PM (15)
May 08, 9-10 PM (16)
May 08, 10-11 PM (23)
May 08, 11-12 AM (12)
May 09, 12-1 AM (4)
May 09, 1-2 AM (1)
May 09, 2-3 AM (0)
May 09, 3-4 AM (6)
May 09, 4-5 AM (6)
May 09, 5-6 AM (2)
May 09, 6-7 AM (6)
May 09, 7-8 AM (4)
May 09, 8-9 AM (4)
May 09, 9-10 AM (3)
May 09, 10-11 AM (9)
May 09, 11-12 PM (6)
May 09, 12-1 PM (21)
May 09, 1-2 PM (24)
May 09, 2-3 PM (12)
May 09, 3-4 PM (14)
May 09, 4-5 PM (7)
May 09, 5-6 PM (0)
May 09, 6-7 PM (2)
May 09, 7-8 PM (3)
May 09, 8-9 PM (1)
May 09, 9-10 PM (8)
May 09, 10-11 PM (33)
May 09, 11-12 AM (16)
May 10, 12-1 AM (15)
May 10, 1-2 AM (0)
May 10, 2-3 AM (0)
May 10, 3-4 AM (5)
May 10, 4-5 AM (0)
May 10, 5-6 AM (4)
May 10, 6-7 AM (0)
May 10, 7-8 AM (17)
May 10, 8-9 AM (8)
May 10, 9-10 AM (1)
May 10, 10-11 AM (26)
May 10, 11-12 PM (4)
May 10, 12-1 PM (49)
May 10, 1-2 PM (18)
May 10, 2-3 PM (8)
May 10, 3-4 PM (15)
May 10, 4-5 PM (26)
May 10, 5-6 PM (11)
May 10, 6-7 PM (7)
May 10, 7-8 PM (23)
May 10, 8-9 PM (12)
May 10, 9-10 PM (10)
May 10, 10-11 PM (29)
May 10, 11-12 AM (19)
May 11, 12-1 AM (12)
May 11, 1-2 AM (5)
May 11, 2-3 AM (5)
May 11, 3-4 AM (7)
May 11, 4-5 AM (3)
May 11, 5-6 AM (12)
May 11, 6-7 AM (28)
May 11, 7-8 AM (60)
May 11, 8-9 AM (34)
May 11, 9-10 AM (77)
May 11, 10-11 AM (55)
May 11, 11-12 PM (78)
May 11, 12-1 PM (84)
May 11, 1-2 PM (102)
May 11, 2-3 PM (41)
May 11, 3-4 PM (27)
May 11, 4-5 PM (24)
May 11, 5-6 PM (26)
May 11, 6-7 PM (42)
May 11, 7-8 PM (53)
May 11, 8-9 PM (57)
May 11, 9-10 PM (22)
May 11, 10-11 PM (49)
May 11, 11-12 AM (19)
May 12, 12-1 AM (2)
May 12, 1-2 AM (2)
May 12, 2-3 AM (3)
May 12, 3-4 AM (4)
May 12, 4-5 AM (8)
May 12, 5-6 AM (11)
May 12, 6-7 AM (17)
May 12, 7-8 AM (25)
May 12, 8-9 AM (25)
May 12, 9-10 AM (35)
May 12, 10-11 AM (82)
May 12, 11-12 PM (98)
May 12, 12-1 PM (38)
May 12, 1-2 PM (69)
May 12, 2-3 PM (54)
May 12, 3-4 PM (41)
May 12, 4-5 PM (56)
May 12, 5-6 PM (29)
May 12, 6-7 PM (24)
May 12, 7-8 PM (24)
May 12, 8-9 PM (18)
May 12, 9-10 PM (8)
May 12, 10-11 PM (40)
May 12, 11-12 AM (19)
May 13, 12-1 AM (10)
May 13, 1-2 AM (2)
May 13, 2-3 AM (4)
May 13, 3-4 AM (2)
May 13, 4-5 AM (5)
May 13, 5-6 AM (29)
May 13, 6-7 AM (51)
May 13, 7-8 AM (42)
May 13, 8-9 AM (44)
May 13, 9-10 AM (21)
May 13, 10-11 AM (22)
May 13, 11-12 PM (47)
May 13, 12-1 PM (25)
May 13, 1-2 PM (42)
May 13, 2-3 PM (45)
May 13, 3-4 PM (42)
May 13, 4-5 PM (33)
May 13, 5-6 PM (29)
May 13, 6-7 PM (49)
May 13, 7-8 PM (31)
May 13, 8-9 PM (8)
May 13, 9-10 PM (24)
May 13, 10-11 PM (29)
May 13, 11-12 AM (11)
May 14, 12-1 AM (18)
May 14, 1-2 AM (2)
May 14, 2-3 AM (2)
4,371 commits this week May 07, 2026 - May 14, 2026
comp-v2-builder: pass --with-PROG directly for cabal's built-in programs
cabal's `Distribution.Simple.Program.Db.userSpecifyPath` silently
ignores `--with-PROG=PATH` for any program not pre-registered in the
`ProgramDb` (the underlying `Map.update` over `unconfiguredProgs`
is a no-op for unknown names).  The 24 built-in programs from
`Distribution.Simple.Program.Builtin.builtinPrograms` (alex, happy,
c2hs, hsc2hs, cpphs, hscolour, doctest, haddock, etc.) are
pre-registered, so cabal v2-build accepts `--with-NAME=PATH` for them
directly.  Arbitrary build-tool-exes (e.g. `pkga-exe`) aren't —
cabal v2-build rejects those with "unrecognized 'v2-build' option".

The previous `--configure-option=--with-NAME=PATH` blanket-wrap
worked for arbitrary names but broke the built-in case: wrapping
threads the flag through to per-package Setup configure, which DOES
register the override in its own ProgramDb, but cabal v2-build's
OWN program resolution (used for the per-slice preprocess invocations
like "Running alex…") never sees the override and falls back to the
cross-target binary in the bundled cabal-store.  Concretely:
language-c's alex preprocess step ran the cross-target aarch64 alex
on an x86_64 build host, producing "posix_spawnp: invalid argument
(Exec format error)".

Split the flag emission accordingly:

  * built-in: emit `--with-NAME=PATH` directly to `cabal v2-build`
  * non-built-in: emit `--configure-option=--with-NAME=PATH`

Verified by `tests.th-dlls.build` on
`ghc9141llvm.aarch64-multiplatform` (previously failed on
language-c's alex invocation, now builds through to th-dlls).