# Contributor: Jeff Dickey <alpine@mise.jdx.dev>
# Contributor: Fabricio Silva <hi@fabricio.dev>
maintainer="Fabricio Silva <hi@fabricio.dev>"
pkgname=mise
pkgver=2025.5.10
pkgrel=0
pkgdesc="Polyglot runtime and dev tool version manager"
url="https://mise.jdx.dev/"
arch="all !riscv64" # riscv timeout
license="MIT"
makedepends="
	cargo
	cargo-auditable
	direnv
	openssl-dev
	lua5.1-dev
	bzip2-dev
	zstd-dev
	"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/jdx/mise/archive/refs/tags/v$pkgver.tar.gz"
options="net" # cargo fetch
provides="rtx=$pkgver-r$pkgrel" # backwards compatibility
replaces="rtx"

prepare() {
	default_prepare

	# Rust target triple
	local target=$(rustc -vV | sed -n 's/host: //p')

	# build against system-provided libs
	mkdir -p .cargo
	cat >> .cargo/config.toml <<-EOF
		[target.$target]
		bzip2 = { rustc-link-lib = ["bz2"] }
		zstd = { rustc-link-lib = ["zstd"] }
	EOF

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

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

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

package() {
	install -Dm755 target/release/mise -t "$pkgdir"/usr/bin/
	install -Dm644 man/man1/*.1 -t "$pkgdir"/usr/share/man/man1/
	install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}

sha512sums="
5739b9e97a9fa6b0822bf9d9971bc77efba90ff240ac61c8a83b628df06aeca0195c5fd2a230942dab704b291690654e9392701dadad4c766378a3e298194bd7  mise-2025.5.10.tar.gz
"
