nushell 0.104.1: uno de los paquetes más duros del ecosistema (openssl-sys + libgit2-sys + libssh2-sys + libsqlite3-sys + mimalloc, todos sus C vendoreados). Fix clave: convertir la receta del estilo abuild (fase compile custom, que NO monta el wrapper .hammer-zig-cc) al build POR DEFECTO (flags=['--bin','nu']) ⇒ el wrapper traduce el target alpine→musl que zig no conoce, y los -sys compilan. Dropea system-deps.patch (vendor todo). mise diferido (.deferred: su build.rs busca git/archivo en build-time). HALLAZGO GENERAL: recetas import-Alpine con fase abuild + C-deps fallan porque la fase custom no monta el wrapper zig-cc. Fix = usar el build por defecto (sin fase compile). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
30 lines
1.4 KiB
TOML
30 lines
1.4 KiB
TOML
# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
|
|
# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
|
|
# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
|
|
name = "nushell"
|
|
version = "0.104.1"
|
|
|
|
[source]
|
|
tarball = "https://github.com/nushell/nushell/archive/0.104.1.tar.gz"
|
|
# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
|
|
# sha512 = "963efb959385d28839a1505111a3841c08cad7c1941c7c5a3dfc941d34cbd0d2a46d1602cd72f8b5920d86a03b2c157da9893f8ea2b25bbab81c12651a2e91c9"
|
|
sha256 = "3dafca8bf892f5a2afaac1122a88a7eb7f22a0b62ef901f550173a11d5cbdf6e"
|
|
# system-deps.patch dropeado: forzaba libs del SISTEMA (libgit2/libssh2/sqlite) que no tenemos.
|
|
# Sin él, los crates -sys vendorean su propio C (libgit2-sys/libssh2-sys/libsqlite3-sys/mimalloc).
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
# --bin nu: solo el shell (no los plugins del workspace, que multiplican el build). SIN fase compile
|
|
# custom ⇒ usa el build por defecto del lab, que MONTA el wrapper .hammer-zig-cc (traduce el target
|
|
# alpine→musl que zig no conoce). La fase abuild-style NO lo montaba ⇒ openssl-sys llamaba a zig con
|
|
# el triple alpine y abortaba (UnknownOperatingSystem).
|
|
flags = ["--bin", "nu"]
|
|
|
|
[build.phases]
|
|
install = "mkdir -p /out/usr/bin && cp target/release/nu /out/usr/bin/nu"
|
|
|
|
[deps]
|
|
build = ["openssl"]
|