Files
takana/recipes/desktop-file-utils.toml
Sergio e852f48491 takana etapa 5a: los comentarios de las 741 recetas
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 /
2026-09-09 19:23:26 +00:00

41 lines
2.1 KiB
TOML

# desktop-file-utils 0.28 — las tres herramientas de freedesktop sobre ficheros `.desktop`:
# update-desktop-database construye `mimeinfo.cache`, la caché MIME→APLICACIÓN
# desktop-file-validate valida un .desktop contra la especificación
# desktop-file-install instala uno, normalizándolo
#
# POR QUÉ ERA UN HUECO, y por qué es el compañero de `shared-mime-info`. Aquella receta (cerrada el
# 2026-09-08) le dio al escritorio la base de datos que dice QUÉ TIPO es un fichero. Ésta le da la
# que dice CON QUÉ ABRIRLO: sin `mimeinfo.cache` el menú «abrir con» sale vacío y no hay aplicación
# por defecto para ningún tipo. Comprobado antes de escribir la receta: NINGÚN artefacto del store
# traía `update-desktop-database`, así que esa caché no se construía nunca.
#
# Como el otro, falla en RUNTIME y no en build — gnome-shell, libadwaita y mutter lo piden en nixpkgs
# y acá construyen tan contentos sin él. Ninguna métrica de deuda puede ver un hueco así; salió del
# triaje de la frontera (2026-09-09).
#
# Va al CORPUS porque lo necesitan las cuatro imágenes de escritorio, no una cola.
name = "desktop-file-utils"
version = "0.28"
license = "GPL-2.0-or-later"
[source]
tarball = "https://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.28.tar.xz"
sha256 = "4401d4e231d842c2de8242395a74a395ca468cd96f5f610d822df33594898a70"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
[build.phases]
# `--prefer-static` además de link=static: gobierna con qué se enlazan los EJECUTABLES, que acá son
# todo el paquete. Es la lección de json-glib, aplicada antes del error y no después.
configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload --prefer-static"
compile = "ninja -C output"
install = "DESTDIR=/out meson install -C output --no-rebuild"
[deps]
# `libffi`/`pcre2`/`zlib` son la clausura de pkg-config que declara el `.pc` de glib en
# Requires.private; las deps de takana NO son transitivas.
build = ["meson", "samurai", "python3", "pkgconf", "glib", "libffi", "pcre2", "zlib"]