# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Adam Fontenot <fontenot@ucla.edu>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - remove make/opt depends on svt-av1, -DWITH_SvtEnc=OFF

pkgname=libheif
pkgver=1.17.6
pkgrel=5
pkgdesc='An HEIF and AVIF file format decoder and encoder'
arch=(x86_64)
url='https://github.com/strukturag/libheif'
license=(GPL3)
makedepends=(cmake
             dav1d
             ffmpeg
             gdk-pixbuf2
             libjpeg
             libpng
             rav1e)
depends=(aom
         gcc-libs
         glibc
         libde265
         libwebp
         x265)
optdepends=('libjpeg: for heif-convert and heif-enc'
            'libpng: for heif-convert and heif-enc'
            'dav1d: dav1d encoder'
            'ffmpeg: hardware decode'
            'rav1e: rav1e encoder')
source=(
  https://github.com/strukturag/libheif/releases/download/v$pkgver/libheif-$pkgver.tar.gz
  https://github.com/strukturag/libheif/commit/a911b26a902c5f89fee2dc20ac4dfaafcb8144ec.patch
)
sha256sums=('8390baf4913eda0a183e132cec62b875fb2ef507ced5ddddc98dfd2f17780aee'
            '53a7eeb0f0f1c9fb076a6f56c6753abf8e30cf625355c54e720cc028ae9c1ce9')

prepare() {
  cd $pkgname-$pkgver
  patch -Np1 -i ../a911b26a902c5f89fee2dc20ac4dfaafcb8144ec.patch # fix build against svt-av1 2.0.0
}

build() {
  cmake -B build -S $pkgname-$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DWITH_DAV1D=ON \
    -DWITH_RAV1E=ON \
    -DWITH_FFMPEG_DECODER=ON \
    -DWITH_FFMPEG_DECODER_PLUGIN=ON \
    -DWITH_SvtEnc=OFF
  cmake --build build
}

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