Barrido de TEXTO puro: 1427 líneas de comentario TOML. Cero ArtifactHash movidos, y eso está MEDIDO, no deducido: hasheé las 741 antes y después y los ficheros de hashes son idénticos byte a byte (723 con hash real + 18 que ya no hasheaban de antes). El guardián valió la pena: el primer barrido, filtrando por 'la línea empieza con #', movió el hash de helix, lsof y steam-runtime-sniper. La causa es que una fase se escribe como compile = <triple> ... <triple> y sus comentarios de SHELL también empiezan con #, pero viven dentro del VALOR — y las fases sí entran en hash_inputs. El barrido ahora calcula los rangos de las cadenas multilínea de TOML y no entra ahí. Quedan intactos a propósito: .hammer-zig-cc y .hammer-cargo-vendor (literales dentro de fases), hammerd, hammer-recover y toda ruta que empiece por /
48 lines
2.7 KiB
TOML
48 lines
2.7 KiB
TOML
# ══ COPIA AL CORPUS, hash IDÉNTICO (b3:73fb200a…) ════════════════════════════════════
|
|
# El original nació en `incoming-kde/` y ya fue copiado a `incoming-gnome/` y `incoming-cosmic/` por
|
|
# la misma razón que sube ahora al corpus: **una receta sólo alcanza su propia cola y el catálogo
|
|
# padre**, nunca una cola hermana. `mpv` vive en el corpus y necesita `alsa.pc`.
|
|
#
|
|
# GRATIS, MEDIDO: su única dep es `pkgconf`, que ya resolvía al catálogo PADRE desde las tres colas
|
|
# ⇒ el cierre no cambia y `takana hash` da el MISMO ArtifactHash a los cuatro ficheros. Un solo
|
|
# artefacto en el store, hidrate quien hidrate.
|
|
#
|
|
# QUÉ SIGNIFICA ESTO PARA EL SONIDO DE VERDAD: el servidor de audio de la distro es PipeWire
|
|
# (decisión del usuario, 2026-07-29), y desde 2026-09-03 las tres recetas de pipewire van con
|
|
# `-Dpipewire-alsa=enabled` ⇒ **ALSA es la ABI de audio universal de esta distro**. Un cliente ALSA
|
|
# que abre "default" desemboca en PipeWire por el plugin `libasound_module_pcm_pipewire.so`, no le
|
|
# pelea la tarjeta. Eso es lo que hace que esta receta alcance para una app de audio del corpus sin
|
|
# tener que subir `libpipewire` (que vive en las tres colas de escritorio y arrastra glib).
|
|
#
|
|
# ⚠ OJO con el `alsa.conf` que instala: sus `@hooks` cargan `/var/lib/alsa/conf.d`,
|
|
# `/usr/etc/alsa/conf.d` y `/etc/alsa/conf.d` — **NO** `/usr/share/alsa/alsa.conf.d`, que es donde
|
|
# meson deja la config del plugin. Por eso las recetas de pipewire tienen que enlazarla a mano: sin
|
|
# ese enlace el plugin queda instalado y no lo usa nadie. (El `/usr/etc` sale de que acá el
|
|
# `./configure` no pasa `--sysconfdir=/etc`; cambiarlo re-hashearía alsa-lib y sus cuatro copias.)
|
|
# alsa-lib 1.2.14 — API de audio del kernel Linux (libasound.so). Campaña KDE (ADR 0011): sustrato de
|
|
# PulseAudio → pulseaudio-qt → plasma-pa (el applet de volumen). Primer eslabón de la cadena de AUDIO real
|
|
# (hasta ahora el lab sólo tenía libcanberra con backend NULL, sin reproducción).
|
|
#
|
|
# --disable-python: los bindings pyalsa exigen headers de python + no hacen falta. Sin deps externas.
|
|
name = "alsa-lib"
|
|
version = "1.2.14"
|
|
license = "LGPL-2.1-or-later"
|
|
|
|
[source]
|
|
tarball = "https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.14.tar.bz2"
|
|
sha256 = "be9c88a0b3604367dd74167a2b754a35e142f670292ae47a2fdef27a2ee97a32"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
flags = []
|
|
|
|
[build.phases]
|
|
configure = './configure --build=$CBUILD --host=$CHOST --prefix=/usr --enable-shared --disable-static --disable-python'
|
|
compile = 'make -j"$(nproc)"'
|
|
install = "make DESTDIR=/out install && find /out -name '*.la' -delete"
|
|
|
|
[deps]
|
|
build = ["pkgconf"]
|