# ══ SUBIÓ AL CORPUS (2026-09-04) — PLATAFORMA GECKO ════════════════════════════════════════════ # El build de Firefox la exige: genera las cabeceras C++ de los componentes escritos en Rust # (Stylo, WebRender). Firefox, Waterfox y Zen la comparten igual que todo lo demás de la plataforma, # y desde el corpus no se alcanza una cola hermana. # # Mudanza GRATIS y medida antes: `[deps].build` está VACÍO, así que no hay cierre que cambiar, y # `takana hash` dio el MISMO ArtifactHash (b3:bd2e6ca6) en las dos rutas. `yupana radio` = 0: nadie # la declaraba todavía, ni siquiera en la cola donde vivía. # # cbindgen — genera headers C/C++ desde código Rust. Herramienta de BUILD de mozjs (el build de # SpiderMonkey invoca cbindgen para los bindings de sus crates Rust). Binario Rust; el lab lo detecta # como BuildSys::Cargo (hay Cargo.toml + Cargo.lock en el tarball de GitHub) y hace `cargo vendor` en el # fetch + `cargo build --release --locked --offline` en el sandbox. Sin sys-crates C ⇒ no necesita el # wrapper de AR (ver cargo-recipe-ar-wrapper). Firefox 128 pide cbindgen >= 0.26; 0.27 cumple. name = "cbindgen" # 0.27.0 → 0.29.4 (2026-09-04): el configure de Firefox 154 corta con «cbindgen version 0.27.0 is # too old. At least version 0.29.4 is required.». Subir es GRATIS: `yupana radio cbindgen` = 0, o sea # que ninguna receta la declara todavía — es herramienta de la plataforma Gecko y nada más. version = "0.29.4" license = "MPL-2.0" [source] # Por COMMIT y no por `/archive/refs/tags/…`, que es lo que tenía: esos tarballs los genera la forja # al vuelo y su sha256 cambia cuando el servidor actualiza git/gzip (ADR 0006). El tag `0.29.4` es # LIGERO —una sola ref en `ls-remote`, sin `^{}`— ⇒ este sha ES el commit. repo = "https://github.com/mozilla/cbindgen.git" commit = "b826cb8911488fe8a209d2b693492c0c673e8cca" [build] compiler = "gcc" # convención de las CLIs Rust: gcc = toolchain del link zig-cc target = "x86_64-linux-musl" link = "static" # cbindgen expone lib + bin homónimos ⇒ `cargo rustc -- ` es ambiguo ("extra # arguments to rustc can only be passed to one target"). --bin cbindgen fija el target del bin final. flags = ["--bin", "cbindgen"] [deps] build = []