# GNU bison 3.8.2 — build-dep del kernel (frente kernel-from-source).
#
# El kbuild del kernel usa bison (generador de parsers LALR) para el parser de kconfig
# (scripts/kconfig/parser) y dtc. No está en el toolchain Alpine base ⇒ se construye desde fuente.
# Herramienta de build-time, no input del 4/4: build vainilla, sin patches.
#
# bison invoca `m4` en runtime (recipes/m4.toml ya provee el m4 del toolchain). Tarball release
# (configure ya generado ⇒ AutoconfReady). Estático musl con zig cc.

name    = "bison"
version = "3.8.2"
license = "GPL-3.0-or-later"

[source]
tarball = "https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.gz"
sha256  = "06c9e13bdf7eb24d4ceb6b59205a4f67c2c7e7213119644430fe82fbd14a0abb"

[build]
compiler = "zig-cc"
target   = "x86_64-linux-musl"
link     = "static"
# ── PILOTO DEL SPLIT DE DEBUG (SDD 23 etapa 2) ─────────────────────────────────────────────────
# Esta receta DIVERGÍA entre rebuilds: `hammer why-differs` mostró que las únicas secciones
# distintas eran `.debug_*` (rutas internas del árbol de build), con el código ejecutable IDÉNTICO.
# Al quitar esas secciones del artefacto, el artefacto reproduce — y de paso pesa mucho menos (el
# 79% del contenido binario del store es info de depuración).
# El campo entra en `hash_inputs`, así que re-hashea esta receta A PROPÓSITO: cambia el contenido.
strip_debug = true
flags = ["--disable-nls"]

[deps]
# `binutils` por `strip_debug = true`: el paso de strip del lab usa su `strip --strip-debug`.
build = ["binutils"]
