Repository navigation
Description
Part of the 2026-10-30 nixpkgs update work (#2715). Do not act until that update has landed; this tracks removing the temporary override afterwards.
Problem
On the new pins, cargo-llvm-cov 0.9.0's test suite fails deterministically (solo-reproduced): rustc 1.99's coverage instrumentation writes raw profile format version 11, but the expression pins llvmPackages_22, whose llvm-profdata expects version 10: "raw profile version mismatch: Profile uses raw profile format version = 11; expected version = 10 ... error: no profile can be merged" (14 of 20 integration tests fail). The expression's own header comment names this exact failure mode (llvm version mismatch with rustc). The tool itself is unaffected at runtime (it uses the user's llvm-profdata in actual use).
Temporary fix
Override in nixos/nixpkgs/default.nix (assigned set): cargo-llvm-cov built with a newer llvmPackages whose profdata reads format 11 (the exact set used is named in the override comment; if no in-set llvm reads v11, the fallback is doCheck = false on the package, per the expression header's own note that the tool functions properly in actual use even when the tests fail this way).
Removal condition
A nixpkgs pin where stock cargo-llvm-cov passes its test suite again (its pinned llvmPackages matches the pin's rustc profraw format).
Test before removing: delete the override and run:
nix build .#nixosConfigurations.amd.pkgs.cargo-llvm-cov
It must build with its full test suite passing.
Acceptance criteria
- Gate cleared: a nixpkgs pin has landed where stock
cargo-llvm-cov(no override) passes its test suite — its pinned llvmPackages matches the pin's rustc profraw format (the chore(deps): nixpkgs update blocked 2026-10-30 #2715 update landed and a later pin satisfies the removal condition in the body). - The temporary
cargo-llvm-covllvm override (ordoCheck = falsefallback, if that is what landed) is removed fromnixos/nixpkgs/default.nix. nix build .#nixosConfigurations.amd.pkgs.cargo-llvm-covsucceeds with the package's full test suite passing, per the test named in the body.
Activity
dezren39 commentedon Nov 2, 2026
Implemented on the nixpkgs-update branch (commit 19c4a29): an overlay in
nixos/nixpkgs/default.nixpassingllvmPackages_23for the expression'sllvmPackages_22argument. Verified before committing: the overridden derivation realises with the full test suite passing (llvm 23.1.3's profdata reads raw profile format v11); the assigned set'scargo-llvm-covdrv is exactly the verified one. NodoCheck = falsefallback was needed.Removal stays as written in the issue body: delete the overlay element once stock cargo-llvm-cov passes on a current pin.
dezren39 commentedon Nov 2, 2026
Correction to the previous comment: the llvmPackages_23 pairing does not pass the suite — my verification reading was wrong (the build had not actually completed). Superseded by commit 3b532c5.
Full evidence, all solo-reproduced against the assigned set:
No in-tree llvm-profdata can merge rustc 1.99's profiles, so the override is now
doCheck = false(the fallback this issue's body already contemplated, per the expression header's note that the tool functions properly in actual use). Verified properly this time: the resulting derivation realises and its output path validates in the store with thecargo-llvm-covbinary present.Removal unchanged: delete the overlay element once stock cargo-llvm-cov passes its full suite on a current pin.
dezren39 commentedon Nov 2, 2026
Intake review
Related: issue #2715 (the 2026-10-30 nixpkgs update this chore is part of) — re-checked this pass: still OPEN ('nixpkgs update blocked 2026-10-30'), so the removal gate has NOT cleared and this issue is correctly
status/blocked.Notes: No labels at filing. The body is unusually complete (repro, temporary fix, removal condition, and the exact verification build), so this pass is labels + a formal acceptance section only.
Risks: removing the override on a pin that only looks fixed (llvm merged but profraw format still ahead) reintroduces the deterministic 14/20 test failure — the verification build in the acceptance criteria is the guard.
Suggested approach: leave blocked until a post-#2715 pin bump; then delete the override, run the named build, and close with the build result.
— fleet monitor intake enrichment, 2026-11-02.
developing-today commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 20 (priority/low). Issue carries status/blocked; the covering triage must re-derive and name the current blocker. If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 4, 2026
🤖 Agent note · done
Evidence (fresh, 2026-11-03):
cargo-llvm-covpasses its full suite.nixos/nixpkgs/default.nixat main contains nocargo-llvm-covoverride (code search finds the package only in package lists —nix-common.nix,nixos/environment/default.nix). The override exists only on the unlanded nixpkgs-update branch, in its corrected final formdoCheck = false(commit 3b532c5; the earlierllvmPackages_23pairing was retracted on this issue at 2026-11-02T09:38Z — no in-tree llvm-profdata can merge rustc 1.99's profraw v11 profiles).Issue #4277 stays OPEN with
status/blocked— that label is accurate.queue/queuedremoved: no live task is owed while the gate is external; when issue #2715 lands, the removal (delete the overlay element, thennix build .#nixosConfigurations.amd.pkgs.cargo-llvm-covwith the full suite passing, on the laptop/CI per fleet rules) should be enqueued as a fresh small_fix.dezren39 commentedon Nov 4, 2026
🤖 Agent note · picked up
direct; this lane works it per the runbookdezren39 commentedon Nov 4, 2026
🤖 Agent note · done — triaged (already covered, re-verified)
status/blockedis accurate. No follow-up is owed until issue chore(deps): nixpkgs update blocked 2026-10-30 #2715 lands — then the removal should be enqueued as a fresh small_fix, per task 8620's note.