apps: swayimg sube a 5.5, que es lo que justificaba escribir luajit

Entró como 4.7 —la última sin Lua— sólo porque no había receta de luajit. Con luajit
sellada, sube a la actual. 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. Formatos:
suma qoi, ttf y xbm a los de 4.7.

Dos cambios de forma que sacan dos deps: `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. -Ddoc=false porque ese target regenera
markdown con dos scripts de Python y lo que instala son .md, no páginas de manual.

Corregido de paso el comentario de las opciones apagadas: son DOS por cola, no una.
`svg` pide librsvg-2.0 (sólo en incoming-gnome) y `exif` pide exiv2 (sólo en
incoming-kde). Las dos existen en el disco y ninguna es alcanzable desde el corpus.
Por eso este visor no muestra metadatos EXIF, y queda escrito dónde está el hueco.

Evidencia de que la cadena cierra, no sólo de que sella: `swayimg -e` ejecuta Lua
dentro del visor y reporta «Lua 5.1 · jit=true · LuaJIT 2.1.1787165859» — que es
exactamente el relver de nuestra receta de luajit, o sea que el intérprete que corre
es el que construimos. Un script con error de sintaxis se reporta como error de Lua.
NEEDED sigue siendo sólo libc.so.

Los cinco grafos quedan en N/N con cero deuda.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XB2iEmxeLZgzqNfhWChrLo
This commit is contained in:
Sergio
2026-09-03 11:37:02 +00:00
co-authored by Claude Opus 5
parent 2d68e70a07
commit e2bcd96feb
7 changed files with 218 additions and 127 deletions
+35 -19
View File
@@ -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,