Package: cava
Version: 1.0.0+dfsg-2
Severity: normal
Tags: patch
Dear Maintainer,
cava 1.0.0+dfsg-2 in forky/sid has no PipeWire input. A config with
[input]
method = pipewire
fails with
Error loading config. cava was built without 'pipewire' input support
Trixie's 0.10.4+dfsg-1 has the PipeWire input, and the package description
still names it ("using ALSA, pipewire, pulseaudio or fifo buffer for input").
The cause is in debian/control. 0.10.4+dfsg-1 build-depended on
libasound2-dev, libpulse-dev, libpipewire-0.3-dev, libjack-jackd2-dev
1.0.0+dfsg-1 and -2 list none of them; the libraries moved to Suggests
instead. ALSA and PulseAudio are still built because libsdl2-dev pulls in
libasound2-dev and libpulse-dev, but nothing brings libpipewire-0.3-dev or
JACK, so configure leaves those inputs out. The amd64 buildd log of
1.0.0+dfsg-2 shows it:
checking for snd_pcm_open in -lasound... yes
checking for libpipewire-0.3... no
checking for pa_simple_new in -lpulse-simple... yes
checking for Pa_Initialize in -lportaudio... no
checking for sio_open in -lsndio... no
checking for jack... no
and the sources are compiled with -DALSA -DPULSE only. On an installed
system, ldd /usr/bin/cava lists libasound and libpulse but no
libpipewire-0.3 (0.10.4+dfsg-1 links libpipewire-0.3.so.0).
Putting the Build-Depends back should fix it (I have not rebuilt it):
--- a/debian/control
+++ b/debian/control
@@ -9,5 +9,9 @@ Build-Depends:
libsdl2-dev,
libiniparser-dev,
libncurses-dev,
+ libasound2-dev,
+ libpulse-dev,
+ libpipewire-0.3-dev,
+ libjack-jackd2-dev,
Standards-Version: 4.7.4
Homepage: https://github.com/karlstav/cava
libportaudio-dev and libsndio-dev would be needed too if the PortAudio and
sndio inputs (libportaudio2 and libsndio7.0 are in Suggests) are meant to be
built. cava links the input libraries directly, so the built ones end up in
Depends through the shlibs substvar either way.
We found this in FlickOS, a Debian-based desktop whose panel draws a
spectrum with cava's PipeWire input; it uses the PulseAudio input through
pipewire-pulse for now.
Thanks,
Jon