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…
kde/Plasma: plasma-pa SELLA — el APPLET DE VOLUMEN, frente de AUDIO cerrado
1# pulseaudio 17.0 — CLIENTE de audio (libpulse.so + libpulse-mainloop-glib.so + libpulse-simple.so).
2# Campaña KDE (ADR 0011): pulseaudio-qt → plasma-pa (el applet de volumen) exige
3# `pkg_check_modules(LIBPULSE libpulse REQUIRED)` + `libpulse-mainloop-glib`.
4#
5# **-Ddaemon=false -Dclient=true**: se construye SÓLO la biblioteca cliente, no el servidor. Es lo correcto
6# para este escritorio: el servidor de audio previsto es PipeWire (que habla el protocolo PulseAudio); los
7# clientes igual linkean el libpulse de PulseAudio. Además evita todo el árbol de módulos del daemon
8# (alsa/bluez/jack/avahi/orc/fftw/webrtc-aec...).
9#
10# glib=enabled es OBLIGATORIO: sin él no hay libpulse-mainloop-glib, que plasma-pa exige. Lo habilita la
11# variante glib-shared (deuda Capa 0 saldada). dbus=enabled para el protocolo.
12name = "pulseaudio"
13version = "17.0"
14
15[source]
16tarball = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz"
17sha256 = "053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5"
18
19[build]
20compiler = "zig-cc"
21target = "x86_64-linux-musl"
22link = "dynamic"
23flags = []
24
25[build.phases]
26configure = '''
27# -Wl,--undefined-version: PulseAudio comparte UN map-file (version script) entre libpulse,
28# libpulse-simple y libpulse-mainloop-glib, así que al enlazar cada una el script asigna la versión
29# PULSE_0 a símbolos que viven en las OTRAS ("version script assignment of 'PULSE_0' to symbol
30# 'pa_glib_mainloop_new' failed: symbol not defined"). GNU ld sólo avisa; ld.lld (el de zig) lo trata como
31# ERROR desde lld 17. El flag restaura el comportamiento permisivo.
32PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release \
33 -Dc_link_args=-Wl,--undefined-version \
34 -Ddefault_library=shared \
35 -Ddaemon=false -Dclient=true \
36 -Dglib=enabled -Ddbus=enabled \
37 -Dtests=false -Ddoxygen=false -Dman=false -Dgcov=false \
38 -Dx11=disabled -Dalsa=disabled -Davahi=disabled -Dbluez5=disabled -Djack=disabled \
39 -Dlirc=disabled -Dorc=disabled -Dsoxr=disabled -Dsamplerate=disabled -Dspeex=disabled \
40 -Dgstreamer=disabled -Dgtk=disabled -Dgsettings=disabled -Dsystemd=disabled -Delogind=disabled \
41 -Dconsolekit=disabled -Dudev=disabled -Dopenssl=disabled -Dfftw=disabled -Dvalgrind=disabled \
42 -Doss-output=disabled -Dtcpwrap=disabled -Dwebrtc-aec=disabled -Dasyncns=disabled -Dhal-compat=false \
43 -Ddatabase=simple
44'''
45compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
46install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
47
48[deps]
49build = ["meson", "samurai", "python3", "pkgconf", "glib-shared", "pcre2-shared", "libffi",
50 "dbus", "expat", "zlib-shared", "gettext-tiny", "libsndfile", "libtool", "util-linux"]