# Maintainer: David Runge <dvzrv@archlinux.org>
# Maintainer: Christian Heusel <gromit@archlinux.org>

pkgbase=zix
pkgname=(zix{,-docs})
pkgver=0.6.2
pkgrel=1
pkgdesc="A lightweight C99 portability and data structure library"
arch=(x86_64 aarch64)
url="https://gitlab.com/drobilla/zix"
license=('0BSD OR ISC')
makedepends=(
  doxygen
  glibc
  meson
  python-sphinx
  python-sphinx-lv2-theme
  python-sphinxygen
)
source=(https://download.drobilla.net/$pkgname-$pkgver.tar.xz{,.sig})
sha512sums=('3b072f00481a34e8b900311c2dc77fd73a63a34f69ea953be6b714f5bcbdebcc3cdd81feae73b5ad2bdc09a4bac122e12d9035cfc417ca41dfe5230d1fe13d9c'
            'SKIP')
b2sums=('230d9f6717f10ac6f7608593fa94331a4aebd8c4c1c59f1db5a7d1881d674d687d67c353c3944bf4649ea5cbb49a8c4afe8abc82bad9eaf84bff79777a0a91e1'
        'SKIP')
validpgpkeys=('907D226E7E13FA337F014A083672782A9BF368F3') # David Robillard <d@drobilla.net>

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

build() {
  arch-meson $pkgname-$pkgver build
  meson compile -C build
}

check() {
  # ignore entire test suite, because of failing tests:
  # https://gitlab.com/drobilla/zix/-/issues/2
  meson test -C build --no-suite 'zix:unit'
}

package_zix() {
  depends=(glibc)
  optdepends=('zix-docs: for developer documentation')
  provides=(libzix-0.so)

  meson install -C build --destdir "$pkgdir"
  (
    cd "$pkgdir"
    _pick $pkgname-docs usr/share/doc
  )

  install -vDm 644 $pkgname-$pkgver/LICENSES/* -t "$pkgdir/usr/share/licenses/$pkgname/"
  install -vDm 644 $pkgname-$pkgver/{NEWS,README.md} -t "$pkgdir/usr/share/doc/$pkgname/"
}

package_zix-docs() {
  pkgdesc+=" - documentation"

  mv -v $pkgname/* "$pkgdir"
  mv -v "$pkgdir/usr/share/doc/$pkgbase"{-0,}
}
