diff --git a/recipes/bluez.toml b/recipes/bluez.toml index 21c78752..7aa337cf 100644 --- a/recipes/bluez.toml +++ b/recipes/bluez.toml @@ -53,4 +53,9 @@ restart = { initial_ms = 500, max_ms = 20000 } # transitivas de pkg-config hay que materializarlas igual. Es el mismo juego de cuatro que declaran # cairo, appstream y adwaita-hello. `expat` entra por el `.pc` de dbus. [deps] -build = ["glib", "dbus", "readline", "ncurses", "pkgconf", "pcre2", "libffi", "zlib", "expat"] +build = ["glib", "dbus", "readline", "ncurses", "pkgconf", "pcre2", "libffi", "zlib", "expat"] +# ⚠ `readline-shared` EN RUNTIME, descubierto corriendo el binario y no auditando la receta: +# `bluetoothctl` sale `NEEDED libreadline.so.8` y la `readline` canónica del corpus es sólo `.a`. +# `bluetoothd` no lo pide (sale con `libc.so` a secas), así que el demonio arrancaría y la +# herramienta con la que se emparejan los dispositivos NO — el peor reparto posible. +runtime = ["readline-shared"] diff --git a/recipes/cmus.toml b/recipes/cmus.toml index f15289cf..5398e12d 100644 --- a/recipes/cmus.toml +++ b/recipes/cmus.toml @@ -31,5 +31,11 @@ configure = './configure prefix=/usr CONFIG_ALSA=y CONFIG_PULSE=n CONFIG_JACK=n compile = 'make' install = 'make DESTDIR=/out install' +# ⚠ `ncurses-shared` EN RUNTIME, Y SE DESCUBRIÓ CORRIENDO EL BINARIO. El artefacto sale +# `NEEDED libncursesw.so.6` (el resto —ffmpeg, alsa— sí entra estático, son `.a`), y la `ncurses` +# canónica del corpus es `--without-shared`: sin declarar la variante `-shared`, la imagen no lleva +# ese `.so` y cmus muere en el loader. Es exactamente la fuga que el perfil de sway ya pagó con +# zlib/expat/libffi, y no la ve ningún auditor de recetas — sólo `readelf -d` sobre el artefacto. [deps] -build = ["ncurses", "ffmpeg", "alsa-lib", "pkgconf"] +build = ["ncurses", "ffmpeg", "alsa-lib", "pkgconf"] +runtime = ["ncurses-shared"]