# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>

_pkgbasename=libpulse
pkgname=lib32-$_pkgbasename
pkgdesc="A featureful, general-purpose sound server (32-bit client libraries)"
pkgver=15.0
pkgrel=1
arch=(x86_64)
url="https://www.freedesktop.org/wiki/Software/PulseAudio/"
license=(LGPL)
depends=(lib32-{dbus,libasyncns,libcap,libxtst,libsm,libsndfile,systemd}
         $_pkgbasename)
makedepends=(lib32-{speexdsp,glib2,gtk3} git meson valgrind)
optdepends=('lib32-alsa-plugins: ALSA support'
            'lib32-glib2: mainloop integration')
provides=("lib32-pulseaudio=$pkgver")
conflicts=(lib32-pulseaudio)
replaces=(lib32-pulseaudio)
_commit=6329a2498eb038f8a9537888280a62b00a93f68e  # tags/v15.0^0
source=("git+https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git#commit=$_commit")
sha256sums=('SKIP')

pkgver() {
  cd pulseaudio
  git describe --tags | sed 's/^v//;s/-/+/g'
}

prepare() {
  cd pulseaudio

  # Freeze version before patching
  ./git-version-gen doesnt-exist >.tarball-version
}

build() {
  local meson_options=(
    --libdir /usr/lib32
    -D daemon=false
    -D doxygen=false
    -D man=false
    -D tests=false
    -D stream-restore-clear-old-devices=true
    -D pulsedsp-location='/usr/\$LIB/pulseaudio'
    -D udevrulesdir=/usr/lib/udev/rules.d
    -D bashcompletiondir=no
    -D zshcompletiondir=no
    -D avahi=disabled
    -D bluez5=disabled
    -D bluez5-gstreamer=disabled
    -D elogind=disabled
    -D fftw=disabled
    -D jack=disabled
    -D lirc=disabled
    -D orc=disabled
    -D soxr=disabled
    -D tcpwrap=disabled
    -D webrtc-aec=disabled
  )

  export CC="gcc -m32"
  export CXX="g++ -m32"
  export PKG_CONFIG="i686-pc-linux-gnu-pkg-config"

  arch-meson pulseaudio build "${meson_options[@]}"
  meson compile -C build
}

check() {
  meson test -C build --print-errorlogs
}

_pick() {
  local f d
  for f; do
    d="$pkgdir/${f#$srcdir/install/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package() {
  meson install -C build --destdir "$srcdir/install"

  cd install
  _pick usr/lib32/libpulse{,-simple,-mainloop-glib}.so*
  _pick usr/lib32/{cmake,pkgconfig}
  _pick usr/lib32/pulseaudio/libpulse{dsp,common-*}.so
}

# vim:set sw=2 et:
