# Maintainer: Augustin ROUSSET-ROUVIERE <aug.roussetrouviere@gmail.com>
pkgname=cyclades
pkgver=0.1.0
pkgrel=1
pkgdesc="Interface-centric replacement for ip addr — cards, TUI, safe apply/rollback, pure netlink"
arch=('x86_64' 'aarch64')
url="https://github.com/Sans-Atout/cyclades"
license=('GPL-3.0-or-later')
depends=('gcc-libs')
makedepends=('cargo')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz")
sha256sums=('2e5739a2050ffb6d9a9dd7eabebb877e5ce5165cdc9ade68c23775e89711c3bb')

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

build() {
  cd "$pkgname-$pkgver"
  export RUSTUP_TOOLCHAIN=stable
  cargo build --frozen --release
}

check() {
  cd "$pkgname-$pkgver"
  export RUSTUP_TOOLCHAIN=stable
  cargo test --frozen --release
}

package() {
  cd "$pkgname-$pkgver"
  install -Dm755 target/release/cyclades -t "$pkgdir/usr/bin"
  # completions + man page are generated by build.rs into OUT_DIR
  local assets
  assets=$(dirname "$(find target/release/build -path '*/out/assets/cyclades.1' | head -n1)")
  install -Dm644 "$assets/cyclades.1"    "$pkgdir/usr/share/man/man1/cyclades.1"
  install -Dm644 "$assets/cyclades.bash" "$pkgdir/usr/share/bash-completion/completions/cyclades"
  install -Dm644 "$assets/_cyclades"     "$pkgdir/usr/share/zsh/site-functions/_cyclades"
  install -Dm644 "$assets/cyclades.fish" "$pkgdir/usr/share/fish/vendor_completions.d/cyclades.fish"
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
