tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

⎇ main recipes/desktop-file-utils.toml TOML · 40 líneas · 2.1 KB Historia crudo

takana etapa 5a: los comentarios de las 741 recetas e852f4849 · Sergio ·

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