# Maintainer: Maxime Gauduin <alucryd@archlinux>org>
# Contributor: quietvoid <tcChlisop0@gmail.com>

pkgname=libdovi
pkgver=3.3.0
pkgrel=2
pkgdesc='Library to read and write Dolby Vision metadata'
arch=(x86_64 aarch64)
url=https://github.com/quietvoid/dovi_tool/tree/main/dolby_vision
license=(MIT)
depends=(
  gcc-libs
  glibc
)
makedepends=(
  cargo-c
  git
  rust
)
provides=(libdovi.so)
_tag=108f7892fa9c5c5b24caec29f2289cf805e52119
source=(git+https://github.com/quietvoid/dovi_tool.git#tag=${_tag}
        bitvec.patch
        half.patch
        rayon-core.patch
        indexmap.patch
	crc.patch)
b2sums=(SKIP
        SKIP
        SKIP
        SKIP
        SKIP
        SKIP)

prepare() {
  patch -Np1 < ../bitvec.patch
  patch -Np1 < ../half.patch
  patch -Np1 < ../rayon-core.patch
  patch -Np1 < ../indexmap.patch
  patch -Np1 < ../crc.patch

  cargo generate-lockfile --manifest-path dovi_tool/dolby_vision/Cargo.toml

  cargo update \
    --manifest-path dovi_tool/dolby_vision/Cargo.toml \
    -p clap --precise 4.5.61 || true

  cargo update \
    --manifest-path dovi_tool/dolby_vision/Cargo.toml \
    -p clap_builder --precise 4.5.61 || true

  cargo update \
    --manifest-path dovi_tool/dolby_vision/Cargo.toml \
    -p clap_lex --precise 1.0.1 || true

  cargo fetch \
    --locked \
    --manifest-path dovi_tool/dolby_vision/Cargo.toml
}

#pkgver() {
#  cd dovi_tool
#  git describe --tags | sed 's/^libdovi-//'
#}

build() {
  cargo cbuild \
    --release \
    --frozen \
    --prefix=/usr \
    --manifest-path dovi_tool/dolby_vision/Cargo.toml
}

check() {
  cargo test \
    --release \
    --frozen \
    --all-features \
    --manifest-path dovi_tool/dolby_vision/Cargo.toml
}

package() {
  cd dovi_tool/dolby_vision
  cargo cinstall \
    --release \
    --frozen \
    --prefix /usr \
    --destdir "${pkgdir}"
  install -Dm 644 LICENSE -t "${pkgdir}"/usr/share/licenses/libdovi/
}

# vim: ts=2 sw=2 et:
