diff --git a/docs/plan-apps-usuario-final.md b/docs/plan-apps-usuario-final.md index 6cf95934..a4d7d0e0 100644 --- a/docs/plan-apps-usuario-final.md +++ b/docs/plan-apps-usuario-final.md @@ -35,7 +35,8 @@ Dos columnas, y **la que importa es la segunda**: |---|---:|---|---| | ~~wf-recorder~~ | — | — | ✅ **SELLADA 2026-09-03** (b3:25caa359), con audio. Se destrabó al promover pipewire al corpus. Sólo en `escritorio-sway`: captura por `wlr-screencopy` y KWin/mutter no lo implementan. | | ~~imv~~ | 7 | **GL de escritorio** | ❌ **BLOQUEADA 2026-09-03** — el muro no lo veía este método; ver abajo. Reemplazada por `swayimg`, sellada el mismo día. | -| ~~swayimg~~ | — | — | ✅ **SELLADA 2026-09-03** (b3:601518b4), en las CUATRO imágenes. Visor sin GL: rasteriza a `wl_shm`. Trae backend DRM de yapa. | +| ~~swayimg~~ | — | — | ✅ **SELLADA 2026-09-03** (b3:9bcd39c1, **5.5**), en las CUATRO imágenes. Visor sin GL: rasteriza a `wl_shm`. Trae backend DRM de yapa. | +| ~~luajit~~ | — | — | ✅ **SELLADA 2026-09-03** (b3:115d4c1c). Escrita para destrabar swayimg 5.x; mpv también la prefiere. | | **zathura** | 8 | — | lector de PDF; `girara` es su propia lib y ya usa GTK4 en Alpine. | | **mupdf** | 9 | X11 | el X11 es del visor `mupdf-x11`; el motor y `mupdf-gl` no. Requiere mirar. | | **inkscape** | 14 | — | sin muros, pero `gtkmm3` en la lista hay que verificarlo (¿GTK3 encubierto?). | @@ -152,10 +153,11 @@ visor de imágenes. estaban todas en el corpus ⇒ **cero recetas nuevas**. Y trae un backend **DRM** que muestra imágenes en una TTY pelada, sin compositor, que es exactamente lo que le falta al instalador. -Se pineó la **4.7** y no la 5.5 a propósito: desde la 5.0 `dependency('luajit')` es obligatoria y no -hay receta `luajit` (la `lua5.2` del OSC de mpv es otra ABI). Escribir `luajit` destrabaría el salto -a 5.x **y** le daría a mpv su intérprete preferido — es el próximo paso barato, no deuda de esta -receta. +Entró primero como **4.7** —la última sin Lua— porque desde la 5.0 `dependency('luajit')` es +obligatoria y no había receta (la `lua5.2` del OSC de mpv es otra ABI). Se escribió `luajit` el mismo +día y subió a **5.5**. La cadena quedó verificada de punta a punta: `swayimg -e` reporta +`Lua 5.1 · jit=true · LuaJIT 2.1.1787165859`, que es exactamente el `relver` de nuestra receta. +`luajit` queda además disponible para mpv, que la prefiere sobre 5.2. **Regla que sale de acá, para el próximo triaje de apps:** la pregunta no es «¿existe la receta?» ni sólo «¿la alcanza?», sino **«¿la variante sellada publica el `.pc` y el `.so` que el consumidor @@ -205,7 +207,7 @@ cierre (wayland, ffmpeg, libdrm) quedó completo cuando entró mpv. 3. **wf-recorder** — inmediato una vez tomada esa decisión; cubre el caso de uso principal de OBS. 4. ✅ **visor de imágenes** — hecho (2026-09-03), pero con **`swayimg` 4.7 y no `imv`**: imv está bloqueada por el muro de GL de escritorio (sección de arriba). En las cuatro imágenes. -4b. **`luajit`** — receta barata que destraba swayimg 5.x y le da a mpv su intérprete preferido. +4b. ✅ **`luajit`** — hecha (2026-09-03). Destrabó swayimg 5.5 y queda disponible para mpv. 5. **zathura** (+ backend PDF) — verificar antes que su cadena sea GTK4 y no GTK3. 6. **Decisión de navegador** — no es trabajo de recetas, es la elección de arriba. No debería entrar a una cola de build hasta que esté tomada. diff --git a/docs/state/build-state-cosmic.json b/docs/state/build-state-cosmic.json index 8014634e..944e41f9 100644 --- a/docs/state/build-state-cosmic.json +++ b/docs/state/build-state-cosmic.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 845, - "nodes": 846, - "sealed": 845, + "recipes": 846, + "nodes": 847, + "sealed": 846, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 193, + "c": 194, "go": 362, "gui": 34, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 805, + "sealed": 806, "ajeno": 1 }, "incoming-cosmic": { @@ -37,8 +37,8 @@ }, "escritorio-cosmic": { "raices": 34, - "clausura": 114, - "sealed": 114 + "clausura": 113, + "sealed": 113 }, "escritorio-mirada": { "raices": 14, @@ -7331,12 +7331,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 3 + "dependientes_total": 2 }, "json-glib": { "iname": "json-glib", @@ -9555,6 +9552,29 @@ ], "dependientes_total": 1 }, + "luajit": { + "iname": "luajit", + "version": "2.1.1787165859", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "make", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:115d4c1c288554bb1b441ca28301ee48cc072ed6fa8c141cca1e6b3fe8dd74e7", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "lux": { "iname": "lux", "version": "0.24.1", @@ -9662,7 +9682,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 108 + "dependientes_total": 109 }, "mako": { "iname": "mako", @@ -11634,7 +11654,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 373 + "dependientes_total": 374 }, "plow": { "iname": "plow", @@ -12647,12 +12667,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 3 }, "scorecard": { "iname": "scorecard", @@ -13435,7 +13452,7 @@ }, "swayimg": { "iname": "swayimg", - "version": "4.7", + "version": "5.5", "link": "dynamic", "compiler": "zig-cc", "deps": [ @@ -13443,8 +13460,8 @@ "samurai", "python3", "pkgconf", - "scdoc", "linux-headers", + "luajit", "wayland", "wayland-protocols", "libxkbcommon", @@ -13457,7 +13474,6 @@ "libtiff", "libwebp", "giflib", - "json-c", "zlib", "zlib-shared", "xz", @@ -13466,7 +13482,7 @@ ], "cls": "c", "queue": "corpus", - "hash": "b3:601518b418088f3a4c6c0d0993441c7fd196266a092a057c18a96e96e3ad29cd", + "hash": "b3:9bcd39c1175b0c73c6115e02dc183cc8002a92c2ab318d8212b9f9fef5c4f729", "state": "sealed", "blocked_by": [], "unblocks": 0, diff --git a/docs/state/build-state-gnome.json b/docs/state/build-state-gnome.json index ebf680cd..aa1ccdcd 100644 --- a/docs/state/build-state-gnome.json +++ b/docs/state/build-state-gnome.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 870, - "nodes": 871, - "sealed": 870, + "recipes": 871, + "nodes": 872, + "sealed": 871, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 232, + "c": 233, "go": 362, "gui": 40, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 796, + "sealed": 797, "ajeno": 1 }, "incoming-gnome": { @@ -37,8 +37,8 @@ }, "escritorio-gnome": { "raices": 10, - "clausura": 139, - "sealed": 139 + "clausura": 138, + "sealed": 138 }, "escritorio-mirada": { "raices": 14, @@ -7567,12 +7567,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 3 + "dependientes_total": 2 }, "json-glib": { "iname": "json-glib", @@ -10209,6 +10206,29 @@ ], "dependientes_total": 1 }, + "luajit": { + "iname": "luajit", + "version": "2.1.1787165859", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "make", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:115d4c1c288554bb1b441ca28301ee48cc072ed6fa8c141cca1e6b3fe8dd74e7", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "lux": { "iname": "lux", "version": "0.24.1", @@ -10316,7 +10336,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 108 + "dependientes_total": 109 }, "mako": { "iname": "mako", @@ -12412,7 +12432,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 373 + "dependientes_total": 374 }, "plow": { "iname": "plow", @@ -13492,12 +13512,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 3 }, "scorecard": { "iname": "scorecard", @@ -14325,7 +14342,7 @@ }, "swayimg": { "iname": "swayimg", - "version": "4.7", + "version": "5.5", "link": "dynamic", "compiler": "zig-cc", "deps": [ @@ -14333,8 +14350,8 @@ "samurai", "python3", "pkgconf", - "scdoc", "linux-headers", + "luajit", "wayland", "wayland-protocols", "libxkbcommon", @@ -14347,7 +14364,6 @@ "libtiff", "libwebp", "giflib", - "json-c", "zlib", "zlib-shared", "xz", @@ -14356,7 +14372,7 @@ ], "cls": "c", "queue": "corpus", - "hash": "b3:601518b418088f3a4c6c0d0993441c7fd196266a092a057c18a96e96e3ad29cd", + "hash": "b3:9bcd39c1175b0c73c6115e02dc183cc8002a92c2ab318d8212b9f9fef5c4f729", "state": "sealed", "blocked_by": [], "unblocks": 0, diff --git a/docs/state/build-state-kde.json b/docs/state/build-state-kde.json index b0089ad0..88e383c6 100644 --- a/docs/state/build-state-kde.json +++ b/docs/state/build-state-kde.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 989, - "nodes": 990, - "sealed": 989, + "recipes": 990, + "nodes": 991, + "sealed": 990, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 356, + "c": 357, "go": 362, "gui": 36, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 791 + "sealed": 792 }, "incoming-kde": { "sealed": 198, @@ -37,8 +37,8 @@ }, "escritorio-kde": { "raices": 15, - "clausura": 197, - "sealed": 196, + "clausura": 196, + "sealed": 195, "ajeno": 1 }, "escritorio-mirada": { @@ -7458,12 +7458,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 3 + "dependientes_total": 2 }, "jsonnet-bundler": { "iname": "jsonnet-bundler", @@ -13697,6 +13694,29 @@ ], "dependientes_total": 1 }, + "luajit": { + "iname": "luajit", + "version": "2.1.1787165859", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "make", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:115d4c1c288554bb1b441ca28301ee48cc072ed6fa8c141cca1e6b3fe8dd74e7", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "lux": { "iname": "lux", "version": "0.24.1", @@ -13804,7 +13824,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 108 + "dependientes_total": 109 }, "mako": { "iname": "mako", @@ -16094,7 +16114,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 373 + "dependientes_total": 374 }, "plasma-activities": { "iname": "plasma-activities", @@ -18676,12 +18696,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 3 }, "scorecard": { "iname": "scorecard", @@ -19646,7 +19663,7 @@ }, "swayimg": { "iname": "swayimg", - "version": "4.7", + "version": "5.5", "link": "dynamic", "compiler": "zig-cc", "deps": [ @@ -19654,8 +19671,8 @@ "samurai", "python3", "pkgconf", - "scdoc", "linux-headers", + "luajit", "wayland", "wayland-protocols", "libxkbcommon", @@ -19668,7 +19685,6 @@ "libtiff", "libwebp", "giflib", - "json-c", "zlib", "zlib-shared", "xz", @@ -19677,7 +19693,7 @@ ], "cls": "c", "queue": "corpus", - "hash": "b3:601518b418088f3a4c6c0d0993441c7fd196266a092a057c18a96e96e3ad29cd", + "hash": "b3:9bcd39c1175b0c73c6115e02dc183cc8002a92c2ab318d8212b9f9fef5c4f729", "state": "sealed", "blocked_by": [], "unblocks": 0, diff --git a/docs/state/build-state-wlr.json b/docs/state/build-state-wlr.json index 9edef806..b860c9c1 100644 --- a/docs/state/build-state-wlr.json +++ b/docs/state/build-state-wlr.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 819, - "nodes": 820, - "sealed": 819, + "recipes": 820, + "nodes": 821, + "sealed": 820, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 190, + "c": 191, "go": 362, "gui": 32, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 804, + "sealed": 805, "ajeno": 1 }, "incoming-wlr": { @@ -42,8 +42,8 @@ }, "escritorio-sway": { "raices": 64, - "clausura": 150, - "sealed": 150 + "clausura": 151, + "sealed": 151 } }, "sin_perfil": 647, @@ -6847,12 +6847,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 3 + "dependientes_total": 2 }, "jsonnet-bundler": { "iname": "jsonnet-bundler", @@ -8983,6 +8980,29 @@ ], "dependientes_total": 1 }, + "luajit": { + "iname": "luajit", + "version": "2.1.1787165859", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "make", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:115d4c1c288554bb1b441ca28301ee48cc072ed6fa8c141cca1e6b3fe8dd74e7", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "lux": { "iname": "lux", "version": "0.24.1", @@ -9090,7 +9110,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 108 + "dependientes_total": 109 }, "mako": { "iname": "mako", @@ -11023,7 +11043,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 373 + "dependientes_total": 374 }, "plow": { "iname": "plow", @@ -11994,12 +12014,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 3 }, "scorecard": { "iname": "scorecard", @@ -12939,7 +12956,7 @@ }, "swayimg": { "iname": "swayimg", - "version": "4.7", + "version": "5.5", "link": "dynamic", "compiler": "zig-cc", "deps": [ @@ -12947,8 +12964,8 @@ "samurai", "python3", "pkgconf", - "scdoc", "linux-headers", + "luajit", "wayland", "wayland-protocols", "libxkbcommon", @@ -12961,7 +12978,6 @@ "libtiff", "libwebp", "giflib", - "json-c", "zlib", "zlib-shared", "xz", @@ -12970,7 +12986,7 @@ ], "cls": "c", "queue": "corpus", - "hash": "b3:601518b418088f3a4c6c0d0993441c7fd196266a092a057c18a96e96e3ad29cd", + "hash": "b3:9bcd39c1175b0c73c6115e02dc183cc8002a92c2ab318d8212b9f9fef5c4f729", "state": "sealed", "blocked_by": [], "unblocks": 0, diff --git a/docs/state/build-state.json b/docs/state/build-state.json index 41820b47..170d21a5 100644 --- a/docs/state/build-state.json +++ b/docs/state/build-state.json @@ -1,14 +1,14 @@ { "schema": "hammer-build-state/1", "totals": { - "recipes": 805, - "nodes": 806, - "sealed": 805, + "recipes": 806, + "nodes": 807, + "sealed": 806, "ajeno": 1 }, "by_class": { "ajeno": 1, - "c": 176, + "c": 177, "go": 362, "gui": 32, "kernel": 6, @@ -17,7 +17,7 @@ "debt_by_class": {}, "by_queue": { "corpus": { - "sealed": 805, + "sealed": 806, "ajeno": 1 } }, @@ -6732,12 +6732,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 3 + "dependientes_total": 2 }, "jsonnet-bundler": { "iname": "jsonnet-bundler", @@ -8845,6 +8842,29 @@ ], "dependientes_total": 1 }, + "luajit": { + "iname": "luajit", + "version": "2.1.1787165859", + "link": "dynamic", + "compiler": "zig-cc", + "deps": [ + "make", + "pkgconf" + ], + "cls": "c", + "queue": "corpus", + "hash": "b3:115d4c1c288554bb1b441ca28301ee48cc072ed6fa8c141cca1e6b3fe8dd74e7", + "state": "sealed", + "blocked_by": [], + "unblocks": 0, + "perfiles": [ + "escritorio-cosmic", + "escritorio-gnome", + "escritorio-kde", + "escritorio-sway" + ], + "dependientes_total": 1 + }, "lux": { "iname": "lux", "version": "0.24.1", @@ -8952,7 +8972,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 108 + "dependientes_total": 109 }, "mako": { "iname": "mako", @@ -10885,7 +10905,7 @@ "escritorio-mirada", "escritorio-sway" ], - "dependientes_total": 373 + "dependientes_total": 374 }, "plow": { "iname": "plow", @@ -11856,12 +11876,9 @@ "blocked_by": [], "unblocks": 0, "perfiles": [ - "escritorio-cosmic", - "escritorio-gnome", - "escritorio-kde", "escritorio-sway" ], - "dependientes_total": 4 + "dependientes_total": 3 }, "scorecard": { "iname": "scorecard", @@ -12644,7 +12661,7 @@ }, "swayimg": { "iname": "swayimg", - "version": "4.7", + "version": "5.5", "link": "dynamic", "compiler": "zig-cc", "deps": [ @@ -12652,8 +12669,8 @@ "samurai", "python3", "pkgconf", - "scdoc", "linux-headers", + "luajit", "wayland", "wayland-protocols", "libxkbcommon", @@ -12666,7 +12683,6 @@ "libtiff", "libwebp", "giflib", - "json-c", "zlib", "zlib-shared", "xz", @@ -12675,7 +12691,7 @@ ], "cls": "c", "queue": "corpus", - "hash": "b3:601518b418088f3a4c6c0d0993441c7fd196266a092a057c18a96e96e3ad29cd", + "hash": "b3:9bcd39c1175b0c73c6115e02dc183cc8002a92c2ab318d8212b9f9fef5c4f729", "state": "sealed", "blocked_by": [], "unblocks": 0, diff --git a/recipes/swayimg.toml b/recipes/swayimg.toml index 76e96f8e..2684390c 100644 --- a/recipes/swayimg.toml +++ b/recipes/swayimg.toml @@ -20,14 +20,19 @@ # `wl_shm`. Encaja con la distro en vez de pelearse con ella, y de yapa trae backend **DRM**, que # muestra imágenes en una TTY pelada sin compositor. # -# ══ VERSIÓN 4.7 Y NO 5.5, A PROPÓSITO ══════════════════════════════════════════════════════════ -# Desde la 5.0 `dependency('luajit')` es OBLIGATORIA (scripting), y no hay receta `luajit` — la -# `lua5.2` que entró para el OSC de mpv no sirve, es otra ABI. La 4.7 es la última sin lua y sus -# deps requeridas están TODAS en el corpus. Subir a 5.x = escribir `luajit` primero, que además le -# daría a mpv su intérprete preferido; queda anotado como el camino, no como deuda de esta receta. +# ══ 5.5, DESPUÉS DE ESCRIBIR `luajit` ══════════════════════════════════════════════════════════ +# Entró primero como 4.7 —la última sin Lua— porque desde la 5.0 `dependency('luajit')` es +# OBLIGATORIA y no había receta; la `lua5.2` del OSC de mpv no sirve, es otra ABI (LuaJIT es Lua 5.1 +# + FFI + JIT). Se escribió `luajit` el mismo día y esto subió a 5.5. Lo que se gana: el motor de +# configuración pasó a ser Lua (`src/luaengine.cpp`), y con él los perfiles de teclas y el `.lua` de +# ejemplo que se instala con `-Dluameta=true`. +# Dos cambios de forma respecto de la 4.7: `compositor` ya NO pide `json-c` (la integración con sway +# se rehizo sin JSON), y la man page viene PRE-GENERADA en `extra/swayimg.1` en vez de armarse con +# scdoc ⇒ las dos deps se fueron de `[deps]`. `-Ddoc=false` porque ese target regenera markdown con +# dos scripts de Python y lo que instala son `.md`, no páginas de manual. # -# ══ `-Dversion=4.7` NO ES COSMÉTICO ════════════════════════════════════════════════════════════ -# Su default es la cadena `0.0.0`, y meson.build:24-35 la interpreta como «averiguala vos»: corre +# ══ `-Dversion=5.5` NO ES COSMÉTICO ════════════════════════════════════════════════════════════ +# Su default es la cadena `0.0.0`, y meson.build:19-31 la interpreta como «averiguala vos»: corre # `git describe --tags --long --always --dirty` sobre el árbol. O sea que **la versión estampada # DENTRO del binario dependería del estado del checkout** (si hay `.git`, si trajo los tags, si # quedó sucio) y dos builds del mismo commit podrían dar bytes distintos. Misma familia que el @@ -38,23 +43,26 @@ # el artefacto pasaría a depender de qué otra cosa quedó montada en el lab. Se enumeran una por una. # ENCENDIDAS (la dep ya está en el corpus): jpeg, png, tiff, webp, gif, y `compositor` (json-c, es # la integración por IPC con sway). -# APAGADAS por falta de receta: exr, heif, avif, jxl, sixel, raw, exif, bash. -# APAGADA por cola: `svg` pide `librsvg-2.0`, que vive sólo en `incoming-gnome` — y una receta del -# corpus no alcanza una cola hermana. Es el mismo hueco que dejó mudo a wf-recorder. +# APAGADAS por falta de receta: exr, heif, avif, jp2, jxl, sixel, raw, bash. +# APAGADAS POR COLA — y son dos, no una: `svg` pide `librsvg-2.0`, que vive sólo en +# `incoming-gnome`, y `exif` pide `exiv2`, que vive sólo en `incoming-kde`. Las dos EXISTEN en el +# disco y ninguna es alcanzable desde el corpus: una receta resuelve sibling-first y después el +# catálogo padre, nunca una cola hermana. Es el mismo hueco que dejó mudo a wf-recorder, y es la +# razón por la que este visor no muestra metadatos EXIF. # # `-Dprefer_static=true` como mpv: fontconfig, freetype, libpng, libjpeg, libtiff, libwebp, expat y # json-c son `.a` en el corpus, y sin esta perilla meson resuelve los `.pc` sin `Libs.private` y el # link muere con símbolos de expat «en libfontconfig.a», culpando a fontconfig. `link=dynamic` # porque wayland, libxkbcommon, libdrm y zstd sí publican `.so`. # -# Fuente por commit git (ADR 0006): `v4.7` es un tag LIVIANO ⇒ éste es su commit. +# Fuente por commit git (ADR 0006): `v5.5` es un tag LIVIANO ⇒ éste es su commit. name = "swayimg" -version = "4.7" +version = "5.5" license = "MIT" [source] repo = "https://github.com/artemsen/swayimg.git" -commit = "8f0d660bb28a16e0972b986a1a27d4a1876b2cc5" +commit = "682fecf358c0a2da1f98422b6a013dc822c74c5b" [build] compiler = "zig-cc" @@ -63,19 +71,20 @@ link = "dynamic" flags = [] [build.phases] -configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Dprefer_static=true -Dversion=4.7 -Dwayland=enabled -Ddrm=enabled -Dcompositor=enabled -Djpeg=enabled -Dpng=enabled -Dtiff=enabled -Dwebp=enabled -Dgif=enabled -Dexr=disabled -Dheif=disabled -Davif=disabled -Djxl=disabled -Dsvg=disabled -Dsixel=disabled -Draw=disabled -Dexif=disabled -Dbash=disabled -Dzsh=disabled -Ddesktop=true -Dman=true -Dtests=disabled" +configure = "PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release -Dprefer_static=true -Dversion=5.5 -Dwayland=enabled -Ddrm=enabled -Dcompositor=enabled -Djp2=disabled -Djpeg=enabled -Dpng=enabled -Dtiff=enabled -Dwebp=enabled -Dgif=enabled -Dexr=disabled -Dheif=disabled -Davif=disabled -Djxl=disabled -Dsvg=disabled -Dsixel=disabled -Draw=disabled -Dexif=disabled -Dbash=disabled -Dzsh=disabled -Ddesktop=true -Dman=true -Dlicense=true -Ddoc=false -Dluameta=true -Dtests=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" # `.pc Requires` → `[deps].build`, el patrón del corpus: fontconfig pide expat, freetype2 pide zlib # y libpng, wayland-client pide libffi, libtiff-4 pide zlib+xz+zstd+libjpeg, libwebpdemux pide -# libsharpyuv (viene en el mismo artefacto). `scdoc` genera las dos man pages; `wayland` aporta -# además el `wayland-scanner` nativo que teje los ocho protocolos. +# libsharpyuv (viene en el mismo artefacto). `wayland` aporta además el `wayland-scanner` nativo que +# teje los NUEVE protocolos. [deps] build = [ - "meson", "samurai", "python3", "pkgconf", "scdoc", "linux-headers", + "meson", "samurai", "python3", "pkgconf", "linux-headers", + "luajit", "wayland", "wayland-protocols", "libxkbcommon", "libdrm", "fontconfig", "freetype", "expat", - "libjpeg-turbo", "libpng", "libtiff", "libwebp", "giflib", "json-c", + "libjpeg-turbo", "libpng", "libtiff", "libwebp", "giflib", "zlib", "zlib-shared", "xz", "zstd", "libffi", ]