# Maintainer: Jonas Geiler <aur@jonasgeiler.com>
# Maintainer: SoftExpert <softexpert at gmail dot com>
pkgname=yaak
# renovate: datasource=github-releases depName=mountain-loop/yaak
pkgver=2026.5.0
pkgrel=2
pkgdesc='Fast, offline and Git-friendly API client for HTTP, GraphQL, WebSockets, SSE, and gRPC'
arch=(aarch64 armv7h i686 pentium4 x86_64)
url='https://yaak.app/'
license=(MIT)
depends=(
  # As reported by namcap
  bzip2
  cairo
  dbus
  fontconfig
  gdk-pixbuf2
  glib2
  glibc
  gtk3
  hicolor-icon-theme
  libgcc
  libsoup3
  libstdc++
  webkit2gtk-4.1
  xz
  zlib
)
makedepends=(
  appmenu-gtk-module   # Tauri
  cargo                # Rust dependencies & Tauri build
  git                  # Sources
  libappindicator-gtk3 # Tauri
  librsvg              # Tauri
  nodejs               # Custom scripts & web build
  npm                  # Node dependencies & web build
  protobuf             # Yaak (needs protoc)
  rust-wasm            # Yaak
  wasm-pack            # Yaak
)
provides=(yaak-app)
conflicts=(
  yaak-app-beta
  yaak-appimage
  yaak-bin
  yaak-git
)
options=(
  !lto       # Some Rust dependencies don't support link time optimization
  !strip     # Stripping symbols would break the output binary
  !emptydirs # Remove empty directories from package because why not
)
source=("yaak::git+https://github.com/mountain-loop/yaak.git#tag=v${pkgver}")
b2sums=('0eff369f36f89a7c868963f01e5b8ba9eac5a1038b97473af0f438de267ba8ddf76f44714feb092b7ef36fd4b30c61552e3ac3b379d6a45f5cbfd466f81088ed')

build() {
  export YAAK_VERSION="${pkgver}"
  export CI=true

  cd "${srcdir}/yaak/"
  npm ci
  npm run replace-version

  cd "${srcdir}/yaak/crates-tauri/yaak-app-client/"
  node ../../node_modules/@tauri-apps/cli/tauri.js build --bundles deb

  sed -e 's|Name=yaak|Name=Yaak|' \
    -e '$aGenericName=API Client' \
    -i "${srcdir}/yaak/target/release/bundle/deb/yaak_${pkgver}_"*/data/usr/share/applications/yaak.desktop
}

package() {
  cp -a \
    "${srcdir}/yaak/target/release/bundle/deb/yaak_${pkgver}_"*/data/usr/ \
    "${pkgdir}/usr/"
  install -Dm644 \
    "${srcdir}/yaak/LICENSE" \
    "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

  # Alias old binary name (yaak-app)
  ln -sr \
    "${pkgdir}/usr/bin/yaak-app-client" \
    "${pkgdir}/usr/bin/yaak-app"
}
