_tdlib_rs_version=1.4.0
_tdlib_version=1.8.61

pkgname=shinoa-git
pkgver=r4.4910fb5
pkgrel=1
pkgdesc='Minimal Telegram terminal client built with ncurses and TDLib'
arch=('x86_64')
url='https://git.mshq.dev/AxiFisk/shinoa'
license=('custom:unknown')
depends=('gcc-libs' 'glibc' 'ncurses' 'openssl' 'zlib')
depends+=('libc++' 'libunwind')
makedepends=('cmake' 'git' 'gperf' 'patchelf')
provides=('shinoa')
conflicts=('shinoa')
source=(
  'git+https://git.mshq.dev/AxiFisk/shinoa.git'
  "tdlib-${_tdlib_version}-linux-x86_64.zip::https://github.com/FedericoBruzzone/tdlib-rs/releases/download/v${_tdlib_rs_version}/tdlib-${_tdlib_version}-linux-x86_64.zip"
)
noextract=("tdlib-${_tdlib_version}-linux-x86_64.zip")
sha256sums=(
  'SKIP'
  '997069633f54306ada33776d2c4a530017d2e7325a22e0f12701d52438c37383'
)

pkgver() {
  cd "$srcdir/shinoa"
  printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

prepare() {
  rm -rf "$srcdir/tdlib"
  bsdtar -xf "$srcdir/tdlib-${_tdlib_version}-linux-x86_64.zip" -C "$srcdir"
}

build() {
  cmake -S "$srcdir/shinoa" -B "$srcdir/build" \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DTELEGRAM_TUI_TDLIB_ROOT="$srcdir/tdlib"
  cmake --build "$srcdir/build"
}

package() {
  install -Dm755 "$srcdir/build/shinoa" "$pkgdir/usr/bin/shinoa"
  install -Dm755 "$srcdir/tdlib/lib/libtdjson.so.${_tdlib_version}" \
    "$pkgdir/usr/lib/libtdjson.so.${_tdlib_version}"
  ln -sf "libtdjson.so.${_tdlib_version}" "$pkgdir/usr/lib/libtdjson.so"
  patchelf --remove-rpath "$pkgdir/usr/bin/shinoa"
  install -Dm644 "$srcdir/shinoa/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
}
