TRES COSAS, y la primera es un bug mío de hace un rato.
1. dejavu-fonts PROMOVIDA AL CORPUS — arregla un nodo `wanted` que introduje.
Al añadirla de raíz a escritorio-gnome quedó como `wanted`: la receta existía en
incoming-{kde,wlr,cosmic} y NO en incoming-gnome ni en el corpus, y una receta no
alcanza una cola hermana. O sea que la raíz no resolvía a nada y GNOME seguía sin
fuentes. `wanted` NO es `debt`, así que drenaje.json seguía diciendo deuda=0 y el
hueco no salía por ninguna métrica — se vio mirando el nodo en build-state-gnome.json.
Promoción gratis: las tres copias sellaban el mismo hash (b3:5b3a5df3) y sus deps
están vacías. Las tres se jubilan. Ahora los cuatro perfiles resuelven a corpus y los
cinco grafos quedan con CERO nodos `wanted`.
2. dejavu-fonts en escritorio-kde, como se pidió. Tenía UNA fuente y de rebote, dentro
de qtbase — apoyarse en un detalle de empaquetado de Qt deja sin nada a todo lo que
no es Qt.
3. dejavu-fonts-nerd 3.5.1 en los CUATRO perfiles: DejaVu Sans Mono parcheada con Nerd
Fonts. Lo que se midió antes de escribirla, porque cambia la forma de hacerla:
- SE AÑADE, NO REEMPLAZA, y no es prudencia: la licencia de Bitstream Vera exige que
una fuente modificada se RENOMBRE. Por eso upstream la llama «DejaVuSansM Nerd Font
Mono» — leído del name de la TTF, no supuesto. Una fuente nerdeada NO puede
responder al nombre de la original; sustituirla rompería a todo lo que pide «DejaVu
Sans Mono», empezando por foot, que ya murió una vez así.
- SÓLO LA MONOESPACIADA: upstream no publica DejaVu Sans ni Serif parcheadas, y en una
fuente de interfaz proporcional esos glifos no los pide nadie. «Todas nerdeadas» no
se puede cumplir al pie de la letra.
- SÓLO UNA DE LAS TRES VARIANTES: NerdFont / NerdFontMono / NerdFontPropo son los
mismos glifos con distinto avance. Las doce pesan 32 MB; las cuatro de Mono, 11 MB.
Se quedan las Mono, que son las correctas para una rejilla de terminal. Referencia:
la familia DejaVu ENTERA son 9,8 MB.
⚠ EL NÚMERO DEL .conf ESTÁ MEDIDO, NO ELEGIDO. fontconfig carga conf.d en orden
alfabético y el <prefer> que llega antes gana. Con 60-nerd-monospace.conf —que ordena
después de 60-latin.conf, que ya prefiere Noto/DejaVu/Inconsolata— `fc-match
monospace` seguía dando DejaVu Sans Mono: la conf estaba INSTALADA Y ERA INERTE, el
mismo modo de fallar que el plugin ALSA de PipeWire. A 59- gana. 45-latin.conf también
menciona monospace pero usa <default>, no <prefer>, así que no compite.
⚠ Y strip_components = 0, que tampoco es cosmético: el tarball de nerd-fonts es PLANO
y con el default de 1 el árbol de fuentes queda VACÍO — el build no se detiene ahí,
sigue y falla más tarde en el cp, con un mensaje que no menciona la extracción.
⚠ LA LICENCIA NECESITA UNA PASADA HUMANA antes de `hammer pack`: el LICENSE.txt del
tarball cubre sólo DejaVu/Bitstream Vera y no menciona los ~10 conjuntos de iconos
importados, que tienen licencias propias (Font Awesome CC-BY-4.0, Octicons MIT,
Material OFL, Powerline MIT…). El campo dice lo DOCUMENTADO, no el conjunto real; no
se inventa una cadena SPDX. Anotado en la receta.
EVIDENCIA, contra el conf.d REAL del artefacto de fontconfig:
monospace -> DejaVuSansM Nerd Font Mono (los iconos llegan)
"DejaVu Sans Mono" -> DejaVu Sans Mono (intacta)
sans-serif -> DejaVu Sans (sin tocar)
serif -> DejaVu Serif (sin tocar)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XB2iEmxeLZgzqNfhWChrLo
36 lines
1.7 KiB
TOML
36 lines
1.7 KiB
TOML
# dejavu-fonts 2.37 — PROMOVIDA AL CORPUS el 2026-09-03. Antes existían TRES copias idénticas
|
|
# (incoming-kde, incoming-wlr, incoming-cosmic) y ninguna en el corpus.
|
|
#
|
|
# ══ POR QUÉ SUBE, Y EL BUG QUE LO OBLIGÓ ═══════════════════════════════════════════════════════
|
|
# Al descubrir que `escritorio-gnome` no traía NI UN fichero de fuente se la añadió de raíz a ese
|
|
# perfil… y quedó como nodo **`wanted`**: `incoming-gnome` no tiene esta receta y el corpus tampoco,
|
|
# y una receta no alcanza una cola hermana. O sea que la raíz no resolvía a nada y la imagen seguía
|
|
# sin fuentes. **`wanted` no es `debt`**, así que `drenaje.json` seguía diciendo deuda=0 — el hueco
|
|
# no salía por ninguna métrica. Se vio mirando el nodo en `build-state-gnome.json`.
|
|
#
|
|
# La promoción es GRATIS: las tres copias sellaban el MISMO ArtifactHash (b3:5b3a5df3) y sus
|
|
# `[deps]` están vacías, así que resuelve igual desde cualquier lado. Las tres copias de cola se
|
|
# jubilan en el mismo movimiento: con `[deps] = []` no hay nada que pueda cambiar de resolución.
|
|
#
|
|
# Data-only: copia los .ttf a /usr/share/fonts. 22 ficheros, 9,8 MB — Sans, Serif y Sans Mono.
|
|
name = "dejavu-fonts"
|
|
version = "2.37"
|
|
license = "MIT"
|
|
|
|
[source]
|
|
tarball = "https://github.com/dejavu-fonts/dejavu-fonts/releases/download/version_2_37/dejavu-fonts-ttf-2.37.tar.bz2"
|
|
sha256 = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "dynamic"
|
|
|
|
[build.phases]
|
|
configure = "true"
|
|
compile = "true"
|
|
install = "mkdir -p /out/usr/share/fonts/dejavu && cp ttf/*.ttf /out/usr/share/fonts/dejavu/"
|
|
|
|
[deps]
|
|
build = []
|