tawasuyu

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…

TOML 1576Shell 205Rust 111Markdown 993774 Definiciones

⎇ 98f0b2d228ffebb06941dfc1f436167ab40d8f21 recipes/flex.toml TOML · 29 líneas · 1.4 KB Historia crudo

recipes/flex+bison: build-deps del kernel (frente kernel-from-source) c67caa3c5 · sergio ·

1# flex 2.6.4 — build-dep del kernel (frente kernel-from-source).
2#
3# El kbuild del kernel usa flex (analizador léxico) para generar el parser de kconfig (scripts/kconfig)
4# y otros lexers. No está en el toolchain Alpine base ⇒ se construye desde fuente. Herramienta de
5# build-time, no input del 4/4: build vainilla, sin patches.
6#
7# Tarball release (configure ya generado ⇒ AutoconfReady). Estático musl con zig cc.
8
9name    = "flex"
10version = "2.6.4"
11
12[source]
13tarball = "https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz"
14sha256  = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995"
15
16[build]
17compiler = "zig-cc"
18target   = "x86_64-linux-musl"
19link     = "dynamic"
20
21# CC=gcc/CXX=g++ (NO zig), igual que binutils/python3/cmake: flex se auto-construye (un `stage1flex`
22# procesa su propio scan.l → stage1scan.c). Con `zig cc` ese stage1flex sale miscompilado y falla con
23# "unrecognized rule" al parsear scan.l (zig 0.16 miscompila binarios musl no-triviales). gcc nativo
24# (como Alpine) lo produce funcional. link=dynamic: gcc enlaza el musl del toolchain (estático con
25# libtool+stage-scanner es frágil; flex es herramienta de build-time, corre, no se enlaza en el 4/4).
26[build.phases]
27configure = "CC=gcc CXX=g++ ./configure --prefix=/usr --disable-nls --disable-shared"
28compile   = "CC=gcc CXX=g++ make -j\"$(nproc)\""
29install   = "make install DESTDIR=/out PREFIX=/usr"