tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Sutichaykuna

⎇ 4a2801331696245af7df3cccbbac5da68360bf98 recipes/x264.toml TOML · 51 siq'ikuna · 2.2 KB Ñawpa willay ch'uya

corpus: uthash, nlohmann-json, jansson y x264 — las 4 deps que a OBS le faltaban c2feb3eab · Sergio ·

1# x264 (rama stable, 2025) — codificador H.264. Entra por OBS: el plugin `obs-x264` hace
2# `find_package(Libx264 REQUIRED)` y `plugins/CMakeLists.txt` lo agrega SIN condicional, así que no
3# hay OBS sin esto.
4#
5# ══ NI TAGS NI RELEASES: SE PINEA UN COMMIT DE `stable` ════════════════════════════════════════
6# x264 no publica releases ni tags; upstream mueve `master` y `stable` y las distros pinean un
7# commit. Acá se pinea el de `stable`, que es la rama que upstream considera apta para consumo. El
8# sha lo vuelve inmutable, que es lo único que el ADR 0006 exige: la fuente tiene que ser la MISMA
9# mañana, no tiene que tener nombre bonito.
10#
11# ══ `configure` PROPIO, NO AUTOTOOLS ═══════════════════════════════════════════════════════════
12# El `configure` de x264 es un script escrito a mano: no acepta `--build/--host` ni las variables de
13# autotools, y toma el compilador por `--extra-cflags`/`CC`. Mismo caso que ffmpeg.
14#
15# `--disable-asm` NO se pone: nasm está en el corpus y un codificador sin SIMD es el error que
16# acabamos de pagar en ffmpeg. Se declara `nasm` en `[deps]` justamente para que el ensamblador esté
17# y la SIMD entre.
18#
19# `--disable-cli`: OBS consume la LIBRERÍA (`libx264.so` + `x264.h` + `x264.pc`); el binario `x264`
20# no lo usa nadie y sólo agrega superficie.
21name    = "x264"
22version = "0.165-stable"
23license = "GPL-2.0-or-later"
24
25[source]
26repo   = "https://code.videolan.org/videolan/x264.git"
27commit = "b35605ace3ddf7c1a5d67a2eb553f034aef41d55"
28
29[build]
30compiler = "zig-cc"
31target   = "x86_64-linux-musl"
32# DINÁMICO: quien la consume es `obs-x264.so`, un MÓDULO cargado por dlopen. Una x264 `.a` sin PIC
33# dentro de un `.so` es exactamente el cuadro de gdk-pixbuf.
34link  = "dynamic"
35flags = []
36
37[build.phases]
38configure = '''
39ZW="$PWD/.zwrap"; mkdir -p "$ZW"
40cat > "$ZW/cc" <<'W'
41#!/bin/sh
42exec hammer-zig-cc "$@"
43W
44chmod +x "$ZW/cc"
45CC="$ZW/cc" ./configure --prefix=/usr --enable-shared --disable-cli --disable-opencl
46'''
47compile = 'make -j"$(nproc)"'
48install = 'make DESTDIR=/out install'
49
50[deps]
51build = ["nasm", "pkgconf"]