# SPDX-License-Identifier: CC0-1.0
#
# Builds AudioTube from the git repository, including the system tray icon and Google Cast support:
#
#   git clone https://git.salastil.com/Salastil/audiotube.git
#   cd audiotube/packaging/arch
#   makepkg -si

pkgname=audiotube-git
pkgver=26.11.70.r0.g0000000
pkgrel=1
pkgdesc='Client for YouTube Music (git version with system tray and Google Cast)'
arch=('x86_64' 'aarch64')
url='https://git.salastil.com/Salastil/audiotube'
license=('GPL-2.0-or-later' 'LGPL-2.0-or-later')
depends=(
  'futuresql'
  'glibc'
  'gst-plugins-bad'
  'gst-plugins-good'
  'kconfig'
  'kcoreaddons'
  'kcrash'
  'ki18n'
  'kiconthemes'
  'kirigami'
  'kirigami-addons'
  'kstatusnotifieritem'
  'kwindowsystem'
  'libgcc'
  'libstdc++'
  'purpose'
  'python'
  'python-ytmusicapi'
  'qcoro'
  'qt6-base'
  'qt6-declarative'
  'qt6-imageformats'
  'qt6-multimedia'
  'qt6-multimedia-gstreamer'
  'qt6-svg'
  'yt-dlp'
)
makedepends=(
  'cmake'
  'extra-cmake-modules'
  'git'
  'ninja'
  'pybind11'
)
optdepends=(
  'deno: JavaScript runtime that yt-dlp may need to extract some streams'
  'qt6ct: Qt theme configuration, used for the application palette outside of Plasma'
)
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
source=("${pkgname%-git}::git+https://git.salastil.com/Salastil/audiotube.git")
sha256sums=('SKIP')

pkgver() {
  cd "${pkgname%-git}"
  local version
  version=$(sed -n 's/^set(RELEASE_SERVICE_VERSION_\(MAJOR\|MINOR\|MICRO\) "\(.*\)")/\2/p' CMakeLists.txt | paste -sd.)
  printf '%s.r%s.g%s' "$version" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cmake -S "${pkgname%-git}" -B build -G Ninja \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_TESTING=OFF \
    -DPython3_EXECUTABLE=/usr/bin/python3
  cmake --build build
}

package() {
  DESTDIR="$pkgdir" cmake --install build
}
