sergio/takana
> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…
Etapa G: recarga la cola — tanda Rust #3 importada (28 staged para la próxima granja)
1# Importada de Alpine aports por `hammer import-alpine` (Etapa G). PUNTO DE PARTIDA — pero
2# YA trae los parches de musl de Alpine (lo que un import de nix pierde). Pendiente: el
3# sha256 del tarball (el wrapper lo calcula), y adaptar build/install del shell de abuild.
4name = "nushell"
5version = "0.104.1"
6
7[source]
8tarball = "https://github.com/nushell/nushell/archive/0.104.1.tar.gz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "963efb959385d28839a1505111a3841c08cad7c1941c7c5a3dfc941d34cbd0d2a46d1602cd72f8b5920d86a03b2c157da9893f8ea2b25bbab81c12651a2e91c9"
11sha256 = "3dafca8bf892f5a2afaac1122a88a7eb7f22a0b62ef901f550173a11d5cbdf6e"
12patches = ["system-deps.patch"]
13
14[build]
15compiler = "zig-cc"
16target = "x86_64-linux-musl"
17link = "static"
18flags = []
19
20[build.phases]
21# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
22compile = '''
23_abuild_phase() {
24cargo auditable build --workspace --release --frozen $_exclude_opts
25}
26_abuild_phase
27'''
28# de package() de Alpine (traducido $pkgdir→/out):
29install = '''
30_abuild_phase() {
31find target/release \
32 -maxdepth 1 \
33 -executable \
34 -type f \
35 -name "nu*" \
36 -exec install -Dm755 '{}' -t "/out"/usr/bin/ \;
37
38 install -Dm644 LICENSE \
39 -t "/out"/usr/share/licenses/nushell/
40}
41_abuild_phase
42'''
43
44[deps]
45build = ["libgit2", "libssh2", "mimalloc2", "openssl", "sqlite"]