# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Autogenerated by pycargoebuild 0.16.0

EAPI=8

RUST_MIN_VER="1.91.0"

CRATES=""

inherit cargo shell-completion

DESCRIPTION="Dev tools, env vars, and tasks in one CLI"
HOMEPAGE="https://mise.en.dev https://github.com/jdx/mise"
SRC_URI="https://github.com/jdx/mise/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://github.com/0x6d6e647a/mndz-overlay-assets/releases/download/mise-${PV}/mise-${PV}-crates.tar.xz"

LICENSE="MIT"
# Dependent crate licenses
LICENSE+="
	Apache-2.0 BSD-2 BSD CDLA-Permissive-2.0 ISC MIT MPL-2.0 openssl
	Unicode-3.0 ZLIB BZIP2
	|| ( CC0-1.0 MIT-0 )
"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="bash-completion fish-completion zsh-completion"

# System libs: match Arch/Alpine (system OpenSSL/zstd/bzip2/lua5.1,
# disable default features: self_update + vendored-lua).
DEPEND="
	app-arch/bzip2:=
	app-arch/zstd:=
	dev-lang/lua:5.1
	dev-libs/openssl:=
"
RDEPEND="
	${DEPEND}
	bash-completion? ( dev-util/usage )
	fish-completion? ( dev-util/usage )
	zsh-completion? ( dev-util/usage )
"
BDEPEND="
	dev-build/cmake
	virtual/pkgconfig
"

# rust does not use *FLAGS from make.conf, silence portage warning
QA_FLAGS_IGNORED="usr/bin/mise"

src_configure() {
	# Prefer system OpenSSL/zstd (not crate-vendored).
	export OPENSSL_NO_VENDOR=1
	export ZSTD_SYS_USE_PKG_CONFIG=1

	# Defaults are native-tls + vfox/vendored-lua + self_update.
	# Distro packaging: system TLS + system Lua, no self-update.
	local myfeatures=( native-tls )
	cargo_src_configure --no-default-features
}

src_install() {
	cargo_src_install
	dodoc README.md CHANGELOG.md
	doman man/man1/mise.1

	# Pre-generated completion scripts (require usage at runtime).
	use bash-completion &&
		newbashcomp completions/mise.bash mise
	use fish-completion &&
		newfishcomp completions/mise.fish mise.fish
	use zsh-completion &&
		newzshcomp completions/_mise _mise
}