0383dcbca3
The brush recipe used an UNPINNED `git = "https://github.com/reubeno/brush"` source, so cookbook's fetch silently re-synced it to the latest upstream `main` on every build. It drifted onto reubeno/brush e985399 (PR #1249, which rewrote `read_input_line`), which made the Redox port patches reject; the patch-dirtied clone then failed cookbook's `git checkout` in the fetch step ("local changes would be overwritten") — surfacing as "brush does not compile". Vendor the working tree in-repo (RedBear convention: `[source] path = "source"`, as amdgpu/redox-drm/ext4d use) at reubeno/brush @ 897b373e — the commit right before #1249, where all four Redox patches (nix-0.31, libc-0.2, brush umask, brush runtime/input) apply cleanly. The shell is now a local fork under our control and can never auto-drift again. The brush-source patches are pre-applied in the vendored tree; the recipe keeps them (apply_patch idempotently skips an already-applied patch, so the source is never re-dirtied) as reviewable records of the Redox changes, and still applies the nix/libc patches to the fetched registry crates. Verified: `cook brush - successful` in a mini build. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>