# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Darwin Bautista <djclue917@gmail.com>
# Contributor: Bob Finch <w9ya@qrparci.net>

pkgname=portaudio
pkgver=19.7.0
pkgrel=3
epoch=1
pkgdesc='A free, cross-platform, open source, audio I/O library.'
arch=(x86_64 aarch64)
url="https://github.com/portaudio/portaudio/"
license=(MIT)
depends=(
  gcc-libs
  glibc
)
makedepends=(
  alsa-lib
  cmake
  jack
)
provides=(
  libportaudio.so
  libportaudiocpp.so
)
source=($url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz)
sha512sums=('7e347a174109b661a685bcd617cc8fe00929c6fbf28f142fd7709a8ddbb9b5ed6e805be6647a44b4b9441b79e3474561de6f8e351b4ffc024952ed3e0e27ac1c')
b2sums=('db16882e97e60ab47b37c6d8851aa29e16e321531f3890f70390d89364aee2c1a9b42be09e7534f38d1c9ca48dd466b512874731049e42759a674571d6054220')

prepare() {
  cd $pkgname-$pkgver
  (
   cd bindings/cpp
   autoreconf -fiv
  )
  autoreconf -fiv
}

build() {
  local configure_options=(
    --prefix=/usr
    --enable-cxx
  )

  cd $pkgname-$pkgver
  ./configure "${configure_options[@]}"
  # build breaks with multiple jobs when building C++ bindings:
  # https://github.com/PortAudio/portaudio/issues/540
  make -j1
}

package() {
  depends+=(
    alsa-lib libasound.so
    jack libjack.so
  )

  cd $pkgname-$pkgver
  make DESTDIR="$pkgdir" install
  install -vDm 644 LICENSE.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
  install -vDm 644 README.* -t "$pkgdir/usr/share/doc/$pkgname/"
}
