# Maintainer: you
# Builds from this checkout:  cd packaging/arch && makepkg -si
pkgname=a0
pkgver=0.1.0
pkgrel=1
pkgdesc="Transparent cold-file compression: stubs + zstd chunk store, thaw-on-open via fanotify"
arch=('x86_64' 'aarch64')
license=('MIT')
depends=('gcc-libs' 'glibc')
optdepends=('libnotify: desktop notifications via a0-notify.service')
makedepends=('cargo')
backup=('etc/a0/config.toml')
install=a0.install
options=('!lto')

_src() { cd "$startdir/../.."; }

prepare() {
  _src
  export RUSTUP_TOOLCHAIN=stable
  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
  _src
  export RUSTUP_TOOLCHAIN=stable CARGO_TARGET_DIR="$srcdir/target"
  cargo build --frozen --release
}

check() {
  _src
  export RUSTUP_TOOLCHAIN=stable CARGO_TARGET_DIR="$srcdir/target"
  cargo test --frozen --release
}

package() {
  _src
  install -Dm755 "$srcdir/target/release/a0" "$pkgdir/usr/bin/a0"
  install -Dm644 packaging/systemd/a0.service "$pkgdir/usr/lib/systemd/system/a0.service"
  install -Dm644 packaging/systemd/a0-notify.service "$pkgdir/usr/lib/systemd/user/a0-notify.service"
  install -Dm644 packaging/config.example.toml "$pkgdir/etc/a0/config.toml"
  install -Dm644 packaging/config.example.toml "$pkgdir/usr/share/doc/a0/config.example.toml"
  install -Dm644 README.md "$pkgdir/usr/share/doc/a0/README.md"
}
