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…

⎇ 964a6931d27c2360787311eb1284ab5bab9bcfc7 recipes/incoming-kde/ffmpeg.toml TOML · 55 siq'ikuna · 1.9 KB Ñawpa willay ch'uya

kde/Plasma: spectacle SELLA — la CAPTURA DE PANTALLA (la app más cara de la campaña) 964a6931d · sergio ·

1# ffmpeg 7.1 — libavcodec/libavutil/libavformat/libavfilter (+swscale/swresample). Campaña KDE (ADR 0011):
2# **kpipewire** los exige los cuatro REQUIRED (`pkg_check_modules(AVCodec ... libavcodec REQUIRED)` etc.)
3# para KPipeWireRecord (grabar streams a fichero), y spectacle linkea K::KPipeWireRecord duro.
4#
5# ffmpeg NO usa autotools: trae su propio `configure` con --cc/--ar/--nm/--ranlib. Se le pasan wrappers de
6# UN SOLO TOKEN (`$PWD/.zwrap/*`): un `--ar="zig ar"` con espacio se ejecutaría como un binario único
7# (mismo gotcha que el AR de los crates `cc` en las recetas Rust).
8#
9# **--disable-autodetect** es clave para el determinismo: sin él, configure escanea el sandbox y activa
10# libs a discreción. Con él, ffmpeg queda auto-contenido (sus códecs nativos, sin x264/x265/vpx/etc.).
11# Sin programas (ffmpeg/ffplay/ffprobe) ni doc: kpipewire sólo consume las libs.
12name    = "ffmpeg"
13version = "7.1"
14
15[source]
16tarball = "https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz"
17sha256  = "40973d44970dbc83ef302b0609f2e74982be2d85916dd2ee7472d30678a7abe6"
18
19[build]
20compiler = "zig-cc"
21target   = "x86_64-linux-musl"
22link     = "dynamic"
23flags    = []
24
25[build.phases]
26configure = '''
27ZW="$PWD/.zwrap"; mkdir -p "$ZW"
28cat > "$ZW/cc" <<'W'
29#!/bin/sh
30exec /opt/zig/zig cc -mcpu=baseline "$@"
31W
32cat > "$ZW/cxx" <<'W'
33#!/bin/sh
34exec /opt/zig/zig c++ -mcpu=baseline "$@"
35W
36cat > "$ZW/ar" <<'W'
37#!/bin/sh
38exec /opt/zig/zig ar "$@"
39W
40cat > "$ZW/ranlib" <<'W'
41#!/bin/sh
42exec /opt/zig/zig ranlib "$@"
43W
44chmod +x "$ZW/cc" "$ZW/cxx" "$ZW/ar" "$ZW/ranlib"
45./configure --prefix=/usr \
46  --cc="$ZW/cc" --cxx="$ZW/cxx" --ar="$ZW/ar" --ranlib="$ZW/ranlib" \
47  --enable-shared --disable-static \
48  --disable-autodetect --disable-doc --disable-programs --disable-debug \
49  --disable-x86asm
50'''
51compile = 'make -j"$(nproc)"'
52install = "make DESTDIR=/out install"
53
54[deps]
55build = ["pkgconf", "zlib-shared"]