# Maintainer: lilydjwg <lilydjwg@gmail.com>
# Contributor: robertfoster

pkgname=whisper.cpp
pkgver=1.9.2
pkgrel=1
pkgdesc="Port of OpenAI's Whisper model in C/C++ (with ffmpeg support)"
arch=('armv7h' 'aarch64' 'x86_64')
url="https://github.com/ggerganov/whisper.cpp"
license=("MIT")
depends=(ggml ffmpeg libavcodec.so libswresample.so)
makedepends=(
  'cmake'
  'git'
)
source=(
  "${pkgname}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz"
  disable-deprecated.patch
)

prepare() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  patch -Np1 -i "${srcdir}/disable-deprecated.patch"
}

build() {
  cmake \
    -B "${srcdir}/build" \
    -S "${srcdir}/whisper.cpp-${pkgver}" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=None \
    -DWHISPER_BUILD_TESTS=0 \
    -DWHISPER_USE_SYSTEM_GGML=1 \
    -DWHISPER_FFMPEG=yes

  cmake --build "${srcdir}/build"
}

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

  mkdir -p "${pkgdir}"/usr/bin
  for f in whisper-cli whisper-server; do
    cp ${srcdir}/build/bin/$f "${pkgdir}"/usr/bin
  done
  install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" \
    -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

sha256sums=('a6abd064fcca8b85e794d205abf328c522e9451db43a3eadc178b883b7d0e9cd'
            '5f880edae417c7083a9403260e5c381285e4c52ccc39f127c6510fdfa249c1ad')
