catálogo objetivo P2: estado wanted + membresía de perfil en el grafo

El grafo cruza ahora el corpus con el manifiesto de objetivo:

· estado `wanted` — una raíz declarada sin receta se materializa como nodo de
  frontera. Se crea ANTES de buscar huérfanas a propósito: un objetivo declarado
  no es una arista colgando, así `--check` conserva su significado (verificado:
  exit 0, grafo CIERRA, topo OK). `wanted` ≠ `unhashable`.
· campo `perfiles[]` por nodo — qué imágenes lo alcanzan desde sus raíces.
· bloque `by_profile` — el "cuánto falta", POR IMAGEN.

Primeros números, derivados de raíces y no de listas a mano:
   base               51/51   listo
   cli                74/74   listo
   escritorio-mirada  27/31   (falta libinput, mesa-swrast, mirada-{compositor,greeter})
   escritorio-kde     85/162  faltan 77   ← de 7 raíces, antes ilegible
   674 recetas no las alcanza NINGUNA imagen (catálogo, no distro)

La clausura es COTA INFERIOR mientras haya nodos `wanted`: sus deps no se
conocen hasta construirlos (o sembrarlas, P3). Está documentado en el header.

`totals.recipes` sigue contando sólo recetas con fichero (los consumidores lo
leen como tamaño del corpus); `totals.nodes` incluye la frontera. La vista HTML
regenera sin cambios de contrato.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-22 17:43:40 -04:00
co-authored by Claude Opus 4.8
parent c5ae42b92e
commit a27d9a94a4
5 changed files with 4930 additions and 2755 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+75 -250
View File
@@ -113,33 +113,33 @@ footer .mono{color:var(--ink)}
<div class="wrap">
<header>
<h1>estado del build <span class="mark">·</span> <span class="mono">hammer</span></h1>
<div class="sub">764 recetas · grafo cierra sin ciclos · grafo cerrado · <span class="mono">2026-07-17 17:27 UTC</span></div>
<div class="sub">768 recetas · grafo cierra sin ciclos · grafo cerrado · <span class="mono">2026-07-22 21:43 UTC</span></div>
</header>
<section>
<p class="eyebrow">avance del corpus</p>
<div class="progress"><span class="seg s-sealed" style="width:93.32460732984293%" title="sellado al día: 713"></span><span class="seg s-debt" style="width:5.628272251308901%" title="deuda de rebuild: 43"></span><span class="seg s-never" style="width:1.0471204188481675%" title="nunca construida: 8"></span></div>
<div class="progress"><span class="seg s-sealed" style="width:97.91666666666667%" title="sellado al día: 752"></span><span class="seg s-debt" style="width:1.8229166666666667%" title="deuda de rebuild: 14"></span><span class="seg s-never" style="width:0.2604166666666667%" title="nunca construida: 2"></span></div>
<div class="legend">
<span><span class="k s-sealed"></span><b>713</b> sellado al día</span>
<span><span class="k s-debt"></span><b>43</b> deuda de rebuild</span>
<span><span class="k s-never"></span><b>8</b> nunca construida</span>
<span><span class="k s-sealed"></span><b>752</b> sellado al día</span>
<span><span class="k s-debt"></span><b>14</b> deuda de rebuild</span>
<span><span class="k s-never"></span><b>2</b> nunca construida</span>
</div>
</section>
<section>
<div class="tiles"><div class="tile s-sealed">
<div class="tile-n">713</div>
<div class="tile-n">752</div>
<div class="tile-l">sellado al día</div>
<div class="tile-p">93.3%</div>
<div class="tile-p">97.9%</div>
</div><div class="tile s-debt">
<div class="tile-n">43</div>
<div class="tile-n">14</div>
<div class="tile-l">deuda de rebuild</div>
<div class="tile-p">5.6%</div>
<div class="tile-p">1.8%</div>
</div><div class="tile s-never">
<div class="tile-n">8</div>
<div class="tile-n">2</div>
<div class="tile-l">nunca construida</div>
<div class="tile-p">1.0%</div>
<div class="tile-p">0.3%</div>
</div><div class="tile s-unhashable">
<div class="tile-n">0</div>
<div class="tile-l">ilegible</div>
@@ -152,33 +152,33 @@ footer .mono{color:var(--ink)}
<div class="cls-grid"><div class="cls">
<div class="cls-head"><span class="cls-name">Go</span>
<span class="cls-tot">362</span></div>
<div class="bar"><span class="seg s-sealed" style="width:98.61878453038673%"></span><span class="seg s-debt" style="width:0.27624309392265195%"></span><span class="seg s-never" style="width:1.1049723756906078%"></span></div>
<div class="cls-foot"><span class="ok">357 al día</span>
<span class="warn">5 en deuda</span></div>
<div class="bar"><span class="seg s-sealed" style="width:100.0%"></span></div>
<div class="cls-foot"><span class="ok">362 al día</span>
<span class="muted">0 en deuda</span></div>
</div><div class="cls">
<div class="cls-head"><span class="cls-name">Rust</span>
<span class="cls-tot">226</span></div>
<div class="bar"><span class="seg s-sealed" style="width:93.36283185840708%"></span><span class="seg s-debt" style="width:5.752212389380531%"></span><span class="seg s-never" style="width:0.8849557522123894%"></span></div>
<div class="cls-foot"><span class="ok">211 al día</span>
<span class="warn">15 en deuda</span></div>
<div class="bar"><span class="seg s-sealed" style="width:99.5575221238938%"></span><span class="seg s-debt" style="width:0.4424778761061947%"></span></div>
<div class="cls-foot"><span class="ok">225 al día</span>
<span class="warn">1 en deuda</span></div>
</div><div class="cls">
<div class="cls-head"><span class="cls-name">C</span>
<span class="cls-tot">141</span></div>
<div class="bar"><span class="seg s-sealed" style="width:95.0354609929078%"></span><span class="seg s-debt" style="width:3.5460992907801416%"></span><span class="seg s-never" style="width:1.4184397163120568%"></span></div>
<div class="cls-foot"><span class="ok">134 al día</span>
<span class="warn">7 en deuda</span></div>
<span class="cls-tot">143</span></div>
<div class="bar"><span class="seg s-sealed" style="width:97.9020979020979%"></span><span class="seg s-debt" style="width:0.6993006993006993%"></span><span class="seg s-never" style="width:1.3986013986013985%"></span></div>
<div class="cls-foot"><span class="ok">140 al día</span>
<span class="warn">3 en deuda</span></div>
</div><div class="cls">
<div class="cls-head"><span class="cls-name">GUI</span>
<span class="cls-tot">30</span></div>
<div class="bar"><span class="seg s-sealed" style="width:33.333333333333336%"></span><span class="seg s-debt" style="width:66.66666666666667%"></span></div>
<div class="cls-foot"><span class="ok">10 al día</span>
<span class="warn">20 en deuda</span></div>
<span class="cls-tot">31</span></div>
<div class="bar"><span class="seg s-sealed" style="width:61.29032258064516%"></span><span class="seg s-debt" style="width:38.70967741935484%"></span></div>
<div class="cls-foot"><span class="ok">19 al día</span>
<span class="warn">12 en deuda</span></div>
</div><div class="cls">
<div class="cls-head"><span class="cls-name">kernel</span>
<span class="cls-tot">5</span></div>
<div class="bar"><span class="seg s-sealed" style="width:20.0%"></span><span class="seg s-debt" style="width:80.0%"></span></div>
<div class="cls-foot"><span class="ok">1 al día</span>
<span class="warn">4 en deuda</span></div>
<span class="cls-tot">6</span></div>
<div class="bar"><span class="seg s-sealed" style="width:100.0%"></span></div>
<div class="cls-foot"><span class="ok">6 al día</span>
<span class="muted">0 en deuda</span></div>
</div></div>
</section>
@@ -188,271 +188,96 @@ footer .mono{color:var(--ink)}
<b style="color:var(--sealed)">lista</b> tiene todas sus deps al día ⇒ se puede construir ya;
el pastilla <span class="impact">↑N</span> es cuántas otras en deuda desbloquea (ordenadas por
ahí: construí primero las de más impacto). Una <b style="color:var(--debt)">espera N</b> depende
de N recetas que también están en deuda. 38 listas ahora.</p>
de N recetas que también están en deuda. 8 listas ahora.</p>
<div class="controls">
<button class="fbtn" data-cls="all" aria-pressed="true">todas</button><button class="fbtn" data-cls="go" aria-pressed="false">Go (5)</button><button class="fbtn" data-cls="rust" aria-pressed="false">Rust (15)</button><button class="fbtn" data-cls="c" aria-pressed="false">C (7)</button><button class="fbtn" data-cls="gui" aria-pressed="false">GUI (20)</button><button class="fbtn" data-cls="kernel" aria-pressed="false">kernel (4)</button>
<button class="fbtn" data-cls="all" aria-pressed="true">todas</button><button class="fbtn" data-cls="rust" aria-pressed="false">Rust (1)</button><button class="fbtn" data-cls="c" aria-pressed="false">C (3)</button><button class="fbtn" data-cls="gui" aria-pressed="false">GUI (12)</button>
<button class="fbtn" id="ready" data-ready aria-pressed="false">sólo listas</button>
<input id="q" placeholder="buscar receta…" spellcheck="false" aria-label="buscar receta">
<span class="count" id="count">51 en deuda</span>
<span class="count" id="count">16 en deuda</span>
</div>
<div class="tbl-wrap">
<table>
<thead><tr><th>receta</th><th>clase</th><th>estado</th><th>deps de build</th></tr></thead>
<tbody><tr class="drow" data-cls="gui" data-ready="1" data-name="libxkbcommon" data-unblocks="9">
<td class="c-name"><span class="s-dot s-debt"></span>libxkbcommon <span class="ver">1.7.0</span></td>
<tbody><tr class="drow" data-cls="gui" data-ready="1" data-name="gtk4" data-unblocks="6">
<td class="c-name"><span class="s-dot s-debt"></span>gtk4 <span class="ver">4.18.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 9 recetas en deuda">9</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">bison</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="cairo" data-unblocks="8">
<td class="c-name"><span class="s-dot s-debt"></span>cairo <span class="ver">1.18.4</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 6 recetas en deuda">6</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="fcft" data-unblocks="1">
<td class="c-name"><span class="s-dot s-debt"></span>fcft <span class="ver">3.3.3</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 8 recetas en deuda">8</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="gdk-pixbuf" data-unblocks="7">
<td class="c-name"><span class="s-dot s-debt"></span>gdk-pixbuf <span class="ver">2.44.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 7 recetas en deuda">↑7</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="graphene" data-unblocks="7">
<td class="c-name"><span class="s-dot s-debt"></span>graphene <span class="ver">1.10.8</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 7 recetas en deuda">↑7</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="libepoxy" data-unblocks="7">
<td class="c-name"><span class="s-dot s-debt"></span>libepoxy <span class="ver">1.5.10</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 7 recetas en deuda">↑7</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="c" data-ready="1" data-name="libxmlb" data-unblocks="5">
<td class="c-name"><span class="s-dot s-debt"></span>libxmlb <span class="ver">0.3.22</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 5 recetas en deuda">↑5</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="tllist" data-unblocks="2">
<td class="c-name"><span class="s-dot s-debt"></span>tllist <span class="ver">1.1.0</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 2 recetas en deuda">↑2</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
</tr><tr class="drow" data-cls="kernel" data-ready="1" data-name="linux-pam" data-unblocks="2">
<td class="c-name"><span class="s-dot s-debt"></span>linux-pam <span class="ver">1.6.1</span></td>
<td class="c-cls"><span class="tag t-kernel">kernel</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 2 recetas en deuda">↑2</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">make</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 1 recetas en deuda">1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">tllist</span><span class="chip s-sealed" title="sellado al día">utf8proc</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="libinput" data-unblocks="1">
<td class="c-name"><span class="s-dot s-debt"></span>libinput <span class="ver">1.27.1</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 1 recetas en deuda">↑1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">libudev-zero</span><span class="chip s-sealed" title="sellado al día">libevdev</span><span class="chip s-sealed" title="sellado al día">mtdev</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="seatd" data-unblocks="1">
<td class="c-name"><span class="s-dot s-debt"></span>seatd <span class="ver">0.9.3</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span> <span class="impact" title="desbloquea 1 recetas en deuda">↑1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
</tr><tr class="drow" data-cls="c" data-ready="1" data-name="cargo-audit" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>cargo-audit <span class="ver">0.22.1</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="c" data-ready="1" data-name="dwarves" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>dwarves <span class="ver">1.30</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">busybox</span><span class="chip s-sealed" title="sellado al día">make</span><span class="chip s-sealed" title="sellado al día">cmake</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="c" data-ready="1" data-name="git-absorb" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>git-absorb <span class="ver">0.9.0</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="c" data-ready="1" data-name="llimphi-counter" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>llimphi-counter <span class="ver">0.1.0</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip empty">sin deps de build</span></td>
</tr><tr class="drow" data-cls="c" data-ready="1" data-name="zellij" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>zellij <span class="ver">0.44.3</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="mesa-llvmpipe" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>mesa-llvmpipe <span class="ver">24.0.9</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="go" data-ready="1" data-name="cvemap" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>cvemap <span class="ver">2.0.1</span></td>
<td class="c-cls"><span class="tag t-go">Go</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
</tr><tr class="drow" data-cls="go" data-ready="1" data-name="gocryptfs" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>gocryptfs <span class="ver">2.6.1</span></td>
<td class="c-cls"><span class="tag t-go">Go</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
</tr><tr class="drow" data-cls="go" data-ready="1" data-name="prometheus-blackbox-exporter" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>prometheus-blackbox-exporter <span class="ver">0.28.0</span></td>
<td class="c-cls"><span class="tag t-go">Go</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
</tr><tr class="drow" data-cls="go" data-ready="1" data-name="prometheus-node-exporter" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>prometheus-node-exporter <span class="ver">1.11.1</span></td>
<td class="c-cls"><span class="tag t-go">Go</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
</tr><tr class="drow" data-cls="go" data-ready="1" data-name="regctl" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>regctl <span class="ver">0.11.3</span></td>
<td class="c-cls"><span class="tag t-go">Go</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">go</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">llvm18</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">mako</span><span class="chip s-sealed" title="sellado al día">markupsafe</span><span class="chip s-sealed" title="sellado al día">packaging</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="1" data-name="mesa-swrast" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>mesa-swrast <span class="ver">24.0.9</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">mako</span><span class="chip s-sealed" title="sellado al día">markupsafe</span><span class="chip s-sealed" title="sellado al día">packaging</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span></td>
</tr><tr class="drow" data-cls="kernel" data-ready="1" data-name="linux" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>linux <span class="ver">6.16.12</span></td>
<td class="c-cls"><span class="tag t-kernel">kernel</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">m4</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">busybox</span><span class="chip s-sealed" title="sellado al día">make</span></td>
</tr><tr class="drow" data-cls="kernel" data-ready="1" data-name="linux-generic" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>linux-generic <span class="ver">7.1.2</span></td>
<td class="c-cls"><span class="tag t-kernel">kernel</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">m4</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">make</span></td>
</tr><tr class="drow" data-cls="kernel" data-ready="1" data-name="linux-metal" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>linux-metal <span class="ver">6.16.12</span></td>
<td class="c-cls"><span class="tag t-kernel">kernel</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">flex</span><span class="chip s-sealed" title="sellado al día">bison</span><span class="chip s-sealed" title="sellado al día">m4</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">elfutils</span><span class="chip s-sealed" title="sellado al día">make</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="amp" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>amp <span class="ver">0.7.1</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="bob-nvim" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>bob-nvim <span class="ver">4.1.7</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip empty">sin deps de build</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="broot" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>broot <span class="ver">1.57.0</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="cargo-cache" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>cargo-cache <span class="ver">0.8.3</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="cargo-generate" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>cargo-generate <span class="ver">0.23.9</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="cargo-outdated" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>cargo-outdated <span class="ver">0.19.0</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="cargo-udeps" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>cargo-udeps <span class="ver">0.1.61</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="delta" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>delta <span class="ver">0.19.2</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="dust" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>dust <span class="ver">1.2.4</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip empty">sin deps de build</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="gitui" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>gitui <span class="ver">0.28.1</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="hurl" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>hurl <span class="ver">8.0.1</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">libxml2</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="monolith" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>monolith <span class="ver">2.10.1</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="nu" data-unblocks="0">
<td class="c-name"><span class="s-dot s-never"></span>nu <span class="ver">0.104.1</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="rink" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>rink <span class="ver">0.9.0</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">openssl</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="pango" data-unblocks="7">
<td class="c-name"><span class="s-dot s-debt"></span>pango <span class="ver">1.57.1</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="appstream" data-unblocks="4">
<td class="c-name"><span class="s-dot s-debt"></span>appstream <span class="ver">1.0.5</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">gperf</span><span class="chip s-sealed" title="sellado al día">gettext-tiny</span><span class="chip s-sealed" title="sellado al día">itstool</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="fcft" data-unblocks="1">
<td class="c-name"><span class="s-dot s-debt"></span>fcft <span class="ver">3.3.3</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">tllist</span><span class="chip s-sealed" title="sellado al día">utf8proc</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
</tr><tr class="drow" data-cls="rust" data-ready="0" data-name="mirada-greeter" data-unblocks="0">
</tr><tr class="drow" data-cls="rust" data-ready="1" data-name="mirada-greeter" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>mirada-greeter <span class="ver">0.0.1</span></td>
<td class="c-cls"><span class="tag t-rust">Rust</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">mesa</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">linux-pam</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="foot" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>foot <span class="ver">1.27.0</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 3</span></td>
<td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">fcft</span><span class="chip s-debt" title="deuda de rebuild">tllist</span><span class="chip s-sealed" title="sellado al día">utf8proc</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="mirada-compositor" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>mirada-compositor <span class="ver">0.0.1</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 4</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">mesa</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-debt" title="deuda de rebuild">seatd</span><span class="chip s-debt" title="deuda de rebuild">linux-pam</span><span class="chip s-debt" title="deuda de rebuild">libinput</span><span class="chip s-sealed" title="sellado al día">libudev-zero</span><span class="chip s-sealed" title="sellado al día">libevdev</span><span class="chip s-sealed" title="sellado al día">mtdev</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtk4" data-unblocks="6">
<td class="c-name"><span class="s-dot s-debt"></span>gtk4 <span class="ver">4.18.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 6</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtksourceview" data-unblocks="2">
<td class="c-name"><span class="s-dot s-debt"></span>gtksourceview <span class="ver">5.16.0</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 7</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">gettext-tiny</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtk4-hello" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>gtk4-hello <span class="ver">4.18.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 7</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
<td class="c-badge"><span class="ready">lista</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">mesa</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-pam</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="libadwaita" data-unblocks="3">
<td class="c-name"><span class="s-dot s-debt"></span>libadwaita <span class="ver">1.7.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 9</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">sassc</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">sassc</span><span class="chip s-sealed" title="sellado al día">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtksourceview" data-unblocks="2">
<td class="c-name"><span class="s-dot s-debt"></span>gtksourceview <span class="ver">5.16.0</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">gettext-tiny</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="foot" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>foot <span class="ver">1.27.0</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-debt" title="deuda de rebuild">fcft</span><span class="chip s-sealed" title="sellado al día">tllist</span><span class="chip s-sealed" title="sellado al día">utf8proc</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">ncurses</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">meson</span><span class="chip s-sealed" title="sellado al día">samurai</span><span class="chip s-sealed" title="sellado al día">python3</span><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-sealed" title="sellado al día">linux-headers</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="gtk4-hello" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>gtk4-hello <span class="ver">4.18.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="mirada-compositor" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>mirada-compositor <span class="ver">0.0.1</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 1</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">mesa</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">wayland-protocols</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">seatd</span><span class="chip s-sealed" title="sellado al día">linux-pam</span><span class="chip s-debt" title="deuda de rebuild">libinput</span><span class="chip s-sealed" title="sellado al día">libudev-zero</span><span class="chip s-sealed" title="sellado al día">libevdev</span><span class="chip s-sealed" title="sellado al día">mtdev</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">pkgconf</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="adwaita-hello" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>adwaita-hello <span class="ver">1.7.6</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 10</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
<td class="c-badge"><span class="blocked">espera 2</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-sealed" title="sellado al día">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="c" data-ready="0" data-name="hammer-edit" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>hammer-edit <span class="ver">1.0.0</span></td>
<td class="c-cls"><span class="tag t-c">C</span></td>
<td class="c-badge"><span class="blocked">espera 11</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtksourceview</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
<td class="c-badge"><span class="blocked">espera 3</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtksourceview</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-sealed" title="sellado al día">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr><tr class="drow" data-cls="gui" data-ready="0" data-name="sourceview-hello" data-unblocks="0">
<td class="c-name"><span class="s-dot s-debt"></span>sourceview-hello <span class="ver">5.16.0</span></td>
<td class="c-cls"><span class="tag t-gui">GUI</span></td>
<td class="c-badge"><span class="blocked">espera 11</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtksourceview</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-debt" title="deuda de rebuild">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-debt" title="deuda de rebuild">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-debt" title="deuda de rebuild">pango</span><span class="chip s-debt" title="deuda de rebuild">gdk-pixbuf</span><span class="chip s-debt" title="deuda de rebuild">cairo</span><span class="chip s-debt" title="deuda de rebuild">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-debt" title="deuda de rebuild">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-debt" title="deuda de rebuild">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
<td class="c-badge"><span class="blocked">espera 3</span></td>
<td class="c-deps"><span class="chip s-sealed" title="sellado al día">pkgconf</span><span class="chip s-debt" title="deuda de rebuild">gtksourceview</span><span class="chip s-debt" title="deuda de rebuild">libadwaita</span><span class="chip s-sealed" title="sellado al día">appstream</span><span class="chip s-sealed" title="sellado al día">libyaml</span><span class="chip s-sealed" title="sellado al día">curl</span><span class="chip s-sealed" title="sellado al día">openssl</span><span class="chip s-sealed" title="sellado al día">libxmlb</span><span class="chip s-sealed" title="sellado al día">libxml2</span><span class="chip s-sealed" title="sellado al día">zstd</span><span class="chip s-debt" title="deuda de rebuild">gtk4</span><span class="chip s-sealed" title="sellado al día">pango</span><span class="chip s-sealed" title="sellado al día">gdk-pixbuf</span><span class="chip s-sealed" title="sellado al día">cairo</span><span class="chip s-sealed" title="sellado al día">graphene</span><span class="chip s-sealed" title="sellado al día">glib</span><span class="chip s-sealed" title="sellado al día">harfbuzz</span><span class="chip s-sealed" title="sellado al día">fribidi</span><span class="chip s-sealed" title="sellado al día">fontconfig</span><span class="chip s-sealed" title="sellado al día">freetype</span><span class="chip s-sealed" title="sellado al día">pixman</span><span class="chip s-sealed" title="sellado al día">libpng</span><span class="chip s-sealed" title="sellado al día">expat</span><span class="chip s-sealed" title="sellado al día">libjpeg-turbo</span><span class="chip s-sealed" title="sellado al día">libtiff</span><span class="chip s-sealed" title="sellado al día">libepoxy</span><span class="chip s-sealed" title="sellado al día">wayland</span><span class="chip s-sealed" title="sellado al día">libxkbcommon</span><span class="chip s-sealed" title="sellado al día">libdrm</span><span class="chip s-sealed" title="sellado al día">pcre2</span><span class="chip s-sealed" title="sellado al día">libffi</span><span class="chip s-sealed" title="sellado al día">zlib</span><span class="chip s-sealed" title="sellado al día">mesa</span></td>
</tr></tbody>
</table>
</div>
+1806 -768
View File
File diff suppressed because it is too large Load Diff
+101 -10
View File
@@ -9,20 +9,38 @@
# Versionado: el `git diff` de ese fichero ES el avance entre dos corridas (qué se saldó, qué se
# rompió). La vista humana la arma `build-state-view.py` a partir del mismo JSON.
#
# NODO = receta: {name, class, link, compiler, deps[], hash, state}.
# state ∈ { sealed | debt | never | unhashable }
# NODO = receta: {name, class, link, compiler, deps[], hash, state, perfiles[]}.
# state ∈ { sealed | debt | never | unhashable | wanted }
# sealed — el artefacto del hash VIGENTE (el de la receta de hoy) está en el store. Al día.
# debt — hay sellados históricos pero NINGUNO es el vigente ⇒ la receta cambió, falta rebuild.
# never — no hay ningún sellado de esta receta en el store.
# unhashable — `hammer hash` falló (receta ilegible / dep rota). Un HUECO real del grafo.
# wanted — NO HAY RECETA: una imagen lo pide (docs/state/targets.toml) y no existe todavía.
# ARISTA = dep de build (name → dep). El grafo debe CERRAR: toda dep apunta a una receta del corpus.
#
# LA FRONTERA (2026-07-22, plan docs/plan-catalogo-objetivo.md). Hasta acá el grafo modelaba sólo lo
# que EXISTE, y por eso cerraba siempre: "¿cuánto falta?" no tenía respuesta porque el destino no
# estaba escrito en ningún lado. `targets.toml` lo escribe, y este script lo cruza con el corpus:
# · un objetivo sin receta se materializa como nodo `wanted` — está DECLARADO, así que no es una
# dep huérfana y el gate `--check` conserva su significado (arista colgando que nadie quiere).
# `wanted` ≠ `unhashable`: el primero es "no hay receta todavía", el segundo "hay receta rota".
# · cada nodo gana `perfiles[]`: qué imágenes lo alcanzan siguiendo las aristas desde las raíces.
# Responde "si rompo zlib, qué imágenes se caen" y —más incómodo— "qué recetas no las necesita
# ninguna imagen".
# · `by_profile` es el "cuánto falta", POR IMAGEN. Es una COTA INFERIOR mientras haya nodos
# `wanted`: no se conocen sus deps hasta construirlos (o hasta sembrarlas, P3 del plan), así que
# la clausura de un perfil crece a medida que la frontera se drena. Un número que converge es
# mejor que ningún número, pero no es el total final.
#
# Uso: scripts/build-state.py # regenera docs/state/build-state.json + resumen
# scripts/build-state.py --check # exit 1 si hay unhashable o deps huérfanas (gate CI)
# Env: HAMMER (def target/release/hammer), STORE (def ./store).
import json, os, subprocess, sys, glob, tomllib
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent))
import targets as targets_mod
ROOT = Path(__file__).resolve().parent.parent
os.chdir(ROOT)
HAMMER = os.environ.get("HAMMER", str(ROOT / "target/release/hammer"))
@@ -126,16 +144,61 @@ def toposort(nodes):
if indeg[m] == 0: q.append(m)
return order if len(order) == len(nodes) else None
def cargar_perfiles(colas_activas):
"""Perfiles del manifiesto cuyas raíces viven en una cola CARGADA (así un perfil de
`incoming-kde` no reporta raíces fantasma en la corrida del corpus). Degrada sin romper: si el
manifiesto falta o está mal, el grafo sale como siempre — este script lo corre el cron cada 30m
y no puede caerse por un TOML."""
try:
todos = targets_mod.load()
except FileNotFoundError:
print(" (sin docs/state/targets.toml — grafo sin perfiles)", file=sys.stderr)
return {}
except Exception as e:
print(f" ⚠ targets.toml inválido ({e}) — grafo sin perfiles", file=sys.stderr)
return {}
return {n: p for n, p in todos.items() if p["cola"] in colas_activas}
def clausura(raices, recs):
"""Nodos alcanzables desde `raices` siguiendo las aristas name→dep. Un nodo `wanted` CORTA la
exploración (no se conocen sus deps hasta construirlo): de ahí que la clausura sea cota inferior."""
vistos, pila = set(), list(raices)
while pila:
n = pila.pop()
if n in vistos or n not in recs:
continue
vistos.add(n)
pila.extend(recs[n].get("deps") or [])
return vistos
def main():
from collections import Counter
recs = load_recipes()
# OBJETIVO → FRONTERA. Toda raíz de un perfil sin receta entra como nodo `wanted`. Se hace ANTES
# de buscar huérfanas a propósito: un objetivo declarado no es una arista colgando.
colas = {"corpus"} | {os.path.basename(q) for q in EXTRA_QUEUES}
perfiles = cargar_perfiles(colas)
for pn, p in sorted(perfiles.items()):
for raiz in p["raices"]:
if raiz not in recs:
recs[raiz] = dict(path=None, wanted=True, iname=raiz, version=None, link=None,
compiler=None, deps=[], cls="wanted", queue=p["cola"])
orphans = set()
for n, r in recs.items():
for dep in r.get("deps", []):
if dep not in recs:
orphans.add(dep)
print(f"== {len(recs)} recetas; computando hash vigente (~{len(recs)*18//1000}s)…", file=sys.stderr)
n_recetas = sum(1 for r in recs.values() if not r.get("wanted"))
print(f"== {n_recetas} recetas; computando hash vigente (~{n_recetas*18//1000}s)…", file=sys.stderr)
for n, r in recs.items():
# `wanted` no tiene fichero que hashear: es el objetivo, no una receta.
if r.get("wanted"):
r["hash"] = None; r["state"] = "wanted"; continue
if "parse_error" in r:
r["hash"] = None; r["state"] = "unhashable"; continue
h = vigente_hash(r["path"])
@@ -147,7 +210,8 @@ def main():
# Lectura ACCIONABLE del grafo topológico: para cada receta, qué deps la BLOQUEAN (están en
# deuda) y a cuántas otras en deuda DESBLOQUEA (la tienen como dep). Una receta en deuda sin
# bloqueadores es construible YA; ordenar las listas por `unblocks` da el orden que libera más.
DEBT_STATES = ("debt", "never", "unhashable")
# `wanted` cuenta como bloqueante: una imagen que depende de algo sin receta está trabada igual.
DEBT_STATES = ("debt", "never", "unhashable", "wanted")
for n, r in recs.items():
r["blocked_by"] = [d for d in r.get("deps", [])
if d in recs and recs[d]["state"] in DEBT_STATES]
@@ -156,7 +220,19 @@ def main():
r["unblocks"] = sum(1 for m, rm in recs.items()
if rm["state"] in DEBT_STATES and n in rm.get("deps", []))
from collections import Counter
# MEMBRESÍA DE PERFIL: qué imágenes alcanzan cada nodo. `perfiles: []` = no lo necesita ninguna
# imagen declarada (catálogo, no distro) — el dato incómodo que hasta ahora nadie medía.
for r in recs.values():
r["perfiles"] = []
by_profile = {}
for pn, p in sorted(perfiles.items()):
cl = clausura(p["raices"], recs)
for n in sorted(cl):
recs[n]["perfiles"].append(pn)
by_profile[pn] = dict(raices=len(p["raices"]), clausura=len(cl),
**Counter(recs[n]["state"] for n in cl))
sin_perfil = sum(1 for r in recs.values() if not r["perfiles"])
by_state = Counter(r["state"] for r in recs.values())
by_cls = Counter(r["cls"] for r in recs.values() if "cls" in r)
# deuda por clase: dónde están los huecos.
@@ -171,20 +247,25 @@ def main():
doc = dict(
schema="hammer-build-state/1",
totals=dict(recipes=len(recs), **by_state),
# `recipes` sigue contando SÓLO las que tienen fichero (los consumidores lo leen como el
# tamaño del corpus); `nodes` incluye la frontera `wanted`.
totals=dict(recipes=n_recetas, nodes=len(recs), **by_state),
by_class={k: by_cls[k] for k in sorted(by_cls)},
debt_by_class={k: debt_by_cls[k] for k in sorted(debt_by_cls)},
by_queue={q: dict(c) for q, c in sorted(by_queue.items())},
by_profile=by_profile,
sin_perfil=sin_perfil,
orphan_deps=sorted(orphans),
topo_ok=order is not None,
nodes={n: {k: v for k, v in r.items() if k != "path"} for n, r in sorted(recs.items())},
nodes={n: {k: v for k, v in r.items() if k not in ("path", "wanted")}
for n, r in sorted(recs.items())},
)
OUT.parent.mkdir(parents=True, exist_ok=True)
OUT.write_text(json.dumps(doc, indent=1, sort_keys=False) + "\n")
# Resumen humano a stdout.
print(f"\n== estado del corpus ({len(recs)} recetas) → {OUT.relative_to(ROOT)}")
for s in ("sealed", "debt", "never", "unhashable"):
print(f"\n== estado del corpus ({n_recetas} recetas) → {OUT.relative_to(ROOT)}")
for s in ("sealed", "debt", "never", "unhashable", "wanted"):
if by_state.get(s):
print(f" {s:11} {by_state[s]}")
if debt_by_cls:
@@ -193,11 +274,21 @@ def main():
for q, c in sorted(by_queue.items()):
print(f" cola {q:14} sellado={c.get('sealed',0):3} deuda={c.get('debt',0):3} "
f"nunca={c.get('never',0):2}")
print(f" grafo: {'CIERRA' if not orphans else f'{len(orphans)} deps huérfanas'} | "
if by_profile:
print("\n== objetivo por imagen (docs/state/targets.toml) — clausura = COTA INFERIOR")
for pn, c in by_profile.items():
falta = c.get("debt", 0) + c.get("never", 0) + c.get("unhashable", 0) + c.get("wanted", 0)
print(f" {pn:20} {c.get('sealed',0):3}/{c['clausura']:3} listo falta {falta:3}"
f" (raíces {c['raices']}"
+ (f", sin receta {c['wanted']}" if c.get("wanted") else "") + ")")
print(f" {sin_perfil} recetas no las alcanza ninguna imagen (catálogo, no distro)")
print(f"\n grafo: {'CIERRA' if not orphans else f'{len(orphans)} deps huérfanas'} | "
f"topo-sort: {'OK' if order else 'CICLO'}")
if orphans:
print(" huérfanas:", " ".join(sorted(orphans)))
# `wanted` NO es fallo: es trabajo declarado y pendiente. El gate sigue midiendo lo mismo que
# antes — aristas colgando, recetas rotas, ciclos.
if CHECK and (orphans or by_state.get("unhashable") or not order):
sys.exit(1)