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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user