From e08add24be05b05425fcba1a1f6df1b6e8836c4c Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 3 Sep 2026 06:16:05 +0000 Subject: [PATCH] pipewire al corpus: mpv habla PipeWire nativo, y pulseaudio NO se promueve (medido) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cierra la decisión que quedó abierta anoche en `docs/plan-apps-usuario-final.md`: el corpus no tenía ningún cliente de audio salvo ALSA, y eso bloqueaba a toda app multimedia. GANA LA VARIANTE DE COSMIC y la promoción es GRATIS: era la única cuyo cierre ya resolvía entero contra el catálogo padre, así que `recipes/pipewire.toml` sella b3:e240653a — el mismo hash que tenía en la cola. Con ella suben `libsndfile` (las tres copias sellaban idéntico) y `dbus-shared` (gnome y cosmic, idénticas). Se jubilan 9 copias de cola. POR QUÉ ESTO NO REPITE EL EPISODIO DE LAS DOS GLIB — leído de los artefactos sellados, no razonado: **ningún pipewire de los tres enlaza glib.** Los NEEDED de las tres variantes son exactamente `libdbus-1.so.3`, `libpulse.so.0` y `libsndfile.so.1`; glib entraba sólo como Requires transitivo de pkg-config, en tiempo de build. ⇒ `libpipewire-0.3.so` es glib-free y se comparte entre las cuatro imágenes sin riesgo. ⚠ Y POR ESO `pulseaudio` NO SE PROMUEVE, aunque sea la dep de al lado. Ahí la objeción SÍ aplica y el número lo dice solo: `libpulse-mainloop-glib.so.0.0.6` mide **45.712 bytes** en la variante de GNOME (NEEDED `libglib-2.0.so.0`) y **2.455.600** en la del corpus, que se traga la glib ESTÁTICA del catálogo. Meter ésa en el proceso de gnome-shell —que ya carga la glib sombra dinámica— es literalmente el cuadro de colord. `incoming-kde/pulseaudio` e `incoming-gnome/pulseaudio` se quedan donde están: son variantes deliberadas, no duplicados. La copia del corpus existe sólo para que pipewire tenga contra qué enlazar `libpulse.so.0`, y ese enlace es por SONAME — en runtime lo sirve la libpulse de cada imagen, ABI-compatible (misma 0.24.3). Enlazar contra una variante y correr contra otra es legítimo cuando lo que cruza es un SONAME; lo que NO se puede es hidratar dos artefactos distintos en la misma ruta. Esa distinción es la que decide qué se promueve y qué no. mpv (b3:392e9690) pasa a `-Dpipewire=enabled`, con ALSA encendida detrás: prueba pipewire primero y cae a alsa si no hay demonio —KDE todavía no lista PipeWire entre sus raíces—. Evidencia: NEEDED … libasound.so.2 **libpipewire-0.3.so.0** libEGL.so.1 libc.so --ao=help → pipewire (PipeWire audio output), alsa, null Impacto medido antes de tocar, hasheando las 336 recetas de cola y comparando: 9 retiradas, **5 rebuilds** (wireplumber, xdg-desktop-portal ×2, kpipewire, spectacle) — los 5 sellados. Sin la salvedad de pulseaudio habrían sido 8, incluido gnome-shell. Perfiles: KDE 188/188, GNOME 132/132, sway 145/145. ⚠ COSMIC 105/106: `xdg-desktop-portal-cosmic` murió por OOM por TERCERA vez (7 G de RAM sin cgroups, con otro agente compilando Rust). Sigue siendo la máquina, no la receta. --- docs/state/build-state-cosmic.json | 93 +++++++++++++++++------------ docs/state/build-state-gnome.json | 94 +++++++++++++++++------------- docs/state/build-state-kde.json | 71 +++++++++++----------- docs/state/build-state-wlr.json | 94 +++++++++++++++++------------- recipes/dbus-shared.toml | 3 + recipes/libsndfile.toml | 3 + recipes/mpv.toml | 29 ++++----- recipes/pipewire.toml | 34 +++++++++++ recipes/pulseaudio.toml | 13 +++++ 9 files changed, 268 insertions(+), 166 deletions(-) diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index 1b0a6a25..e00ff0ea 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -2,11 +2,13 @@ "schema": "hammer-build-state/1", "totals": { "recipes": 843, - "nodes": 843, - "sealed": 841, - "debt": 2 + "nodes": 844, + "sealed": 842, + "debt": 1, + "ajeno": 1 }, "by_class": { + "ajeno": 1, "c": 191, "go": 362, "gui": 34, @@ -14,13 +16,12 @@ "rust": 250 }, "debt_by_class": { - "c": 1, "rust": 1 }, "by_queue": { "corpus": { - "sealed": 802, - "debt": 1 + "sealed": 803, + "ajeno": 1 }, "incoming-cosmic": { "sealed": 39, @@ -41,8 +42,8 @@ "escritorio-cosmic": { "raices": 33, "clausura": 106, - "sealed": 104, - "debt": 2 + "sealed": 105, + "debt": 1 }, "escritorio-mirada": { "raices": 14, @@ -248,7 +249,7 @@ "hash": "b3:73fb200aae06b0743035dc9f961121fc94295e80a12d39dc358920d698b7bfe0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4036,7 +4037,7 @@ "hash": "b3:117ee7e8fd5a41bd936d723c72c95cd3f8290292b52ba8088cc0701be170597b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -4245,7 +4246,7 @@ "hash": "b3:bfef7bf3a85032167ad45e40b420735d08ee13d7b27af46e2cf72768e8460f6e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4414,7 +4415,7 @@ "hash": "b3:9c4ed8cd793d3ceb1b68e8878efd380f1565a54d728975d108fea7ef9da52a44", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4535,7 +4536,7 @@ "hash": "b3:6ce0c82fd108d262643a8c8fe395af309b7ceb78cfe91aa77c1693bfa8f339d8", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4598,7 +4599,7 @@ "hash": "b3:5503952cb0c35e16854f641873538580e56916c545682b1ed09a9ccaad3a2913", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -5270,7 +5271,7 @@ "hash": "b3:74ade6a67d6a0938d6cba154d2a3d06e647efd872bdc02ada0860214c7b321c4", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -6566,7 +6567,7 @@ "hash": "b3:846c900dad69f5435007cf11640bb97d3fde02b9bf5b8194994e127a74208058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8424,7 +8425,7 @@ "hash": "b3:213df6b1501576c977489dc429bbd60aad9f5270ddb6b322666e816fa3b51787", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8517,7 +8518,7 @@ "hash": "b3:bbe561b7869d7ec30aa7f194e812df81e28a98e9f0ac5d114e0dc13d08829749", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 1, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8622,7 +8623,7 @@ "hash": "b3:1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc9838", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8828,7 +8829,7 @@ "hash": "b3:4346feca8db5ed53a13f78ac34131eebb1b7bf70386b70965e92ea50fdbe6188", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8851,7 +8852,7 @@ "hash": "b3:dc75cb3d42f9c53425014999cc04586ee697fa790d9c28680b79f26bd85489bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9087,7 +9088,7 @@ "hash": "b3:a01fb6bd9a19847e9ec5361bfd22a5b32adbbee927e9c7c728d6f57fd8fcf258", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9170,7 +9171,7 @@ "hash": "b3:b7410a2bd1220d877954db9a19f94db322623506c7b558ff684a6390779c081b", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 1, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9346,7 +9347,7 @@ "hash": "b3:fd14c9c4d0081fd44503cbc762e8865413c240097448c5b1be236a285ea811b5", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -9531,7 +9532,7 @@ "hash": "b3:c63de2f3188d26b14f1de47a3044eeccd76a5d755b3599fbff8bd289cc2c6f21", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9918,7 +9919,7 @@ "hash": "b3:2ed75159165da8c1d96ee6b15a3cbc9850ff818f93add282fafd49d00a49a7d0", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 1, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -10006,7 +10007,7 @@ "hash": "b3:6564ae63c23ca73b0738e0708dfde01cf965ff9bd1c5950d7376fa1659fd5058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -10358,7 +10359,7 @@ "cls": "c", "queue": "corpus", "hash": "b3:392e96904b8f6c2b9aafee2b3b9354e7def0cf72cab91ac00215423952d1e61b", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -11363,7 +11364,7 @@ "hash": "b3:c4930964fbaf4f33365e6eb8d7e6069ae3056b5796fca83d254bee2a88a341bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -11546,7 +11547,7 @@ "hash": "b3:e240653adae656318d5c3445b36ffb37aa491589b5c34c8688515bc3806944ab", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 1, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -11609,7 +11610,7 @@ "hash": "b3:cfb6a37eb990fb001dd66d5c2103e80cfa858b49aaa60a397ba0356830cc09b4", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 1, "perfiles": [ "base", "cli", @@ -11981,7 +11982,7 @@ "hash": "b3:ff5cf5e5080f20587b26946d0dfff36a58c9096d30eace4ae9cece24594d171e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -12536,7 +12537,7 @@ "hash": "b3:2f75c0e225a60fd56f7e415b7a739a461c97695c2e3f015c9af576d8a4a2492c", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -14790,7 +14791,7 @@ "hash": "b3:51116f72a799ceaf8bc9d5512ec5dc413865a6376e2285e550af10046572287b", "state": "sealed", "blocked_by": [], - "unblocks": 2, + "unblocks": 1, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14817,7 +14818,7 @@ "hash": "b3:9f81e41cbe8cb202121d8b9d697c7334a2c5d58bbf7cf7734eded9878c5db303", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -15248,6 +15249,24 @@ "perfiles": [], "dependientes_total": 0 }, + "xwayland": { + "iname": "xwayland", + "version": null, + "link": null, + "compiler": null, + "deps": [], + "cls": "ajeno", + "queue": "corpus", + "imagen": "arch", + "hash": null, + "state": "ajeno", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 0 + }, "xwin": { "iname": "xwin", "version": "0.7.0", @@ -15426,7 +15445,7 @@ "hash": "b3:dc363f261a71239412f6090e50e8abc0c7f6e544ccefa48c5ee5f47d26e84ef3", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -15468,7 +15487,7 @@ "hash": "b3:b7d5397b96fc080a6e4ee9a19f5ea5ee32a63148ef87c63c795955676c5f344f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index 9e6b7dae..ccd94682 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -2,24 +2,23 @@ "schema": "hammer-build-state/1", "totals": { "recipes": 868, - "nodes": 868, - "sealed": 867, - "debt": 1 + "nodes": 869, + "sealed": 868, + "ajeno": 1 }, "by_class": { + "ajeno": 1, "c": 230, "go": 362, "gui": 40, "kernel": 6, "rust": 230 }, - "debt_by_class": { - "c": 1 - }, + "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 793, - "debt": 1 + "sealed": 794, + "ajeno": 1 }, "incoming-gnome": { "sealed": 74 @@ -39,8 +38,7 @@ "escritorio-gnome": { "raices": 9, "clausura": 132, - "sealed": 131, - "debt": 1 + "sealed": 132 }, "escritorio-mirada": { "raices": 14, @@ -300,7 +298,7 @@ "hash": "b3:73fb200aae06b0743035dc9f961121fc94295e80a12d39dc358920d698b7bfe0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -3768,7 +3766,7 @@ "hash": "b3:117ee7e8fd5a41bd936d723c72c95cd3f8290292b52ba8088cc0701be170597b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -3977,7 +3975,7 @@ "hash": "b3:bfef7bf3a85032167ad45e40b420735d08ee13d7b27af46e2cf72768e8460f6e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4146,7 +4144,7 @@ "hash": "b3:9c4ed8cd793d3ceb1b68e8878efd380f1565a54d728975d108fea7ef9da52a44", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4267,7 +4265,7 @@ "hash": "b3:6ce0c82fd108d262643a8c8fe395af309b7ceb78cfe91aa77c1693bfa8f339d8", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4330,7 +4328,7 @@ "hash": "b3:5503952cb0c35e16854f641873538580e56916c545682b1ed09a9ccaad3a2913", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -5208,7 +5206,7 @@ "hash": "b3:dead194975f9aef1c11bec4b13aca16d58677ea0fa6fbd78553fcd7b5604dcb2", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-gnome" ], @@ -6729,7 +6727,7 @@ "hash": "b3:a4152cc234346469ed8dad3d24a758f9c39f7cc3f5edc6c9b923c865353e75de", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-gnome" ], @@ -8684,7 +8682,7 @@ "hash": "b3:213df6b1501576c977489dc429bbd60aad9f5270ddb6b322666e816fa3b51787", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8777,7 +8775,7 @@ "hash": "b3:bbe561b7869d7ec30aa7f194e812df81e28a98e9f0ac5d114e0dc13d08829749", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8912,7 +8910,7 @@ "hash": "b3:1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc9838", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9321,7 +9319,7 @@ "hash": "b3:4346feca8db5ed53a13f78ac34131eebb1b7bf70386b70965e92ea50fdbe6188", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9344,7 +9342,7 @@ "hash": "b3:dc75cb3d42f9c53425014999cc04586ee697fa790d9c28680b79f26bd85489bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9701,7 +9699,7 @@ "hash": "b3:a01fb6bd9a19847e9ec5361bfd22a5b32adbbee927e9c7c728d6f57fd8fcf258", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9824,7 +9822,7 @@ "hash": "b3:b7410a2bd1220d877954db9a19f94db322623506c7b558ff684a6390779c081b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -10000,7 +9998,7 @@ "hash": "b3:fd14c9c4d0081fd44503cbc762e8865413c240097448c5b1be236a285ea811b5", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -10183,7 +10181,7 @@ "hash": "b3:c63de2f3188d26b14f1de47a3044eeccd76a5d755b3599fbff8bd289cc2c6f21", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -10570,7 +10568,7 @@ "hash": "b3:2ed75159165da8c1d96ee6b15a3cbc9850ff818f93add282fafd49d00a49a7d0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -10658,7 +10656,7 @@ "hash": "b3:6564ae63c23ca73b0738e0708dfde01cf965ff9bd1c5950d7376fa1659fd5058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -10990,7 +10988,7 @@ "cls": "c", "queue": "corpus", "hash": "b3:392e96904b8f6c2b9aafee2b3b9354e7def0cf72cab91ac00215423952d1e61b", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -12158,7 +12156,7 @@ "hash": "b3:c4930964fbaf4f33365e6eb8d7e6069ae3056b5796fca83d254bee2a88a341bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -12322,7 +12320,7 @@ "hash": "b3:e240653adae656318d5c3445b36ffb37aa491589b5c34c8688515bc3806944ab", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12385,7 +12383,7 @@ "hash": "b3:cfb6a37eb990fb001dd66d5c2103e80cfa858b49aaa60a397ba0356830cc09b4", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -12824,7 +12822,7 @@ "hash": "b3:ff5cf5e5080f20587b26946d0dfff36a58c9096d30eace4ae9cece24594d171e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -13379,7 +13377,7 @@ "hash": "b3:2f75c0e225a60fd56f7e415b7a739a461c97695c2e3f015c9af576d8a4a2492c", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -15732,7 +15730,7 @@ "hash": "b3:51116f72a799ceaf8bc9d5512ec5dc413865a6376e2285e550af10046572287b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -15759,7 +15757,7 @@ "hash": "b3:9f81e41cbe8cb202121d8b9d697c7334a2c5d58bbf7cf7734eded9878c5db303", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -16240,6 +16238,24 @@ "perfiles": [], "dependientes_total": 0 }, + "xwayland": { + "iname": "xwayland", + "version": null, + "link": null, + "compiler": null, + "deps": [], + "cls": "ajeno", + "queue": "corpus", + "imagen": "arch", + "hash": null, + "state": "ajeno", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 0 + }, "xwin": { "iname": "xwin", "version": "0.7.0", @@ -16418,7 +16434,7 @@ "hash": "b3:dc363f261a71239412f6090e50e8abc0c7f6e544ccefa48c5ee5f47d26e84ef3", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -16460,7 +16476,7 @@ "hash": "b3:b7d5397b96fc080a6e4ee9a19f5ea5ee32a63148ef87c63c795955676c5f344f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index 7347c865..b73eb02e 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -3,8 +3,7 @@ "totals": { "recipes": 987, "nodes": 988, - "sealed": 986, - "debt": 1, + "sealed": 987, "ajeno": 1 }, "by_class": { @@ -15,13 +14,10 @@ "kernel": 6, "rust": 229 }, - "debt_by_class": { - "c": 1 - }, + "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 788, - "debt": 1 + "sealed": 789 }, "incoming-kde": { "sealed": 198, @@ -42,8 +38,7 @@ "escritorio-kde": { "raices": 14, "clausura": 189, - "sealed": 187, - "debt": 1, + "sealed": 188, "ajeno": 1 }, "escritorio-mirada": { @@ -250,7 +245,7 @@ "hash": "b3:73fb200aae06b0743035dc9f961121fc94295e80a12d39dc358920d698b7bfe0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -3925,7 +3920,7 @@ "hash": "b3:117ee7e8fd5a41bd936d723c72c95cd3f8290292b52ba8088cc0701be170597b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -4155,7 +4150,7 @@ "hash": "b3:bfef7bf3a85032167ad45e40b420735d08ee13d7b27af46e2cf72768e8460f6e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4387,7 +4382,7 @@ "hash": "b3:9c4ed8cd793d3ceb1b68e8878efd380f1565a54d728975d108fea7ef9da52a44", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4582,7 +4577,7 @@ "hash": "b3:6ce0c82fd108d262643a8c8fe395af309b7ceb78cfe91aa77c1693bfa8f339d8", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4645,7 +4640,7 @@ "hash": "b3:5503952cb0c35e16854f641873538580e56916c545682b1ed09a9ccaad3a2913", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -5295,7 +5290,7 @@ "hash": "b3:74ade6a67d6a0938d6cba154d2a3d06e647efd872bdc02ada0860214c7b321c4", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -6675,7 +6670,7 @@ "hash": "b3:846c900dad69f5435007cf11640bb97d3fde02b9bf5b8194994e127a74208058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12147,7 +12142,7 @@ "hash": "b3:213df6b1501576c977489dc429bbd60aad9f5270ddb6b322666e816fa3b51787", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12262,7 +12257,7 @@ "hash": "b3:bbe561b7869d7ec30aa7f194e812df81e28a98e9f0ac5d114e0dc13d08829749", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12346,7 +12341,7 @@ "hash": "b3:1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc9838", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12714,7 +12709,7 @@ "hash": "b3:4346feca8db5ed53a13f78ac34131eebb1b7bf70386b70965e92ea50fdbe6188", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -12821,7 +12816,7 @@ "hash": "b3:dc75cb3d42f9c53425014999cc04586ee697fa790d9c28680b79f26bd85489bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -13099,7 +13094,7 @@ "hash": "b3:a01fb6bd9a19847e9ec5361bfd22a5b32adbbee927e9c7c728d6f57fd8fcf258", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -13276,7 +13271,7 @@ "hash": "b3:d026c7a748e89247f20abd94df4fa095ee28e6218299325baa382e1ef60c3d76", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-kde" ], @@ -13488,7 +13483,7 @@ "hash": "b3:fd14c9c4d0081fd44503cbc762e8865413c240097448c5b1be236a285ea811b5", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -13674,7 +13669,7 @@ "hash": "b3:c63de2f3188d26b14f1de47a3044eeccd76a5d755b3599fbff8bd289cc2c6f21", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14061,7 +14056,7 @@ "hash": "b3:2ed75159165da8c1d96ee6b15a3cbc9850ff818f93add282fafd49d00a49a7d0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14149,7 +14144,7 @@ "hash": "b3:6564ae63c23ca73b0738e0708dfde01cf965ff9bd1c5950d7376fa1659fd5058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -14585,7 +14580,7 @@ "cls": "c", "queue": "corpus", "hash": "b3:392e96904b8f6c2b9aafee2b3b9354e7def0cf72cab91ac00215423952d1e61b", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -15760,7 +15755,7 @@ "hash": "b3:c4930964fbaf4f33365e6eb8d7e6069ae3056b5796fca83d254bee2a88a341bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -16007,7 +16002,7 @@ "hash": "b3:e240653adae656318d5c3445b36ffb37aa491589b5c34c8688515bc3806944ab", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -16070,7 +16065,7 @@ "hash": "b3:cfb6a37eb990fb001dd66d5c2103e80cfa858b49aaa60a397ba0356830cc09b4", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -17422,7 +17417,7 @@ "hash": "b3:ff5cf5e5080f20587b26946d0dfff36a58c9096d30eace4ae9cece24594d171e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -18566,7 +18561,7 @@ "hash": "b3:2f75c0e225a60fd56f7e415b7a739a461c97695c2e3f015c9af576d8a4a2492c", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -21224,7 +21219,7 @@ "hash": "b3:51116f72a799ceaf8bc9d5512ec5dc413865a6376e2285e550af10046572287b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -21251,7 +21246,7 @@ "hash": "b3:9f81e41cbe8cb202121d8b9d697c7334a2c5d58bbf7cf7734eded9878c5db303", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -22020,7 +22015,7 @@ "hash": "b3:dc363f261a71239412f6090e50e8abc0c7f6e544ccefa48c5ee5f47d26e84ef3", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -22062,7 +22057,7 @@ "hash": "b3:b7d5397b96fc080a6e4ee9a19f5ea5ee32a63148ef87c63c795955676c5f344f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index c7ec8929..43743cb0 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -2,24 +2,23 @@ "schema": "hammer-build-state/1", "totals": { "recipes": 817, - "nodes": 817, - "sealed": 816, - "debt": 1 + "nodes": 818, + "sealed": 817, + "ajeno": 1 }, "by_class": { + "ajeno": 1, "c": 188, "go": 362, "gui": 32, "kernel": 6, "rust": 229 }, - "debt_by_class": { - "c": 1 - }, + "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 801, - "debt": 1 + "sealed": 802, + "ajeno": 1 }, "incoming-wlr": { "sealed": 15 @@ -44,8 +43,7 @@ "escritorio-sway": { "raices": 62, "clausura": 145, - "sealed": 144, - "debt": 1 + "sealed": 145 } }, "sin_perfil": 649, @@ -246,7 +244,7 @@ "hash": "b3:73fb200aae06b0743035dc9f961121fc94295e80a12d39dc358920d698b7bfe0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -3568,7 +3566,7 @@ "hash": "b3:117ee7e8fd5a41bd936d723c72c95cd3f8290292b52ba8088cc0701be170597b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -3777,7 +3775,7 @@ "hash": "b3:bfef7bf3a85032167ad45e40b420735d08ee13d7b27af46e2cf72768e8460f6e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -3946,7 +3944,7 @@ "hash": "b3:9c4ed8cd793d3ceb1b68e8878efd380f1565a54d728975d108fea7ef9da52a44", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4067,7 +4065,7 @@ "hash": "b3:6ce0c82fd108d262643a8c8fe395af309b7ceb78cfe91aa77c1693bfa8f339d8", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4130,7 +4128,7 @@ "hash": "b3:5503952cb0c35e16854f641873538580e56916c545682b1ed09a9ccaad3a2913", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -4821,7 +4819,7 @@ "hash": "b3:74ade6a67d6a0938d6cba154d2a3d06e647efd872bdc02ada0860214c7b321c4", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -6102,7 +6100,7 @@ "hash": "b3:846c900dad69f5435007cf11640bb97d3fde02b9bf5b8194994e127a74208058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -7912,7 +7910,7 @@ "hash": "b3:213df6b1501576c977489dc429bbd60aad9f5270ddb6b322666e816fa3b51787", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8005,7 +8003,7 @@ "hash": "b3:bbe561b7869d7ec30aa7f194e812df81e28a98e9f0ac5d114e0dc13d08829749", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8093,7 +8091,7 @@ "hash": "b3:1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc9838", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8299,7 +8297,7 @@ "hash": "b3:4346feca8db5ed53a13f78ac34131eebb1b7bf70386b70965e92ea50fdbe6188", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8322,7 +8320,7 @@ "hash": "b3:dc75cb3d42f9c53425014999cc04586ee697fa790d9c28680b79f26bd85489bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8533,7 +8531,7 @@ "hash": "b3:a01fb6bd9a19847e9ec5361bfd22a5b32adbbee927e9c7c728d6f57fd8fcf258", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8616,7 +8614,7 @@ "hash": "b3:b7410a2bd1220d877954db9a19f94db322623506c7b558ff684a6390779c081b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -8792,7 +8790,7 @@ "hash": "b3:fd14c9c4d0081fd44503cbc762e8865413c240097448c5b1be236a285ea811b5", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -8957,7 +8955,7 @@ "hash": "b3:c63de2f3188d26b14f1de47a3044eeccd76a5d755b3599fbff8bd289cc2c6f21", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9344,7 +9342,7 @@ "hash": "b3:2ed75159165da8c1d96ee6b15a3cbc9850ff818f93add282fafd49d00a49a7d0", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -9432,7 +9430,7 @@ "hash": "b3:6564ae63c23ca73b0738e0708dfde01cf965ff9bd1c5950d7376fa1659fd5058", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -9764,7 +9762,7 @@ "cls": "c", "queue": "corpus", "hash": "b3:392e96904b8f6c2b9aafee2b3b9354e7def0cf72cab91ac00215423952d1e61b", - "state": "debt", + "state": "sealed", "blocked_by": [], "unblocks": 0, "perfiles": [ @@ -10769,7 +10767,7 @@ "hash": "b3:c4930964fbaf4f33365e6eb8d7e6069ae3056b5796fca83d254bee2a88a341bc", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -10933,7 +10931,7 @@ "hash": "b3:e240653adae656318d5c3445b36ffb37aa491589b5c34c8688515bc3806944ab", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -10996,7 +10994,7 @@ "hash": "b3:cfb6a37eb990fb001dd66d5c2103e80cfa858b49aaa60a397ba0356830cc09b4", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -11326,7 +11324,7 @@ "hash": "b3:ff5cf5e5080f20587b26946d0dfff36a58c9096d30eace4ae9cece24594d171e", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -11881,7 +11879,7 @@ "hash": "b3:2f75c0e225a60fd56f7e415b7a739a461c97695c2e3f015c9af576d8a4a2492c", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -14333,7 +14331,7 @@ "hash": "b3:51116f72a799ceaf8bc9d5512ec5dc413865a6376e2285e550af10046572287b", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14360,7 +14358,7 @@ "hash": "b3:9f81e41cbe8cb202121d8b9d697c7334a2c5d58bbf7cf7734eded9878c5db303", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", @@ -14762,6 +14760,24 @@ "perfiles": [], "dependientes_total": 0 }, + "xwayland": { + "iname": "xwayland", + "version": null, + "link": null, + "compiler": null, + "deps": [], + "cls": "ajeno", + "queue": "corpus", + "imagen": "arch", + "hash": null, + "state": "ajeno", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-kde" + ], + "dependientes_total": 0 + }, "xwin": { "iname": "xwin", "version": "0.7.0", @@ -14983,7 +14999,7 @@ "hash": "b3:dc363f261a71239412f6090e50e8abc0c7f6e544ccefa48c5ee5f47d26e84ef3", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "base", "cli", @@ -15025,7 +15041,7 @@ "hash": "b3:b7d5397b96fc080a6e4ee9a19f5ea5ee32a63148ef87c63c795955676c5f344f", "state": "sealed", "blocked_by": [], - "unblocks": 1, + "unblocks": 0, "perfiles": [ "escritorio-cosmic", "escritorio-gnome", diff --git a/recipes/dbus-shared.toml b/recipes/dbus-shared.toml index 59b67748..bceb5029 100644 --- a/recipes/dbus-shared.toml +++ b/recipes/dbus-shared.toml @@ -1,3 +1,6 @@ +# ══ PROMOVIDA AL CORPUS 2026-09-03 — hash IDÉNTICO (b3:39d9a5ed…) ══════════════════════════════ +# Las copias de gnome y cosmic sellaban exactamente igual ⇒ duplicados. Sube porque `pipewire` la +# necesita desde el corpus. (KDE no tenía: su pipewire usaba el `dbus` estático del catálogo.) # dbus-shared 1.16.2 — variante DINÁMICA (libdbus-1.so.3) para la isla dinámica de GNOME. # # El dbus canónico (recipes/dbus.toml) es `--prefer-static -Ddefault_library=static` y su diff --git a/recipes/libsndfile.toml b/recipes/libsndfile.toml index 9c338b1a..83e15a05 100644 --- a/recipes/libsndfile.toml +++ b/recipes/libsndfile.toml @@ -1,3 +1,6 @@ +# ══ PROMOVIDA AL CORPUS 2026-09-03 — hash IDÉNTICO (b3:1c9024c3…) ══════════════════════════════ +# Las TRES copias de cola sellaban exactamente igual ⇒ eran duplicados, no variantes. Sube porque +# `pipewire` la necesita y `pipewire` ahora vive en el corpus. # libsndfile 1.2.2 — lectura/escritura de ficheros de audio (WAV, AIFF, AU…). Entra al frente GNOME # por debajo de pulseaudio: `sndfile` es dep INCONDICIONAL de su meson.build:615 (top-level, sin # `required:` que la ablande), así que ni siquiera `-Ddaemon=false` la esquiva. Cadena de la cima: diff --git a/recipes/mpv.toml b/recipes/mpv.toml index 450ed0cf..28370c10 100644 --- a/recipes/mpv.toml +++ b/recipes/mpv.toml @@ -47,18 +47,21 @@ # libmpv nadie la consume todavía. Se prende el día que # entre un frontend (celluloid y compañía). # -# ══ AUDIO: ALSA, Y HAY QUE DECIR LO QUE ESO SIGNIFICA HOY ══════════════════════════════════════ -# El servidor de audio de la distro es PipeWire (decisión del usuario, 2026-07-29), pero mpv no -# puede hablarle nativo desde acá: `libpipewire-0.3` existe en las TRES colas de escritorio y en -# ninguna está el corpus, y subirla no es gratis (su cierre trae glib, y `incoming-kde/glib-shared` -# y `incoming-gnome/glib` producen bytes distintos — el episodio de las dos glib). Queda ALSA, que -# es la ABI del kernel y no depende de ninguna cola. +# ══ AUDIO: PIPEWIRE NATIVO, CON ALSA DETRÁS ════════════════════════════════════════════════════ +# El servidor de audio de la distro es PipeWire (decisión del usuario, 2026-07-29) y desde el +# 2026-09-03 `libpipewire-0.3` vive en el CORPUS, así que mpv le habla NATIVO: control por-stream, +# metadata de sesión, sin pasar por la emulación. La promoción se pudo hacer porque se midió que +# ningún pipewire enlaza glib (sus NEEDED son dbus/pulse/sndfile) ⇒ es compartible entre las cuatro +# imágenes sin repetir el episodio de las dos glib. Ver la cabecera de `recipes/pipewire.toml`. # -# Y ESO SÍ SUENA, desde 2026-09-03: las tres recetas de pipewire pasaron a `-Dpipewire-alsa=enabled` -# y cablean el plugin en `/etc/alsa/conf.d` (ver el bloque de install de cualquiera de las tres). Un -# cliente ALSA que abre "default" desemboca en PipeWire en vez de pelearle la tarjeta. La cadena es -# `mpv --ao=alsa` → `libasound` → `libasound_module_pcm_pipewire.so` → PipeWire, o sea PROTOCOLO en -# vez de ABI compartida — la misma figura que el ADR 0015 usa para cruzar el borde de la jaula. +# ALSA queda ENCENDIDA TAMBIÉN, y no es redundancia: mpv prueba `pipewire` primero y cae a `alsa` si +# no hay demonio con quien hablar. En una imagen sin PipeWire corriendo —KDE hoy no lo lista entre +# sus raíces— eso es la diferencia entre sonar y no sonar. +# +# Y el camino ALSA tampoco pelea con PipeWire: la receta de pipewire va con `-Dpipewire-alsa=enabled` +# y cablea el plugin en `/etc/alsa/conf.d`, así que un cliente ALSA que abre "default" desemboca en +# PipeWire. La cadena de respaldo es `--ao=alsa` → `libasound` → `libasound_module_pcm_pipewire.so` +# → PipeWire: protocolo en vez de ABI compartida. # ⚠ El precio, que conviene tener escrito: con `99-pipewire-default.conf` puesto, `pcm.!default` ES # PipeWire. En una máquina donde PipeWire NO esté corriendo, un cliente ALSA ya no cae a la tarjeta: # no suena. Es el trato que hace toda distro con pipewire-alsa, y acá es coherente porque PipeWire @@ -104,7 +107,7 @@ link = "dynamic" flags = [] [build.phases] -configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Dprefer_static=true -Dbuild-date=false -Dcplayer=true -Dlibmpv=false -Dtests=false -Dmanpage-build=disabled -Dhtml-build=disabled -Dpdf-build=disabled -Dwayland=enabled -Degl=enabled -Degl-wayland=enabled -Dgl=enabled -Dplain-gl=disabled -Dalsa=enabled -Dzlib=enabled -Diconv=enabled -Dvector=enabled -Dx11=disabled -Dgl-x11=disabled -Degl-x11=disabled -Dxv=disabled -Dx11-clipboard=disabled -Dvdpau=disabled -Dvulkan=disabled -Dshaderc=disabled -Dspirv-cross=disabled -Dvaapi=disabled -Dvaapi-drm=disabled -Dvaapi-wayland=disabled -Dvaapi-x11=disabled -Ddrm=disabled -Dgbm=disabled -Ddmabuf-wayland=disabled -Dpipewire=disabled -Dpulse=disabled -Djack=disabled -Dsndio=disabled -Doss-audio=disabled -Dopenal=disabled -Dsdl2-audio=disabled -Dsdl2-video=disabled -Dsdl2-gamepad=disabled -Dlua=lua5.2 -Djavascript=disabled -Dcdda=disabled -Ddvdnav=disabled -Ddvbin=disabled -Dlibbluray=disabled -Dlibarchive=disabled -Dlibavdevice=disabled -Dlcms2=disabled -Duchardet=disabled -Drubberband=disabled -Dzimg=disabled -Dvapoursynth=disabled -Djpeg=disabled -Dcaca=disabled -Dsixel=disabled -Dcplugins=disabled -Dcuda-hwaccel=disabled -Dcuda-interop=disabled" +configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Dprefer_static=true -Dbuild-date=false -Dcplayer=true -Dlibmpv=false -Dtests=false -Dmanpage-build=disabled -Dhtml-build=disabled -Dpdf-build=disabled -Dwayland=enabled -Degl=enabled -Degl-wayland=enabled -Dgl=enabled -Dplain-gl=disabled -Dalsa=enabled -Dzlib=enabled -Diconv=enabled -Dvector=enabled -Dx11=disabled -Dgl-x11=disabled -Degl-x11=disabled -Dxv=disabled -Dx11-clipboard=disabled -Dvdpau=disabled -Dvulkan=disabled -Dshaderc=disabled -Dspirv-cross=disabled -Dvaapi=disabled -Dvaapi-drm=disabled -Dvaapi-wayland=disabled -Dvaapi-x11=disabled -Ddrm=disabled -Dgbm=disabled -Ddmabuf-wayland=disabled -Dpipewire=enabled -Dpulse=disabled -Djack=disabled -Dsndio=disabled -Doss-audio=disabled -Dopenal=disabled -Dsdl2-audio=disabled -Dsdl2-video=disabled -Dsdl2-gamepad=disabled -Dlua=lua5.2 -Djavascript=disabled -Dcdda=disabled -Ddvdnav=disabled -Ddvbin=disabled -Dlibbluray=disabled -Dlibarchive=disabled -Dlibavdevice=disabled -Dlcms2=disabled -Duchardet=disabled -Drubberband=disabled -Dzimg=disabled -Dvapoursynth=disabled -Djpeg=disabled -Dcaca=disabled -Dsixel=disabled -Dcplugins=disabled -Dcuda-hwaccel=disabled -Dcuda-interop=disabled" compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output" install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild" @@ -115,8 +118,8 @@ install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson ins build = [ "meson", "samurai", "python3", "pkgconf", "linux-headers", "ffmpeg", "libplacebo", "libass", "libunibreak", "lua5.2", + "pipewire", "alsa-lib", "mesa", "libdrm", "wayland", "wayland-protocols", "libxkbcommon", - "alsa-lib", "freetype", "fribidi", "harfbuzz", "fontconfig", "glib", "pcre2", "libffi", "expat", "libpng", "zlib", "zlib-shared", ] diff --git a/recipes/pipewire.toml b/recipes/pipewire.toml index 4c597aa0..45e39b6b 100644 --- a/recipes/pipewire.toml +++ b/recipes/pipewire.toml @@ -1,3 +1,37 @@ +# ══ PROMOVIDA AL CORPUS 2026-09-03 — hash IDÉNTICO (b3:e240653a…) ═══════════════════════════════ +# Vivía en TRES copias, una por cola de escritorio, y ninguna en el corpus. Eso convertía a +# `libpipewire-0.3` en inalcanzable para cualquier app del catálogo: `mpv` tuvo que salir con +# `--ao=alsa` en vez de su salida nativa, y `wf-recorder` —que graba con pipewire o pulse— no se +# podía ni escribir. Una receta del corpus resuelve sibling-first y después el catálogo padre, nunca +# una cola hermana. +# +# GANA LA VARIANTE DE COSMIC, y no por gusto: era la única cuyo cierre ya resolvía ENTERO contra el +# corpus (`glib`, `pcre2` y `dbus-shared` del catálogo padre). Subirla no cambió una sola arista ⇒ +# mismo ArtifactHash y cache hit. Las de KDE y GNOME resolvían `glib-shared`/`pcre2-shared` y la +# glib SOMBRA de `incoming-gnome`, que no existen en el corpus. +# +# ══ POR QUÉ ESTO NO REPITE EL EPISODIO DE LAS DOS GLIB, medido antes de moverla ═════════════════ +# La objeción obvia es la que la propia cabecera de la copia de cosmic dejó escrita: dos artefactos +# del mismo nombre con bytes distintos, hidratados en la misma imagen, ponen dos registros de GType +# en un proceso. Acá no aplica, y se comprobó leyendo los artefactos sellados, no razonando: +# +# ningún pipewire de los tres enlaza glib. Los NEEDED de las tres variantes son exactamente +# `libdbus-1.so.3`, `libpulse.so.0` y `libsndfile.so.1`. glib entraba sólo como Requires +# transitivo de pkg-config, en tiempo de BUILD. +# +# ⇒ `libpipewire-0.3.so` es glib-free y se puede compartir entre las cuatro imágenes. +# +# Lo que sí queda enlazado por SONAME es `libpulse.so.0`, y eso es correcto: en runtime lo resuelve +# la libpulse de CADA imagen, que es ABI-compatible (misma 0.24.3). Enlazar contra una variante y +# correr contra otra es legítimo cuando lo que cruza es un SONAME; lo que NO se puede es hidratar +# dos artefactos distintos en la misma ruta. +# +# ⚠ Y POR ESO `pulseaudio` NO SE PROMOVIÓ, aunque sea la dep de al lado: ahí la objeción SÍ aplica. +# `libpulse-mainloop-glib.so.0.0.6` mide 45.712 bytes en la variante de GNOME (NEEDED +# `libglib-2.0.so.0`) y 2.455.600 en la del corpus, que se traga la glib ESTÁTICA del catálogo. Meter +# ésa en el proceso de gnome-shell —que ya carga la glib sombra dinámica— es literalmente el cuadro +# de colord. Las tres pulseaudio se quedan donde están y eso está bien: son variantes deliberadas, +# no duplicados. # pipewire 1.2.7 — EL SERVIDOR DE AUDIO DE LA DISTRO. Decisión tomada por el usuario (2026-07-29): # **PipeWire, no PulseAudio.** Hasta hoy el corpus tenía sólo el CLIENTE libpulse y el demonio quedaba # sin decidir; esta receta cierra esa pregunta abierta. diff --git a/recipes/pulseaudio.toml b/recipes/pulseaudio.toml index eb65b9fa..af6aa274 100644 --- a/recipes/pulseaudio.toml +++ b/recipes/pulseaudio.toml @@ -1,3 +1,16 @@ +# ══ AL CORPUS 2026-09-03 COMO DEP DE `pipewire`, y con una ADVERTENCIA ═════════════════════════ +# Ésta es la variante de COSMIC, que resuelve `glib` al catálogo padre — donde la glib es ESTÁTICA. +# Consecuencia medida: su `libpulse-mainloop-glib.so.0.0.6` pesa 2.455.600 bytes y no declara +# `libglib-2.0.so.0` en NEEDED, porque se tragó la glib entera. La variante de GNOME pesa 45.712 y +# enlaza la glib compartida. +# +# ⚠ NO ES UN REEMPLAZO DE `incoming-kde/pulseaudio` NI DE `incoming-gnome/pulseaudio`, y esas dos NO +# se jubilan. Hidratar ésta en el rootfs de GNOME pondría una glib estática DENTRO de una `.so` que +# gnome-shell carga en el mismo proceso que la glib sombra dinámica: dos registros de GType, que es +# el episodio de colord. Las tres son variantes deliberadas; sólo comparten nombre. +# +# Existe acá para que `recipes/pipewire.toml` tenga contra qué enlazar `libpulse.so.0`. Ese enlace +# es por SONAME y en runtime lo sirve la libpulse de cada imagen (misma 0.24.3, ABI compatible). # pulseaudio 17.0 — pero SÓLO las librerías cliente (libpulse, libpulse-simple, # libpulse-mainloop-glib). No el demonio de sonido. #