Files
hammer/recipes/mtdev.toml
T
sergioandClaude Opus 4.8 a1ab8774c5 harkaq: mtdev — deuda de config.sub CERRADA con patch soberano (+ límite del modelo descubierto)
El único caso de deuda de soberanía del barrido: mtdev copiaba el config.sub/guess
del autoconf de ALPINE (/usr/share/autoconf/build-aux/) porque el suyo (1.1.6) no
conoce *-musl. harkaq lo cazó como lectura no declarada del rootfs.

CERRADO con recipes/mtdev-config-sub-musl.patch: 11 líneas, +`-musl*` a la
whitelist de OS del config.sub DEL PROPIO TARBALL. Ahora es input soberano
(hasheado con la receta), sin leer Alpine. Se quitó el `cp /usr/share/autoconf/...`
del configure. Verificado: mtdev construye (b3:47708e40) sin tocar /usr/share/autoconf.

Método (con un tropiezo honesto): casi afirmo que el `cp` era espurio porque el
config.sub en work/sources/mtdev daba exit 0 con musl — pero ese source estaba
MUTADO por un build previo (el cp lo había reemplazado por el de Alpine). El
tarball ORIGINAL fresco NO conoce musl (exit 1). Casi valido sobre un source
contaminado; me salvó chequear el exit code, no el output.

DESCUBIERTO AL CERRARLO: mtdev tenía DOS deudas de Alpine, no una. También usa
`compiler = "gcc"` (gcc de Alpine, no zig). Bajo la jaula la política deniega
/usr/bin/gcc (sonda esperada) y el configure da "C compiler cannot create
executables". Es parte de matar-gcc (kernel, cmake, mtdev), frente aparte.

LÍMITE DEL MODELO (nuevo, documentado en needs-review): harkaq clasifica gcc como
"sonda esperada" SIEMPRE, así que marca la fase Hermetico — pero para una receta
compiler=gcc, gcc es ESENCIAL y el build no compila sin él. harkaq no distingue
"gcc sondeado (ignorable)" de "gcc = el compilador". Caso límite real del
clasificador; no invalida el cierre de config.sub (producción no usa la jaula).

make declarado en mtdev (deuda declarable restante). config.sub fuera de
needs-review; queda anotado el gcc-compilador.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 08:04:03 -04:00

27 lines
1013 B
TOML

# mtdev 1.1.6 — protocolo multitouch (slots). Dep de build de libinput. Autotools, sin deps.
name = "mtdev"
version = "1.1.6"
[source]
tarball = "https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.gz"
sha256 = "1325f389a2f25cd5f5a8ea4d29aad24aa7c3ec30401d679400dd79eb9c0a8dbb"
patches = ["mtdev-config-sub-musl.patch"]
[build]
compiler = "gcc"
target = "x86_64-linux-musl"
link = "dynamic"
flags = []
[build.phases]
# El config.sub de mtdev 1.1.6 no conoce el triple `*-musl`. ANTES se copiaba el de Alpine
# (`/usr/share/autoconf/build-aux/`) — una lectura NO DECLARADA del rootfs que harkaq (SDD 16)
# cazó como la única deuda de soberanía del barrido. Ahora se parchea el config.sub del propio
# tarball (mtdev-config-sub-musl.patch, +`-musl*` a la whitelist de OS): input soberano, hasheado
# con la receta, sin tocar Alpine.
configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr'
compile = 'make'
install = 'make DESTDIR=/out install'
[deps]
build = ["pkgconf", "make"]