maintainer="Hoang Nguyen <folliekazetani@protonmail.com>"
pkgname=nickel
pkgver=1.8.1
pkgrel=1
pkgdesc="Generic configuration language for less"
url="https://nickel-lang.org/"
# s390x, loongarch64: nix crate fails to build
# riscv64: check_manual_snippets_doc_manual_syntax_md test hangs indefinitely
arch="all !s390x !riscv64 !loongarch64"
license="MIT"
makedepends="cargo cargo-auditable"
checkdepends="python3"
subpackages="$pkgname-doc $pkgname-language-server:_langserver"
options="net"
source="$pkgname-$pkgver.tar.gz::https://github.com/tweag/nickel/archive/refs/tags/$pkgver.tar.gz"

prepare() {
	default_prepare

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

build() {
	cargo auditable build --frozen --release --workspace \
		--bin nickel --bin nls
}

check() {
	cargo test --frozen --workspace
}

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

	install -Dm644 doc/manual/*.md -t "$pkgdir"/usr/share/doc/$pkgname/
}

_langserver() {
	pkgdesc="LSP server for Nickel configuration language"
	amove usr/bin/nls
}

sha512sums="
fc1429b7e40a7162d0324c80992474e01dc4fa27e7905cac95351262cd6bedce7f58f6b4576797db62d7b626d9c1c363fa4c82b38c327c2ed00bac750ea77a42  nickel-1.8.1.tar.gz
"
