# Maintainer: omni <omni+alpine@hack.org>
pkgname=xplr
pkgver=1.0.0
pkgrel=0
pkgdesc="Hackable, minimal, fast TUI file explorer"
url="https://xplr.dev"
# s390x: nix crate
arch="all !s390x"
license="MIT"
makedepends="cargo cargo-auditable lua5.4-dev"
options="net"
subpackages="$pkgname-doc"
source="
	https://github.com/sayanarijit/xplr/archive/refs/tags/v$pkgver/xplr-$pkgver.tar.gz
	modified-field-lua54.patch
	mlua-lua54.patch
	"

prepare() {
	default_prepare

	cargo fetch --target="$CTARGET" --locked
}

build() {
	cargo auditable build --release --frozen --no-default-features
}

check() {
	# cargo test doesn't build target/debug/xplr binary
	cargo auditable build --frozen --no-default-features
	cargo test --frozen --no-default-features
}

package() {
	install -Dm755 target/release/xplr -t "$pkgdir"/usr/bin/

	install -Dm644 "$builddir"/assets/desktop/xplr.desktop \
		-t "$pkgdir"/usr/share/applications
	install -Dm644 "$builddir"/assets/icon/xplr.svg \
		"$pkgdir"/usr/share/pixmaps/xplr.svg
	install -Dm644 "$builddir"/assets/icon/xplr.svg \
		"$pkgdir"/usr/share/icons/hicolor/scalable/apps/xplr.svg
	for res in 16 32 64 128; do
		install -Dm 644 assets/icon/"$pkgname""$res".png \
			"$pkgdir"/usr/share/icons/hicolor/"$res"x"$res"/apps/"$pkgname".png
	done

	install -Dm644 src/init.lua \
		-t "$pkgdir"/usr/share/doc/"$pkgname"/examples/
	install -Dm644 docs/en/src/* \
		-t "$pkgdir"/usr/share/doc/"$pkgname"/
	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
}

sha512sums="
a47e2b5628d04634e944ce6bc34d8f9984181c0743b4abe216c0e73734f375e67ee8d04728d43e90fb5288d742f3e6f799a334aa332d21ea8bc2683251341fd5  xplr-1.0.0.tar.gz
c1e81b8a1f0be69aa8b2d4d9d1c89096db950ab4ed6accd5d63d2cd0e16925e3eb7c619f87131e69dd2a3180e8c40efc842170169435d118d413b76aac2ead68  modified-field-lua54.patch
e5f9f17ea38c456198fa8cc68ed3fcd2f458f55cdbe8a84f09762008c9e19f6c08d56dc3850f3fa9b6058a14523bef589a2c871d34144e77160827e7b865d9d0  mlua-lua54.patch
"
