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.
36 lines
1.4 KiB
TOML
36 lines
1.4 KiB
TOML
# nlohmann-json 3.12.0 — JSON para C++ moderno, sólo cabeceras. Entra por OBS, que la usa en
|
|
# `libobs` y en varios plugins.
|
|
#
|
|
# Sólo cabeceras, pero SÍ pasa por CMake y no por un `cp`: el proyecto genera e instala
|
|
# `nlohmann_jsonConfig.cmake` + `nlohmann_jsonTargets.cmake`, y OBS los consume con
|
|
# `find_package(nlohmann_json REQUIRED)`. Copiar los `.hpp` a mano dejaría las cabeceras presentes y
|
|
# el `find_package` fallando — un «está pero no lo encuentra» que se diagnostica mal.
|
|
#
|
|
# `-DJSON_BuildTests=OFF` porque su default es ON **cuando es el proyecto raíz**, que es justo
|
|
# nuestro caso, y arrastra la descarga de un framework de test — red dentro del sandbox, que es
|
|
# exactamente lo que un build hermético no puede hacer.
|
|
#
|
|
# Fuente por commit (ADR 0006): `v3.12.0` es un tag ANOTADO ⇒ esto es el `^{}` pelado, no el sha del
|
|
# objeto tag.
|
|
name = "nlohmann-json"
|
|
version = "3.12.0"
|
|
license = "MIT"
|
|
|
|
[source]
|
|
repo = "https://github.com/nlohmann/json.git"
|
|
commit = "55f93686c01528224f448c19128836e7df245f72"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
flags = []
|
|
|
|
[build.phases]
|
|
configure = 'cmake -B build -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DJSON_BuildTests=OFF'
|
|
compile = 'cmake --build build'
|
|
install = 'DESTDIR=/out cmake --install build'
|
|
|
|
[deps]
|
|
build = ["cmake", "samurai", "pkgconf"]
|