# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Chocobo1 <chocobo1 AT archlinux DOT net>

pkgbase=aom
pkgname=(
  aom
  aom-docs
)
pkgver=3.10.0
pkgrel=1
pkgdesc="Alliance for Open Media video codec"
url="https://aomedia.org/"
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
license=(BSD-3-Clause)
depends=(
  gcc-libs
  glibc
)
makedepends=(
  cmake
  doxygen
  ninja
)
makdepends_x86_64=(
  yasm
)
source=(
  https://storage.googleapis.com/aom-releases/libaom-$pkgver.tar.gz{,.asc}
)
b2sums=('c4ee6980d5223413f09d163782133a5b7e041f646bfae26a0f386672a964e7f5ab1ec38fc19cc332b38f0bff4b4b96405104f87ca162395ce036d18dd86ef9dc'
        'SKIP')
validpgpkeys=(
  B002F08B74A148DAA01F7123A48E86DB0B830498 # AOMedia release signing key <av1-discuss@aomedia.org>
)

prepare() {
  cd libaom-$pkgver
}

build() {
  local cmake_options=(
    # Upstream would like Release, adding -O3 and removing assertions
    # https://gitlab.archlinux.org/archlinux/packaging/packages/aom/-/issues/1
    -D CMAKE_BUILD_TYPE=Release

    -D CMAKE_INSTALL_PREFIX=/usr
    -D BUILD_SHARED_LIBS=1
    -D ENABLE_TESTS=0
  )

  case "${CARCH}" in
    powerpc|powerpc64) cmake_options+=(-DENABLE_VSX=OFF) ;;
  esac

  # upstream wants this off
  CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=0}"
  CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=0}"

  cmake -S libaom-$pkgver -B build -G Ninja "${cmake_options[@]}"
  cmake --build build
}

package_aom() {
  provides=(libaom.so)

  DESTDIR="$pkgdir" cmake --install build

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libaom-$pkgver/{LICENSE,PATENTS}
}

package_aom-docs() {
  pkgdesc+=" (documentation)"
  depends=()

  mkdir -p "$pkgdir/usr/share/doc"
  cp -r build/docs/html "$pkgdir/usr/share/doc/$pkgbase"

  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 libaom-$pkgver/{LICENSE,PATENTS}
}

# vim:set sw=2 sts=-1 et:
