Etapa G: b3sum reescrita Cargo-limpia (WIP, queda staged)

Quita el over-build de Alpine (cmake/ninja+TBB de la libblake3 C → deps samurai/onetbb
espurias). El bin b3sum vive en el miembro b3sum/ del workspace blake3; el lab inyecta
[workspace] vacío en el root ⇒ -p b3sum no resuelve + vendorea las deps del root. Queda
staged; re-importar de nix lo daría rooteado en el crate b3sum directamente.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 15:28:45 -04:00
co-authored by Claude Opus 4.8
parent f7669073d3
commit 5468010a08
+7 -31
View File
@@ -10,40 +10,16 @@ tarball = "https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/1.8.5/BLAKE3-
# sha512 = "53344e5fa3d3058f9190f159991652a11951ce960236793d2ef2328b1c7f9310f11a7f84c6a2487aed253bc6d8269dbf4d7fbd30d765480849b2ef82e22c418e"
sha256 = "220bd81286e2a0585beac66d41ac3f4c2c33ae8a4e339fc88cf22d5e00514fe9"
# Reescrita como receta Cargo LIMPIA: el import de Alpine ADEMÁS compilaba la libblake3 C
# (cmake/ninja+TBB) ⇒ deps.build=[samurai,onetbb] (samurai=ninja, herramienta de build). No
# queremos la lib C: sólo el BINARIO b3sum (Rust, crate blake3 vendoreado). Sin deps externas.
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
flags = []
# root = paquete `blake3` con [workspace] NO-virtual (tiene [package]) ⇒ el lab no auto-inyecta
# -p; el bin b3sum vive en el miembro b3sum/ ⇒ -p explícito (patrón arje-installer).
flags = ["-p", "b3sum", "--bin", "b3sum"]
[build.phases]
# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
compile = '''
_abuild_phase() {
cargo auditable build --release --frozen \
${_features:+--features $_features}
cmake -S ../c/ -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=None \
-DBLAKE3_USE_TBB=ON
cmake --build build
}
_abuild_phase
'''
# de package() de Alpine (traducido $pkgdir→/out):
install = '''
_abuild_phase() {
pkgdesc="Command line implementation of the BLAKE3 hash function"
install -Dm755 target/release/b3sum -t "/out"/usr/bin/
DESTDIR="/out" cmake --install build
}
_abuild_phase
'''
[deps]
build = ["samurai", "onetbb"]
install = "mkdir -p /out/usr/bin && cp target/release/b3sum /out/usr/bin/b3sum"