feat: patch registry + wiring for per-package patching #103
Loading…
Reference in a new issue
No description provided.
Delete branch "t3code/patch-packages-before-build"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds the curated patch registry and wiring that drives bincraft's new package-patching mechanism (see bincraft PR
feat/package-patching).Lets specific packages be patched (env/configure/Makevars overrides or source diffs) before pak installs them — including as transitive dependencies — so compiler-/OS-specific failures like RcppParallel's bundled TBB stop cascading.
What's included
local/patches/registry.json— initial entry: RcppParallel withRCPP_PARALLEL_USE_TBB=0for alpine / ubuntu-2604, pluslocal/patches/README.mdschema docs.local/validate-patches.R— validates schema, referenced patch files, and ambiguous overlaps; clean failure + exit 1 (no stacktrace)..pre-commit-config.yaml— avalidate-patcheshook (re-runs when the registry or the validator changes).local/build-one.R/local/build-all.R— passpatches = "local/patches"tobincraft::build_binary_package().specs/2026-06-30-package-patching-design.mdandplans/2026-06-30-package-patching-implementation.md.⚠️ Merge ordering (blocker)
This PR adds a
patches = ...argument tobuild_binary_package()calls.The
.crow/*.yamlworkflows currently pin bincraft v4.2.3, which does not accept that argument — CI will error withunused argument (patches=...)until:feat/package-patching), and.crow/build-all-versions-install-deps.yaml,.crow/build-all-versions.yaml, and.crow/process-updates.yaml.The
.crowpin bump will be added to this PR once bincraft v4.3.0 is tagged. Do not merge before then.