# Maintainer: aur.chaotic.cx

_pkgname="upscayl-ncnn"
pkgname="$_pkgname"
pkgver=20251207.174704
pkgrel=1
pkgdesc="AI image upscaler, command-line based on Real-ESRGAN NCNN"
url="https://github.com/upscayl/upscayl-ncnn"
license=('AGPL-3.0-only')
arch=('x86_64')

depends=(
  'openmp'
  'vulkan-icd-loader'
)
makedepends=(
  'cmake'
  'git'
  'glslang'
  'ninja'
  'vulkan-headers'
)
optdepends=(
  'upscayl-models: scaling models'
)

provides=("$_pkgname")
conflicts=("$_pkgname")

_pkgsrc="$_pkgname"
source=("$_pkgsrc"::"git+https://github.com/upscayl/upscayl-ncnn.git#tag=${pkgver//./-}")
sha256sums=('SKIP')

prepare() {
  cd "$_pkgsrc"
  sed -E -e 's&git@github.com:&https://github.com/&' -i .gitmodules
  git submodule update --init --recursive --depth 1

  sed -e '/CMAKE_BUILD_TYPE/d' -i src/CMakeLists.txt
}

build() {
  local _cmake_options=(
    -B build
    -S "$_pkgsrc/src"
    -G Ninja
    -DCMAKE_BUILD_TYPE=None
    -DCMAKE_INSTALL_PREFIX='/usr'
    -DCMAKE_POLICY_VERSION_MINIMUM=3.5
    -DBUILD_SHARED_LIBS=OFF
    -Wno-dev
  )

  cmake "${_cmake_options[@]}"
  cmake --build build
}

package() {
  install -Dm755 build/upscayl-bin "${pkgdir}/usr/lib/upscayl/upscayl"

  install -d "${pkgdir}/usr/bin"
  ln -s /usr/lib/upscayl/upscayl "${pkgdir}/usr/bin/upscayl"
}
