gioser

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 815Rust 56Shell 37Markdown 291229 Definiciones

⎇ fe474dab636d4f43ea912ac0144e76bb83ba3717 recipes/incoming-cosmic/pulseaudio.toml TOML · 55 líneas · 3.9 KB Historia crudo

licencias: 994 de 1141 (87%) — cerradas las familias Qt, freedesktop, kernel.org y PyPI fe474dab6 · sergio ·

1# pulseaudio 17.0 — pero SÓLO las librerías cliente (libpulse, libpulse-simple,
2# libpulse-mainloop-glib). No el demonio de sonido.
3#
4# POR QUÉ ENTRA: gnome-shell incluye el subproyecto `gvc` (el control de volumen del panel) de forma
5# INCONDICIONAL — meson.build:256 lo llama sin `if`, y no hay opción para apagarlo — y gvc pide
6# `libpulse` y `libpulse-mainloop-glib` duros (subprojects/gvc/meson.build:58). Es la última
7# frontera de la cima y llega por el camino más indirecto de toda la campaña:
8# gnome-shell → gvc → libpulse → libsndfile.
9#
10# ── SÓLO CLIENTE, Y POR QUÉ ESO ES LA DECISIÓN CORRECTA ─────────────────────────────────────────
11# -Ddaemon=false -Dclient=true. Lo que gvc necesita es hablar el protocolo de PulseAudio, no
12# IMPLEMENTARLO: el demonio de sonido de esta distro es una decisión aparte y todavía abierta
13# (PulseAudio vs PipeWire), y construir el demonio acá la cerraría de prestado — además de arrastrar
14# alsa-lib, orc, speex, soxr y webrtc-audio-processing. Con sólo el cliente, el shell muestra y
15# mueve el volumen contra CUALQUIER servidor que hable el protocolo, incluido pipewire-pulse.
16#
17# -Dglib=enabled NO es opcional: `libpulse-mainloop-glib` es justamente la integración con el bucle
18# de eventos de GLib, y es la segunda de las dos .pc que pide gvc.
19#
20# sndfile sigue haciendo falta pese a -Ddaemon=false: `dependency('sndfile')` está en el top-level
21# del meson.build (:615) sin `required:` que la ablande. De ahí la receta libsndfile de esta cola,
22# que con --disable-external-libs queda autocontenida (una receta, no cinco).
23#
24# -Ddatabase=simple: el default es 'tdb' y arrastraría tdb entero. 'simple' es el backend interno.
25# Ni siquiera lo usa el cliente, pero el meson lo evalúa igual.
26#
27# --undefined-version: PulseAudio usa UN SOLO version-script (map-file) con la etiqueta PULSE_0 para
28# las tres librerías cliente, así que al enlazar libpulse.so el script nombra símbolos que viven en
29# libpulse-simple (pa_simple_new…) y en libpulse-mainloop-glib (pa_glib_mainloop_new…). GNU ld lo
30# tolera con un warning; lld lo trata como ERROR. Mismo flag y mismo motivo que en libtiff-shared.
31#
32# El resto de los `disabled` son backends del demonio y su ecosistema (alsa, bluez5, jack, avahi,
33# lirc, x11, orc, soxr, speex, fftw, openssl, systemd, udev, gtk, gsettings, webrtc-aec, tcpwrap,
34# asyncns) — cada uno una receta que no hay que autorar. -Delogind=disabled sigue la misma línea que
35# el resto de la onda: la C-ABI de logind se esquiva salvo en mutter.
36name    = "pulseaudio"
37version = "17.0"
38license = "LGPL-2.1-or-later"
39
40[source]
41tarball = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz"
42sha256  = "053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5"
43
44[build]
45compiler = "zig-cc"
46target   = "x86_64-linux-musl"
47link     = "dynamic"
48
49[build.phases]
50configure = "PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared -Ddaemon=false -Dclient=true -Dglib=enabled -Ddatabase=simple -Ddoxygen=false -Dman=false -Dtests=false -Dgcov=false -Dalsa=disabled -Dasyncns=disabled -Davahi=disabled -Dbluez5=disabled -Ddbus=disabled -Delogind=disabled -Dfftw=disabled -Dgsettings=disabled -Dgtk=disabled -Djack=disabled -Dlirc=disabled -Dopenssl=disabled -Dorc=disabled -Dsamplerate=disabled -Dsoxr=disabled -Dspeex=disabled -Dsystemd=disabled -Dtcpwrap=disabled -Dudev=disabled -Dwebrtc-aec=disabled -Dx11=disabled -Dc_args=-Wno-error=date-time -Dc_link_args=-Wl,--undefined-version"
51compile   = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
52install   = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
53
54[deps]
55build = ["meson", "samurai", "python3", "pkgconf", "gettext-tiny", "glib", "libsndfile", "libffi", "pcre2", "zlib-shared"]