# Maintainer: Jake Weaver <jakeweaver at hey dot com>
pkgname=link-studio
pkgver=1.0.2
pkgrel=1
pkgdesc="Native Linux controller for Insta360 Link webcams"
arch=('x86_64')
url="https://jweaver60.github.io/link-studio/"
license=('MIT')
depends=(
  'gst-libav'
  'gst-plugins-bad'
  'gst-plugins-base'
  'gst-plugins-good'
  'gtk4'
  'libadwaita'
  'python-gobject'
  'python-mediapipe'
  'python-numpy'
  'python-opencv'
  'python-pillow'
  'python-qrcode'
  'v4l-utils'
)
makedepends=('python-build' 'python-installer' 'python-setuptools' 'python-wheel')
optdepends=(
  'v4l2loopback-dkms: processed virtual-camera output'
  'v4l2loopback-utils: virtual-camera controls'
  'whisper-cpp: offline meeting transcription'
)
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/jweaver60/link-studio/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz")
sha256sums=('b0fc912d8b7924661b57e427280c9766cbb0f01b7a2b3f3cdb1885969f8cfdc6')

build() {
  cd "link_studio-${pkgver}"
  python -m build --wheel --no-isolation
}

check() {
  cd "link_studio-${pkgver}"
  PYTHONPATH=src python -m unittest discover -v
}

package() {
  cd "link_studio-${pkgver}"
  python -m installer --destdir="$pkgdir" --prefix=/usr dist/*.whl
  sed -i '1c#!/usr/bin/python' "$pkgdir/usr/bin/link-studio"

  install -Dm644 data/io.github.linkstudio.LinkStudio.desktop \
    "$pkgdir/usr/share/applications/io.github.linkstudio.LinkStudio.desktop"
  install -Dm644 data/io.github.linkstudio.LinkStudio.metainfo.xml \
    "$pkgdir/usr/share/metainfo/io.github.linkstudio.LinkStudio.metainfo.xml"
  install -Dm755 scripts/setup-virtual-camera \
    "$pkgdir/usr/bin/link-studio-setup-virtual-camera"
  install -Dm755 scripts/setup-local-ai \
    "$pkgdir/usr/bin/link-studio-setup-local-ai"
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -Dm644 THIRD_PARTY_NOTICES.md \
    "$pkgdir/usr/share/licenses/$pkgname/THIRD_PARTY_NOTICES.md"
  install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
  install -Dm644 docs/PARITY.md "$pkgdir/usr/share/doc/$pkgname/PARITY.md"
}
