Las cuatro no existían en NINGUNA cola (medido cruzando el grafo, no con grep).
Van al corpus y no a una cola porque OBS es una app que quieren las cuatro
imágenes, y una receta resuelve sibling-first y después el catálogo PADRE, nunca
una cola hermana.
Verificadas por CONTENIDO del artefacto, no por exit 0 (regla 3 del repo):
· uthash 5 cabeceras; no compila nada y la fase `compile` dice `true`
explícito, porque que una librería sea sólo cabeceras es un
hecho suyo, no un descuido de la receta.
· nlohmann-json pasa por CMake y no por un `cp` para que instale sus
nlohmann_jsonConfig/Targets.cmake: OBS hace find_package, y
copiar los .hpp a mano dejaría «está pero no lo encuentra».
· jansson libjansson.so.4.
· x264 libx264.so.165 + x264.pc, y `asm: yes` — con SIMD, que es la
lección que ffmpeg acaba de costar hoy.
⚠ jansson trajo su propia trampa: la perilla es JANSSON_BUILD_SHARED_LIBS, NO la
estándar BUILD_SHARED_LIBS de CMake (CMakeLists.txt:5, default OFF). Con la
estándar el build sale exit 0 y sella un artefacto con SÓLO libjansson.a — la
receta diciendo link="dynamic" y el artefacto estático. Se vio mirando usr/lib/
del artefacto, no el código de salida.
39 lines
1.6 KiB
TOML
39 lines
1.6 KiB
TOML
# uthash 2.3.0 — tablas hash, listas y arrays dinámicos como MACROS de C. Entra por OBS: `libobs`
|
|
# la usa para sus diccionarios internos.
|
|
#
|
|
# ══ NO COMPILA NADA, Y POR ESO LA FASE `compile` ES UN `true` ══════════════════════════════════
|
|
# uthash es SÓLO cabeceras (`src/*.h`): no hay librería, ni `.a`, ni `.so`, ni `.pc`. Un consumidor
|
|
# la usa con `#include <uthash.h>` y nada más. La receta se limita a copiar las cabeceras a
|
|
# `/usr/include`, que es exactamente lo que hace el `uthash-dev` de Alpine.
|
|
#
|
|
# El `compile = "true"` no es un placeholder olvidado: hammer exige las tres fases, y dejarlo vacío
|
|
# o ausente se lee peor que dejarlo explícito. Que una receta no compile nada es un hecho de la
|
|
# librería, no un descuido.
|
|
#
|
|
# `link` es INERTE acá (no hay nada que ligar) pero se declara igual porque entra en `hash_inputs`:
|
|
# omitirlo tomaría el default y ataría el hash a un default que puede cambiar.
|
|
#
|
|
# Fuente por commit (ADR 0006): `v2.3.0` es un tag LIGERO (una sola ref en `ls-remote`, sin `^{}`)
|
|
# ⇒ este sha ES el commit.
|
|
name = "uthash"
|
|
version = "2.3.0"
|
|
license = "BSD-1-Clause"
|
|
|
|
[source]
|
|
repo = "https://github.com/troydhanson/uthash.git"
|
|
commit = "e493aa90a2833b4655927598f169c31cfcdf7861"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
flags = []
|
|
|
|
[build.phases]
|
|
configure = "true"
|
|
compile = "true"
|
|
install = "mkdir -p /out/usr/include && cp src/uthash.h src/utlist.h src/utarray.h src/utstring.h src/utringbuffer.h /out/usr/include/"
|
|
|
|
[deps]
|
|
build = []
|