# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
pkgname=yazi
pkgver=25.5.31
pkgrel=0
pkgdesc="Blazing fast terminal file manager written in Rust, based on async I/O"
url="https://yazi-rs.github.io"
arch="all"
license="MIT"
makedepends="
	cargo
	cargo-auditable
	lua5.4-dev
"
subpackages="
	$pkgname-doc
	$pkgname-cli
	$pkgname-bash-completion
	$pkgname-fish-completion
	$pkgname-zsh-completion
"
source="
	$pkgname-$pkgver.tar.gz::https://github.com/sxyazi/yazi/archive/refs/tags/v$pkgver.tar.gz
	system-lua.patch
"
options="net"

prepare() {
	default_prepare
	cargo fetch --target="$CTARGET" --locked
}

build() {
	YAZI_GEN_COMPLETIONS=true cargo auditable build --release --frozen --workspace --no-default-features
}

check() {
	cargo test --frozen --workspace --no-default-features
}

package() {
	install -Dm755 target/release/yazi "$pkgdir"/usr/bin/yazi
	install -Dm644 yazi-boot/completions/yazi.bash "$pkgdir"/usr/share/bash-completion/completions/yazi
	install -Dm644 yazi-boot/completions/yazi.fish "$pkgdir"/usr/share/fish/vendor_completions.d/yazi.fish
	install -Dm644 yazi-boot/completions/_yazi "$pkgdir"/usr/share/zsh/site-functions/_yazi
	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

cli() {
	pkgdesc="$pkgdesc - CLI"
	depends="yazi=$pkgver-r$pkgrel"

	install -Dm755 "$builddir"/target/release/ya "$subpkgdir"/usr/bin/ya
}

sha512sums="
c390d3e813cbefbe5c430df521f7d563aff8461eb249a90a11fba05db56205bfce5df0f15ae7a57aa8a47cff34094b969fe6fbdfa9cd9a102dba3b8cc9c30911  yazi-25.5.31.tar.gz
5cf84acc7441691b6c2acfe4e2361c52463d90755b295738b9afa9c0453f60e0464eeef3d028abb208fa814a4972f1bcd4850c5c13c1b8cd73651fc1a72805fa  system-lua.patch
"
