# Packages the foundation shell from the git checkout that invoked makepkg.
# PAPERDOLL_PKGVER and REPO_ROOT are set by scripts/package/arch.sh.
pkgname=paperdoll-renderer
pkgver=0.1.3
pkgrel=1
pkgdesc='Paperdoll Renderer with project files, model import and a live glTF preview.'
arch=('x86_64')
url='https://git.timfalken.com/golden-age/paperdoll-renderer'
license=('MIT')
depends=('gcc-libs' 'glibc' 'libxcb' 'libx11' 'libxkbcommon' 'libxkbcommon-x11' 'libglvnd' 'shared-mime-info' 'desktop-file-utils' 'xdg-desktop-portal' 'zenity')
makedepends=('cargo' 'pkgconf')
options=('!debug' '!lto')

pkgver() {
  printf '%s\n' "${PAPERDOLL_PKGVER:?set PAPERDOLL_PKGVER}"
}

build() {
  : "${REPO_ROOT:?set REPO_ROOT to the repository root}"
  export CARGO_HOME="${CARGO_HOME:-$REPO_ROOT/cargo-home}"
  cargo build --release --locked --manifest-path "$REPO_ROOT/Cargo.toml" --target-dir "$REPO_ROOT/target"
}

package() {
  : "${REPO_ROOT:?set REPO_ROOT to the repository root}"
  install -Dm755 "$REPO_ROOT/target/release/paperdoll-renderer" "$pkgdir/usr/bin/paperdoll-renderer"
  install -Dm644 "$REPO_ROOT/packaging/linux/paperdoll-renderer.desktop" \
    "$pkgdir/usr/share/applications/paperdoll-renderer.desktop"
  install -Dm644 "$REPO_ROOT/packaging/linux/paperdoll-renderer.metainfo.xml" \
    "$pkgdir/usr/share/metainfo/paperdoll-renderer.metainfo.xml"
  install -Dm644 "$REPO_ROOT/packaging/linux/paperdoll-renderer.metainfo.xml" \
    "$pkgdir/usr/share/metainfo/paperdoll-renderer.appdata.xml"
  install -Dm644 "$REPO_ROOT/packaging/linux/paperdoll-project.xml" \
    "$pkgdir/usr/share/mime/packages/paperdoll-project.xml"
  local size
  for size in 16 22 24 32 48 64 128 256 512; do
    install -Dm644 \
      "$REPO_ROOT/packaging/linux/hicolor/${size}x${size}/apps/paperdoll-renderer.png" \
      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/paperdoll-renderer.png"
  done
  install -Dm644 "$REPO_ROOT/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -Dm644 "$REPO_ROOT/THIRD_PARTY_NOTICES.md" "$pkgdir/usr/share/licenses/$pkgname/THIRD_PARTY_NOTICES.md"
}
