Files
RedBear-OS/recipes/wip/dev/lang/nodejs-24/recipe.toml
T
vasilito a23012cee0 migrate: remove patch system, adopt direct source ownership
BREAKING CHANGE: The patch-based build system is removed.
All Red Bear source now lives in local/sources/<component>/ as git repos.

Changes:
- src/recipe.rs: remove patches field from SourceRecipe::Git/Tar, add Local variant
- src/cook/fetch.rs: delete fetch_apply_patches, validate_patches, normalize_patch,
  fetch_compute_patches_hash, fetch_write_patches_state, fetch_patches_state_stale,
  fetch_validate_patch_symlinks, fetch_is_patches_newer. Simplify fetch and
  fetch_offline. Remove recipe_has_patches. Add Local source handler.
- src/bin/repo.rs: remove validate-patches command and handle_validate_patches
- 70 recipe.toml files: remove patches arrays, convert core recipes to Local source
- 272 .patch symlinks deleted from recipe directories
- integrate-redbear.sh: replace patch symlink logic with source fork validation
- Makefile: replace validate-patches with validate-sources target
- AGENTS.md: remove 369 lines of patch documentation, add source ownership model
- local/docs/PATCH-GOVERNANCE.md: deleted (replaced by SOURCE-OWNERSHIP-MODEL.md)
- local/docs/SOURCE-OWNERSHIP-MODEL.md: new canonical reference
- local/sources/: Red Bear fork repos created (kernel, relibc, base, bootloader,
  installer) from frozen 0.1.0 pre-patched archives
- .gitignore: exclude local/sources/ (separate git repos)
- create-forks.sh: new script for initializing fork repos

Build: cargo check passes (5 warnings, 0 errors).
Developer workflow is now: edit local/sources/ → repo cook → test. No patches.
2026-05-29 22:32:36 +03:00

63 lines
1.1 KiB
TOML

#TODO requires stdc++20
[source]
tar = "https://nodejs.org/dist/v24.9.0/node-v24.9.0.tar.xz"
blake3 = "c710713c9144dc2dfadaef1d180b295d85edd9945513017fc700af68eb08a251"
[build]
template = "custom"
dependencies = [
# "ada",
"libbrotli",
"c-ares",
"libuv",
"ngtcp2",
"nghttp2",
# "http-parser",
"nghttp3",
"openssl1",
"simdjson",
"simdutf",
"sqlite3",
# "uvwasi",
"zlib",
"zstd",
]
script = """
DYNAMIC_INIT
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
case "${TARGET}" in
x86-unknown-redox)
export NODE_CPU=x32
;;
x86_64-unknown-redox)
export NODE_CPU=x64
;;
aarch64-unknown-redox)
export NODE_CPU=arm64
;;
esac
COOKBOOK_CONFIGURE_FLAGS=(
--prefix=${COOKBOOK_STAGE}
--dest-cpu=${NODE_CPU}
--dest-os=redox
--shared-cares
--shared-libuv
--shared-ngtcp2
--shared-nghttp2
--shared-nghttp3
--shared-openssl
--shared-simdjson
--shared-simdutf
--shared-zlib
--shared-zstd
--cross-compiling
--without-sqlite
--without-inspector
--without-intl
)
COOKBOOK_CONFIGURE="./configure"
cookbook_configure
"""