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: abre la cola C — tmux (corpus 278→279), valida libs base
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 = "screen"
5version = "5.0.1"
6
7[source]
8tarball = "https://git.savannah.gnu.org/gitweb/?p=screen.git;a=snapshot;h=v.5.0.1;sf=tgz"
9# FIXME sha256: el wrapper lo calcula (Alpine publica sha512). sha512 de Alpine:
10# sha512 = "1e11374c74c9b4acb49e51baf9af6a151bda333f57392918ebd2167274454eb80b8ac8a17f6aa38d921f7f6d919e4b43f10a35da652a4a36b374ce8b97b8610a"
11sha256 = "FIXME-sha256"
12
13[build]
14compiler = "zig-cc"
15target = "x86_64-linux-musl"
16link = "static"
17flags = []
18
19[build.phases]
20# de build() de Alpine (traducido; el lab provee $CBUILD/$CHOST — Etapa G Fase 3; revisá --shared para estático):
21compile = '''
22_abuild_phase() {
23CFLAGS="$CFLAGS -flto=auto" \
24 ./configure \
25 --build=$CBUILD \
26 --host=$CHOST \
27 --prefix=/usr \
28 --sysconfdir=/etc \
29 --with-system_screenrc=/etc/screenrc \
30 --mandir=/usr/share/man \
31 --infodir=/usr/share/info \
32 --localstatedir=/var \
33 --enable-telnet
34 make
35}
36_abuild_phase
37'''
38# de package() de Alpine (traducido $pkgdir→/out):
39install = '''
40_abuild_phase() {
41make -j1 DESTDIR="/out" install
42
43 # remove suid root
44 find "/out" -type f -perm -u+s -print0 \
45 | xargs -0 chmod -c -s
46
47 install -Dm644 etc/etcscreenrc "/out"/etc/screenrc
48 install -Dm644 etc/screenrc "/out"/etc/skel/.screenrc
49}
50_abuild_phase
51'''
52
53[deps]
54build = ["autoconf", "automake", "linux-pam", "ncurses"]