fuentes: dejavu al corpus (arregla un wanted que dejé), KDE con fuente, y la nerd de monospace
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
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 854,
|
||||
"nodes": 855,
|
||||
"sealed": 854,
|
||||
"recipes": 855,
|
||||
"nodes": 856,
|
||||
"sealed": 855,
|
||||
"ajeno": 1
|
||||
},
|
||||
"by_class": {
|
||||
"ajeno": 1,
|
||||
"c": 201,
|
||||
"c": 202,
|
||||
"go": 362,
|
||||
"gui": 35,
|
||||
"kernel": 6,
|
||||
@@ -17,11 +17,11 @@
|
||||
"debt_by_class": {},
|
||||
"by_queue": {
|
||||
"corpus": {
|
||||
"sealed": 815,
|
||||
"sealed": 817,
|
||||
"ajeno": 1
|
||||
},
|
||||
"incoming-cosmic": {
|
||||
"sealed": 39
|
||||
"sealed": 38
|
||||
}
|
||||
},
|
||||
"by_profile": {
|
||||
@@ -36,9 +36,9 @@
|
||||
"sealed": 75
|
||||
},
|
||||
"escritorio-cosmic": {
|
||||
"raices": 37,
|
||||
"clausura": 131,
|
||||
"sealed": 131
|
||||
"raices": 38,
|
||||
"clausura": 132,
|
||||
"sealed": 132
|
||||
},
|
||||
"escritorio-mirada": {
|
||||
"raices": 14,
|
||||
@@ -3263,13 +3263,36 @@
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "incoming-cosmic",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:5b3a5df3d75586315f4371f05be021a58ee31d5f664b4253957a35a6c7b95d71",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic"
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"dejavu-fonts-nerd": {
|
||||
"iname": "dejavu-fonts-nerd",
|
||||
"version": "3.5.1",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:387cf391f09cec628088845dadd94a5268e61acbd1c04dcc12c1a035c4d4d591",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
|
||||
@@ -1,30 +1,27 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 880,
|
||||
"nodes": 882,
|
||||
"sealed": 880,
|
||||
"ajeno": 1,
|
||||
"wanted": 1
|
||||
"recipes": 882,
|
||||
"nodes": 883,
|
||||
"sealed": 882,
|
||||
"ajeno": 1
|
||||
},
|
||||
"by_class": {
|
||||
"ajeno": 1,
|
||||
"c": 240,
|
||||
"c": 242,
|
||||
"go": 362,
|
||||
"gui": 42,
|
||||
"kernel": 6,
|
||||
"rust": 230,
|
||||
"wanted": 1
|
||||
"rust": 230
|
||||
},
|
||||
"debt_by_class": {},
|
||||
"by_queue": {
|
||||
"corpus": {
|
||||
"sealed": 806,
|
||||
"sealed": 808,
|
||||
"ajeno": 1
|
||||
},
|
||||
"incoming-gnome": {
|
||||
"sealed": 74,
|
||||
"wanted": 1
|
||||
"sealed": 74
|
||||
}
|
||||
},
|
||||
"by_profile": {
|
||||
@@ -39,9 +36,9 @@
|
||||
"sealed": 74
|
||||
},
|
||||
"escritorio-gnome": {
|
||||
"raices": 14,
|
||||
"clausura": 148,
|
||||
"sealed": 148
|
||||
"raices": 15,
|
||||
"clausura": 150,
|
||||
"sealed": 150
|
||||
},
|
||||
"escritorio-mirada": {
|
||||
"raices": 14,
|
||||
@@ -49,7 +46,7 @@
|
||||
"sealed": 33
|
||||
}
|
||||
},
|
||||
"sin_perfil": 662,
|
||||
"sin_perfil": 661,
|
||||
"orphan_deps": [],
|
||||
"topo_ok": true,
|
||||
"nodes": {
|
||||
@@ -2968,17 +2965,42 @@
|
||||
},
|
||||
"dejavu-fonts": {
|
||||
"iname": "dejavu-fonts",
|
||||
"version": null,
|
||||
"link": null,
|
||||
"compiler": null,
|
||||
"version": "2.37",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "wanted",
|
||||
"queue": "incoming-gnome",
|
||||
"hash": null,
|
||||
"state": "wanted",
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:5b3a5df3d75586315f4371f05be021a58ee31d5f664b4253957a35a6c7b95d71",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [],
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"dejavu-fonts-nerd": {
|
||||
"iname": "dejavu-fonts-nerd",
|
||||
"version": "3.5.1",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:387cf391f09cec628088845dadd94a5268e61acbd1c04dcc12c1a035c4d4d591",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"delta": {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 997,
|
||||
"nodes": 998,
|
||||
"sealed": 997,
|
||||
"recipes": 998,
|
||||
"nodes": 999,
|
||||
"sealed": 998,
|
||||
"ajeno": 1
|
||||
},
|
||||
"by_class": {
|
||||
"ajeno": 1,
|
||||
"c": 362,
|
||||
"c": 363,
|
||||
"go": 362,
|
||||
"gui": 38,
|
||||
"kernel": 6,
|
||||
@@ -17,10 +17,10 @@
|
||||
"debt_by_class": {},
|
||||
"by_queue": {
|
||||
"corpus": {
|
||||
"sealed": 799
|
||||
"sealed": 801
|
||||
},
|
||||
"incoming-kde": {
|
||||
"sealed": 198,
|
||||
"sealed": 197,
|
||||
"ajeno": 1
|
||||
}
|
||||
},
|
||||
@@ -36,9 +36,9 @@
|
||||
"sealed": 70
|
||||
},
|
||||
"escritorio-kde": {
|
||||
"raices": 16,
|
||||
"clausura": 197,
|
||||
"sealed": 196,
|
||||
"raices": 18,
|
||||
"clausura": 199,
|
||||
"sealed": 198,
|
||||
"ajeno": 1
|
||||
},
|
||||
"escritorio-mirada": {
|
||||
@@ -47,7 +47,7 @@
|
||||
"sealed": 29
|
||||
}
|
||||
},
|
||||
"sin_perfil": 706,
|
||||
"sin_perfil": 705,
|
||||
"orphan_deps": [],
|
||||
"topo_ok": true,
|
||||
"nodes": {
|
||||
@@ -3030,12 +3030,37 @@
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "incoming-kde",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:5b3a5df3d75586315f4371f05be021a58ee31d5f664b4253957a35a6c7b95d71",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [],
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"dejavu-fonts-nerd": {
|
||||
"iname": "dejavu-fonts-nerd",
|
||||
"version": "3.5.1",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:387cf391f09cec628088845dadd94a5268e61acbd1c04dcc12c1a035c4d4d591",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"delta": {
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 831,
|
||||
"nodes": 832,
|
||||
"sealed": 831,
|
||||
"recipes": 832,
|
||||
"nodes": 833,
|
||||
"sealed": 832,
|
||||
"ajeno": 1
|
||||
},
|
||||
"by_class": {
|
||||
"ajeno": 1,
|
||||
"c": 199,
|
||||
"c": 200,
|
||||
"go": 362,
|
||||
"gui": 35,
|
||||
"kernel": 6,
|
||||
@@ -17,11 +17,11 @@
|
||||
"debt_by_class": {},
|
||||
"by_queue": {
|
||||
"corpus": {
|
||||
"sealed": 816,
|
||||
"sealed": 818,
|
||||
"ajeno": 1
|
||||
},
|
||||
"incoming-wlr": {
|
||||
"sealed": 15
|
||||
"sealed": 14
|
||||
}
|
||||
},
|
||||
"by_profile": {
|
||||
@@ -41,9 +41,9 @@
|
||||
"sealed": 33
|
||||
},
|
||||
"escritorio-sway": {
|
||||
"raices": 67,
|
||||
"clausura": 170,
|
||||
"sealed": 170
|
||||
"raices": 68,
|
||||
"clausura": 171,
|
||||
"sealed": 171
|
||||
}
|
||||
},
|
||||
"sin_perfil": 645,
|
||||
@@ -2797,12 +2797,35 @@
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "incoming-wlr",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:5b3a5df3d75586315f4371f05be021a58ee31d5f664b4253957a35a6c7b95d71",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"dejavu-fonts-nerd": {
|
||||
"iname": "dejavu-fonts-nerd",
|
||||
"version": "3.5.1",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:387cf391f09cec628088845dadd94a5268e61acbd1c04dcc12c1a035c4d4d591",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"schema": "hammer-build-state/1",
|
||||
"totals": {
|
||||
"recipes": 817,
|
||||
"nodes": 818,
|
||||
"sealed": 817,
|
||||
"recipes": 819,
|
||||
"nodes": 820,
|
||||
"sealed": 819,
|
||||
"ajeno": 1
|
||||
},
|
||||
"by_class": {
|
||||
"ajeno": 1,
|
||||
"c": 185,
|
||||
"c": 187,
|
||||
"go": 362,
|
||||
"gui": 35,
|
||||
"kernel": 6,
|
||||
@@ -17,7 +17,7 @@
|
||||
"debt_by_class": {},
|
||||
"by_queue": {
|
||||
"corpus": {
|
||||
"sealed": 817,
|
||||
"sealed": 819,
|
||||
"ajeno": 1
|
||||
}
|
||||
},
|
||||
@@ -2782,6 +2782,46 @@
|
||||
"perfiles": [],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"dejavu-fonts": {
|
||||
"iname": "dejavu-fonts",
|
||||
"version": "2.37",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:5b3a5df3d75586315f4371f05be021a58ee31d5f664b4253957a35a6c7b95d71",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"dejavu-fonts-nerd": {
|
||||
"iname": "dejavu-fonts-nerd",
|
||||
"version": "3.5.1",
|
||||
"link": "dynamic",
|
||||
"compiler": "zig-cc",
|
||||
"deps": [],
|
||||
"cls": "c",
|
||||
"queue": "corpus",
|
||||
"hash": "b3:387cf391f09cec628088845dadd94a5268e61acbd1c04dcc12c1a035c4d4d591",
|
||||
"state": "sealed",
|
||||
"blocked_by": [],
|
||||
"unblocks": 0,
|
||||
"perfiles": [
|
||||
"escritorio-cosmic",
|
||||
"escritorio-gnome",
|
||||
"escritorio-kde",
|
||||
"escritorio-sway"
|
||||
],
|
||||
"dependientes_total": 0
|
||||
},
|
||||
"delta": {
|
||||
"iname": "delta",
|
||||
"version": "0.19.2",
|
||||
|
||||
@@ -63,6 +63,22 @@ paquetes = [
|
||||
# roto: sin tipos de fichero, sin apps X11, sin diálogos de autorización y con los controles QML
|
||||
# en un estilo genérico. Ver docs/state/frontera-triaje.toml para el porqué de cada uno.
|
||||
"shared-mime-info", "xwayland", "polkit-qt-1", "qqc2-breeze-style",
|
||||
# ── FUENTES ──────────────────────────────────────────────────────────────────────────────────
|
||||
# Añadida el 2026-09-03 por el mismo recuento que destapó el hueco de GNOME: contando
|
||||
# `.ttf/.otf/.ttc/.pfb` sobre los artefactos del cierre, este perfil tenía **UNA sola**, y de
|
||||
# rebote — viene dentro de `qtbase`, no porque nadie la haya pedido. `fontconfig` estaba, pero
|
||||
# fontconfig es el MOTOR que busca fuentes, no una fuente.
|
||||
# Depender de la que trae qtbase es apoyarse en un detalle de empaquetado de Qt que puede
|
||||
# desaparecer en cualquier versión, y encima deja a todo lo que NO es Qt sin nada.
|
||||
"dejavu-fonts",
|
||||
# `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
|
||||
# iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
|
||||
# statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
|
||||
# Vera obliga a renombrar una fuente modificada, así que la parcheada se llama
|
||||
# «DejaVuSansM Nerd Font Mono» y NO puede responder a «DejaVu Sans Mono» — sustituirla rompería
|
||||
# a todo lo que la pide por nombre, empezando por foot. Se enchufa por fontconfig: su
|
||||
# `59-nerd-monospace.conf` hace que el alias `monospace` la prefiera. Ver su receta.
|
||||
"dejavu-fonts-nerd",
|
||||
# ⚠ `xwayland` sigue acá como RAÍZ pero su receta NO se va a escribir: lo provee una imagen ajena
|
||||
# enjaulada, declarado en ../state/qorpa-ajenos.toml (ADR 0015 D5 capa 3, qorpa). El Xwayland vive
|
||||
# DENTRO de la imagen —Arch y Fedora ya lo traen y se cuelga de kwin por el socket— así que el
|
||||
@@ -196,6 +212,14 @@ paquetes = [
|
||||
# de rebote, dentro de qtbase) es un hallazgo aparte y NO se toca acá: ese perfil no lleva zathura
|
||||
# y su árbol lo está trabajando otro frente.
|
||||
"dejavu-fonts",
|
||||
# `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
|
||||
# iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
|
||||
# statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
|
||||
# Vera obliga a renombrar una fuente modificada, así que la parcheada se llama
|
||||
# «DejaVuSansM Nerd Font Mono» y NO puede responder a «DejaVu Sans Mono» — sustituirla rompería
|
||||
# a todo lo que la pide por nombre, empezando por foot. Se enchufa por fontconfig: su
|
||||
# `59-nerd-monospace.conf` hace que el alias `monospace` la prefiera. Ver su receta.
|
||||
"dejavu-fonts-nerd",
|
||||
"expat-shared", "libffi-shared", "bzip2-shared",
|
||||
]
|
||||
|
||||
@@ -266,6 +290,14 @@ paquetes = [
|
||||
# tipografía. Ninguno es dep de build de nadie y sin ellos el escritorio arranca roto — sin puntero,
|
||||
# sin teclado o con tofu.
|
||||
"cosmic-icons", "hicolor-icon-theme", "xkeyboard-config", "dejavu-fonts",
|
||||
# `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
|
||||
# iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
|
||||
# statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
|
||||
# Vera obliga a renombrar una fuente modificada, así que la parcheada se llama
|
||||
# «DejaVuSansM Nerd Font Mono» y NO puede responder a «DejaVu Sans Mono» — sustituirla rompería
|
||||
# a todo lo que la pide por nombre, empezando por foot. Se enchufa por fontconfig: su
|
||||
# `59-nerd-monospace.conf` hace que el alias `monospace` la prefiera. Ver su receta.
|
||||
"dejavu-fonts-nerd",
|
||||
# Lo que `start-cosmic` ejecuta y ningún `[deps]` pide: bash de verdad y el bus de sesión.
|
||||
"bash", "dbus",
|
||||
# ── LA PRIMERA APP DE USUARIO FINAL QUE COMPARTEN LOS CUATRO ESCRITORIOS ──────────────────────
|
||||
@@ -351,6 +383,14 @@ paquetes = [
|
||||
# Ninguna receta depende de una fuente ni de un mapa de teclado para COMPILAR, de modo que la
|
||||
# clausura no puede alcanzarlos por más aristas que siga. Si no están acá, no están.
|
||||
"dejavu-fonts", # sin UNA fuente, foot muere con «monospace::size=8: failed to match font»
|
||||
# `dejavu-fonts-nerd` es la MISMA DejaVu Sans Mono parcheada con Nerd Fonts (~10.000 glifos de
|
||||
# iconos: Powerline, Font Awesome, Devicons…) que usan starship, lsd, eza, neovim y las
|
||||
# statuslines; sin ellos dibujan cuadraditos. Se AÑADE, no reemplaza: la licencia de Bitstream
|
||||
# Vera obliga a renombrar una fuente modificada, así que la parcheada se llama
|
||||
# «DejaVuSansM Nerd Font Mono» y NO puede responder a «DejaVu Sans Mono» — sustituirla rompería
|
||||
# a todo lo que la pide por nombre, empezando por foot. Se enchufa por fontconfig: su
|
||||
# `59-nerd-monospace.conf` hace que el alias `monospace` la prefiera. Ver su receta.
|
||||
"dejavu-fonts-nerd",
|
||||
"xkeyboard-config", # sin datos XKB: «xkbcommon: ERROR: failed to add default include path
|
||||
# /usr/share/X11/xkb», y sway no completa el seat
|
||||
# ── LAS TRES `.so` QUE sway PIDE Y EL CORPUS SÓLO PRODUCE COMO `.a` ─────────────────────────
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
# dejavu-fonts-nerd 3.5.1 — DejaVu Sans Mono parcheada con Nerd Fonts: ~10.000 glifos de iconos
|
||||
# (Powerline, Font Awesome, Devicons, Material, Octicons, Weather…) que usan starship, lsd, eza,
|
||||
# neovim, las statuslines y media herramienta moderna de terminal. Sin ellos esas apps dibujan
|
||||
# cuadraditos.
|
||||
#
|
||||
# ══ SE AÑADE, NO REEMPLAZA — Y NO ES PRUDENCIA, ES LA LICENCIA ═════════════════════════════════
|
||||
# La tentación es «cambiemos DejaVu por la nerdeada y listo». No se puede, y el motivo está en el
|
||||
# `LICENSE.txt` del propio tarball: la licencia de Bitstream Vera dice que una fuente modificada
|
||||
# **sólo puede distribuirse SI SE LA RENOMBRA**. Por eso upstream la llama `DejaVuSansM Nerd Font`
|
||||
# y no `DejaVu Sans Mono` — leído en el `name` de la TTF, no supuesto:
|
||||
#
|
||||
# familia(1) = DejaVuSansM Nerd Font Mono postscript(6) = DejaVuSansMNFM
|
||||
#
|
||||
# ⇒ **una fuente nerdeada NO puede responder al nombre de la original.** Si se sustituyera, todo lo
|
||||
# que pide «DejaVu Sans Mono» por nombre dejaría de encontrarla, empezando por `foot`, que ya murió
|
||||
# una vez con `monospace::size=8: failed to match font` (ver el perfil `escritorio-sway`).
|
||||
# Por eso conviven: `dejavu-fonts` sigue siendo la familia con su nombre de siempre, y ésta se
|
||||
# enchufa por fontconfig, que es el mecanismo que existe justamente para esto.
|
||||
#
|
||||
# ══ SÓLO LA MONOESPACIADA, Y SÓLO UNA DE LAS TRES VARIANTES ════════════════════════════════════
|
||||
# «Que todas las fuentes estén nerdeadas» no se puede cumplir al pie de la letra y conviene saber
|
||||
# por qué: **upstream sólo publica parcheada la MONOESPACIADA**. No existe una DejaVu Sans ni una
|
||||
# DejaVu Serif con iconos, y tampoco tendría sentido — los glifos de Nerd Fonts son para terminal,
|
||||
# editor y statusline; en una fuente de interfaz proporcional no los pide nadie.
|
||||
#
|
||||
# Y de la mono, el tarball trae TRES variantes que son los mismos glifos con distinto ancho de
|
||||
# avance de los iconos: `NerdFont` (doble ancho), `NerdFontMono` (ancho simple) y `NerdFontPropo`
|
||||
# (proporcional). Instalar las doce cuesta **32 MB**; instalar sólo las cuatro de `NerdFontMono`
|
||||
# cuesta **11 MB**. Se quedan las `Mono`, que son las correctas para una rejilla de terminal —
|
||||
# un icono de doble ancho descuadra la cuadrícula. Para comparar: la familia DejaVu ENTERA
|
||||
# (Sans + Serif + Mono, 22 ficheros) son 9,8 MB.
|
||||
#
|
||||
# ══ ⚠ LA LICENCIA NECESITA UNA PASADA HUMANA ANTES DE `hammer pack` ════════════════════════════
|
||||
# El `LICENSE.txt` que viene en el tarball cubre **sólo DejaVu/Bitstream Vera** y no dice ni una
|
||||
# palabra de los ~10 conjuntos de iconos IMPORTADOS, que tienen licencias propias y distintas
|
||||
# (Font Awesome es CC-BY-4.0, Octicons MIT, Material Design Icons OFL, Powerline MIT…). O sea que
|
||||
# el artefacto es un derivado multi-licencia y el fichero que lo acompaña lo subrepresenta.
|
||||
# El campo de abajo dice lo que está DOCUMENTADO en la fuente, no el conjunto real, y por eso se
|
||||
# deja anotado acá en vez de inventar una cadena SPDX: el campo `license` NO SE ADIVINA (y está
|
||||
# fuera de `hash_inputs`, así que corregirlo después no re-hashea nada).
|
||||
#
|
||||
# ══ CÓMO SE ENCHUFA: fontconfig, no renombrado ═════════════════════════════════════════════════
|
||||
# Se instala un `/etc/fonts/conf.d/59-nerd-monospace.conf` que hace que el alias `monospace`
|
||||
# PREFIERA la nerd. `fonts.conf` incluye `conf.d` (leído del artefacto de fontconfig, no supuesto).
|
||||
# Efecto: las terminales y todo lo que pide «monospace» —que es lo normal— se llevan los iconos,
|
||||
# y quien pida «DejaVu Sans Mono» por nombre sigue recibiendo la original, intacta.
|
||||
#
|
||||
# ⚠ **EL NÚMERO 59 ESTÁ MEDIDO, NO ELEGIDO.** fontconfig carga `conf.d` en orden alfabético y un
|
||||
# `<prefer>` que llega ANTES gana la cabeza de la lista. El fontconfig de esta distro trae
|
||||
# `60-latin.conf`, que ya prefiere `Noto Sans Mono, DejaVu Sans Mono, Inconsolata…` para
|
||||
# `monospace`. Con el fichero en `60-nerd-monospace.conf` —que ordena DESPUÉS de `60-latin.conf`—
|
||||
# `fc-match monospace` seguía devolviendo `DejaVu Sans Mono`: la conf estaba instalada y era
|
||||
# INERTE. Comprobado montando el `conf.d` real del artefacto de fontconfig y corriendo `fc-match`:
|
||||
#
|
||||
# 60-nerd-monospace.conf → DejaVu Sans Mono (pierde)
|
||||
# 59-nerd-monospace.conf → DejaVuSansM Nerd Font Mono (gana)
|
||||
#
|
||||
# `45-latin.conf` también menciona monospace pero usa `<default>`, no `<prefer>`, así que no compite.
|
||||
# Es el mismo modo de fallar que el plugin de PipeWire para ALSA: instalado y sin que lo use nadie.
|
||||
name = "dejavu-fonts-nerd"
|
||||
version = "3.5.1"
|
||||
# Sólo lo documentado en el LICENSE.txt del tarball. Ver el ⚠ de arriba: el conjunto real incluye
|
||||
# las licencias de los iconos importados, que upstream no enumera.
|
||||
license = "Bitstream-Vera"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/ryanoasis/nerd-fonts/releases/download/v3.5.1/DejaVuSansMono.tar.xz"
|
||||
sha256 = "9d3f2d60faa790b101903c2984b89c11397fc63b9ce43f2dcd25ffed4fb44e5f"
|
||||
# ⚠ `strip_components = 0` NO ES COSMÉTICO. El default de hammer es 1, pensado para el tarball
|
||||
# normal que extrae a `<nombre>-<version>/`. **Éste es PLANO**: los `.ttf` están en la raíz del
|
||||
# archivo, sin directorio contenedor. Con el default, `tar --strip-components 1` se come el único
|
||||
# nivel que hay y **el árbol de fuentes queda VACÍO** — y el build no se detiene ahí: sigue a las
|
||||
# fases y falla más tarde, en el `cp`, con un mensaje que no menciona la extracción. Es la misma
|
||||
# figura de siempre: el vacío se lee como presencia hasta que algo tropieza con él.
|
||||
strip_components = 0
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "dynamic"
|
||||
|
||||
[build.phases]
|
||||
configure = "true"
|
||||
compile = "true"
|
||||
install = '''
|
||||
set -e
|
||||
mkdir -p /out/usr/share/fonts/dejavu-nerd /out/etc/fonts/conf.d
|
||||
# Sólo la variante Mono: ver la cabecera (las otras dos son los mismos glifos con otro avance).
|
||||
cp DejaVuSansMNerdFontMono-*.ttf /out/usr/share/fonts/dejavu-nerd/
|
||||
cp LICENSE.txt /out/usr/share/fonts/dejavu-nerd/
|
||||
cat > /out/etc/fonts/conf.d/59-nerd-monospace.conf <<'CONF'
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||
<!-- Hace que `monospace` prefiera la DejaVu parcheada con Nerd Fonts, para que las terminales y
|
||||
las apps de TUI tengan los glifos de iconos. NO renombra ni sustituye: quien pida
|
||||
«DejaVu Sans Mono» por nombre sigue recibiendo la original. Ver recipes/dejavu-fonts-nerd.toml -->
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer><family>DejaVuSansM Nerd Font Mono</family></prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
CONF
|
||||
# Un `cp` que no copia nada sale 0 si el glob no casa y el artefacto queda VACÍO: se comprueba.
|
||||
test "$(ls /out/usr/share/fonts/dejavu-nerd/*.ttf | wc -l)" = "4" || {
|
||||
echo "ERROR: se esperaban 4 TTF de la variante Mono" >&2; ls -l /out/usr/share/fonts/dejavu-nerd >&2; exit 1
|
||||
}
|
||||
'''
|
||||
|
||||
[deps]
|
||||
build = []
|
||||
@@ -0,0 +1,35 @@
|
||||
# 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 = []
|
||||
@@ -1,22 +0,0 @@
|
||||
# dejavu-fonts 2.37 — fuentes TTF. Qt ya no trae fuentes ("QFontDatabase: Cannot find font directory");
|
||||
# sin ellas el escritorio renderiza sin texto legible. Data-only: copia los .ttf a /usr/share/fonts.
|
||||
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 = []
|
||||
@@ -1,22 +0,0 @@
|
||||
# dejavu-fonts 2.37 — fuentes TTF. Qt ya no trae fuentes ("QFontDatabase: Cannot find font directory");
|
||||
# sin ellas el escritorio renderiza sin texto legible. Data-only: copia los .ttf a /usr/share/fonts.
|
||||
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 = []
|
||||
@@ -1,22 +0,0 @@
|
||||
# dejavu-fonts 2.37 — fuentes TTF. Qt ya no trae fuentes ("QFontDatabase: Cannot find font directory");
|
||||
# sin ellas el escritorio renderiza sin texto legible. Data-only: copia los .ttf a /usr/share/fonts.
|
||||
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 = []
|
||||
Reference in New Issue
Block a user