mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-30 16:10:36 +00:00
`threads` was `{ model, package }`, but more recently the threading
packages also declare their model as `passthru.threadModel` (e.g. `mcf`
for `windows.mcfgthreads`, `posix` for `windows.pthreads`). The latter
technique is more idiomatic for Nixpkgs, and was done as part of the GCC
NG work.
Now, let's roll that out everywhere. Make `threads` just the package, or
`null`, and read the model off it.
- GCC "legacy": `gcc` now takes `threadsCross` as that package and
derives `--enable-threads` from it, still defaulting to `win32`.
- `dxvk`, because it was overriding `gcc`, is updated accordingly.
- GCC NG: `gccNGPackages` no longer needs to duplicate the logic. It can
just use `threads` rather than make its own. Some comments were moved
around to better homes accordingly.
No derivation hashes should be changed.
Assisted-by: Claude Code (Claude Opus 5.5)