summaryrefslogtreecommitdiff
path: root/dev-util/mise/mise-2026.2.19.ebuild
blob: 63cd62a201511ced6fe556574c4755961e56667c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

CRATES=" "
RUST_MIN_VER="1.89.0"
inherit cargo greadme

DESCRIPTION="The front-end to your dev env"
HOMEPAGE="https://mise.jdx.dev"
SRC_URI="https://github.com/jdx/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://share.terinstock.com/${P}-vendor.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
"
SLOT="0"
KEYWORDS="~amd64"

RDEPEND="
	dev-libs/openssl:=
"
DEPEND="${RDEPEND}"

src_compile() {
	cargo_src_compile

	mkdir shell-init || die
	local -x PATH="$(cargo_target_dir):${PATH}"
	for shell in bash zsh fish elvish pwsh; do
		mise activate ${shell} > "shell-init/${shell}" || die
	done
}

src_install() {
	cargo_src_install

	doman man/man1/mise.1

	# Disable self-update functionality
	insinto /usr/lib/mise
	doins "${FILESDIR}"/mise-self-update-instructions.toml

	# Enable paranoid mode system-wide
	insinto /etc/mise
	doins "${FILESDIR}"/config.toml

	insinto "/usr/share/${PN}"
	doins -r shell-init

	greadme_stdin <<-EOF
	Gentoo installs mise's shell-init code under
		/usr/share/mise/shell-init/
	Therefore, instead of using, e.g. 'eval \"\$(mise activate)\"' in
	your .zshrc you can put \"source /usr/share/mise/shell-init/zsh\"
	there, which avoids the cost of forking a process. Although mise
	does that a lot anyways.
EOF
}