Commit 71f268c
repro_cli_support: forward reprobuild env vars to user daemon
The CLI snapshots the user's shell environment in
``daemonCarriedEnvironment()`` and ships it across the daemon protocol
so the daemon-hosted build subprocesses inherit the user's toolchain
configuration. The allowlist was missing the reprobuild-specific env
vars that ``config.nims`` and the interface-extraction nim subprocesses
read:
- REPROBUILD_USE_SYSTEM_HASH_LIBS: when "1", config.nims uses system
libblake3 / libxxhash (-I/-L/-lblake3 / -lxxhash). Without it,
config.nims defaults to vendored mode and ``--define:reproVendoredHash``,
which makes ``libs/blake3/src/blake3.nim`` try to ``.compile:`` from
``references/mold/third-party/blake3/c/`` — the references directory
is gitignored, so CI checkouts fail at the very first nim subprocess
the daemon spawns ("daemon-hosted build failed: ... cannot find:
../../../references/mold/third-party/blake3/c/blake3.c").
- BLAKE3_PREFIX / XXHASH_PREFIX / SQLITE_PREFIX: prefix paths that
config.nims and ``externalHashFlags`` read to discover the system
libs.
- NIMCRYPTO_SRC / RUNQUOTA_SRC / BEARSSL_SRC: source-only dependency
inputs config.nims registers as ``addPackagePath`` lookups so
``import nimcrypto`` etc. work without nimble.
This unblocks ``repro build test`` in CI under the daemon-hosted path.
Local development was unaffected because ``nix develop --command`` sets
the env vars on the CLI shell, the CLI passes them to a fresh daemon
that inherits them via fork.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent aa46e1a commit 71f268c
1 file changed
Lines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7720 | 7720 | | |
7721 | 7721 | | |
7722 | 7722 | | |
7723 | | - | |
| 7723 | + | |
| 7724 | + | |
| 7725 | + | |
| 7726 | + | |
| 7727 | + | |
| 7728 | + | |
| 7729 | + | |
| 7730 | + | |
7724 | 7731 | | |
7725 | 7732 | | |
7726 | 7733 | | |
| |||
0 commit comments