libsndfile for Yeti

This is a modified libsndfile source snapshot that removes unwanted dependencies from upstream Debian. The general motivation is to remove functionality that is not needed, libraries that are licensed under the GPL, and libraries that provide patent-encumbered codecs.

Removed dependencies

  • libvorbis-dev (>= 1.2.3),
  • libflac-dev (>= 1.1.4-3),

For more context, see the following bugs:

  • b/79588395 - Remove ffmpeg and all audio/video codec packages from gamelet image
  • b/30417283 - Ubuntu pulseaudio package requires libxcb and a bunch of other stuff

Build Prerequisites

sudo apt-get install \
  check \
  dh-exec \
  intltool \
  libcap-dev \
  libjson-c-dev \
  liborc-0.4-dev \
  libsamplerate0-dev \
  libsndfile1-dev \
  libsoxr-dev \
  libspeexdsp-dev \
  libsystemd-dev \
  libtdb-dev \
  libudev-dev \
  libwebrtc-audio-processing-dev

Build

To build manually, run debuild -b -uc -us from this package.

To run the above command and upload symbols for the binaries in libsndfile, go to yeti/scripts/build/third_party and run ./upload_libsndfile_symbols.sh.