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…
licencias: 994 de 1141 (87%) — cerradas las familias Qt, freedesktop, kernel.org y PyPI
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"
14license = "LGPL-2.1-or-later"
15
16[source]
17tarball = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz"
18sha256 = "053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5"
19
20[build]
21compiler = "zig-cc"
22target = "x86_64-linux-musl"
23link = "dynamic"
24flags = []
25
26[build.phases]
27configure = '''
28# -Wl,--undefined-version: PulseAudio comparte UN map-file (version script) entre libpulse,
29# libpulse-simple y libpulse-mainloop-glib, así que al enlazar cada una el script asigna la versión
30# PULSE_0 a símbolos que viven en las OTRAS ("version script assignment of 'PULSE_0' to symbol
31# 'pa_glib_mainloop_new' failed: symbol not defined"). GNU ld sólo avisa; ld.lld (el de zig) lo trata como
32# ERROR desde lld 17. El flag restaura el comportamiento permisivo.
33PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release \
34 -Dc_link_args=-Wl,--undefined-version \
35 -Ddefault_library=shared \
36 -Ddaemon=false -Dclient=true \
37 -Dglib=enabled -Ddbus=enabled \
38 -Dtests=false -Ddoxygen=false -Dman=false -Dgcov=false \
39 -Dx11=disabled -Dalsa=disabled -Davahi=disabled -Dbluez5=disabled -Djack=disabled \
40 -Dlirc=disabled -Dorc=disabled -Dsoxr=disabled -Dsamplerate=disabled -Dspeex=disabled \
41 -Dgstreamer=disabled -Dgtk=disabled -Dgsettings=disabled -Dsystemd=disabled -Delogind=disabled \
42 -Dconsolekit=disabled -Dudev=disabled -Dopenssl=disabled -Dfftw=disabled -Dvalgrind=disabled \
43 -Doss-output=disabled -Dtcpwrap=disabled -Dwebrtc-aec=disabled -Dasyncns=disabled -Dhal-compat=false \
44 -Ddatabase=simple
45'''
46compile = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
47install = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"
48
49[deps]
50build = ["meson", "samurai", "python3", "pkgconf", "glib-shared", "pcre2-shared", "libffi",
51 "dbus", "expat", "zlib-shared", "gettext-tiny", "libsndfile", "libtool", "util-linux"]