feat: patch registry + wiring for per-package patching #103

Merged
pat-s merged 12 commits from t3code/patch-packages-before-build into main 2026-06-30 08:50:20 +00:00

2026-06-30

ci(patches): wire patches into all build workflows; pin bincraft v4.3.1
Pass patches = 'local/patches' to the daily process_cran_updates() calls
(requires bincraft v4.3.1) and the weekly-rebuild build_binary_package() call,
so every CI build path applies the patch registry like build-all/build-one
already do.
Bump the bincraft pin v4.3.0 -> v4.3.1 across all .crow workflows.
2026-06-30 10:46:18 +02:00
ci(patches): bump bincraft pin to v4.3.0
v4.3.0 adds the `patches` argument that build-one.R/build-all.R now pass.
Updates the install pin (and version guard) across all .crow workflows so CI
installs a bincraft that accepts the argument.
2026-06-30 10:21:00 +02:00
chore(patches): untrack SDD scratch, exclude design docs from markdownlint, fix README table
Remove the accidentally-committed .superpowers/ scratch (briefs/reports) and
gitignore it.
Exclude specs/ and plans/ design docs from markdownlint (like the existing
docs/superpowers/** exclusion).
Pad the registry README table separator so it satisfies MD060.
2026-06-30 09:58:04 +02:00
docs(plan): implementation plan for dynamic per-package patching
Two-phase, TDD plan.
Phase A (bincraft): patch registry loading/matching, isolated patched-binary
builds, local-repo caching, and wiring into the pak install path, gated by a
proof-of-mechanism task.
Phase B (this repo): the RcppParallel registry entry, a validator + pre-commit
hook, and passing patches through the build entry points.
2026-06-30 08:10:46 +02:00
docs(spec): design for dynamic per-package patching during builds
Adds a brainstormed design for patching packages (env/configure overrides
and source diffs) before they are installed by pak, including transitive
dependencies like RcppParallel.
The mechanism lives in bincraft (pre-built patched binaries served from a
prepended local repo); the curated patch registry lives in this repo.
2026-06-30 07:58:43 +02:00