File mise.spec of Package mise

%bcond_with run_tests

Name:           mise
Version:        2025.8.21
Release:        0
Summary:        A polyglot tool version manager, environment manager and task runner
License:        MIT
Url:            https://github.com/jdx/mise
Source0:        https://github.com/jdx/mise/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1:        https://github.com/jdx/mise/releases/download/v%{version}/v%{version}.tar.gz.sig#/%{name}-%{version}.tar.gz.sig
# Downloaded from https://mise.jdx.dev/gpg-key.pub - ID: 8B81C9D17413A06D
Source2:        %{name}.keyring
Source3:        vendor.tar.zst
Patch1:         disable_self_update.patch
BuildRequires:  cargo
BuildRequires:  cargo-packaging
BuildRequires:  pkgconfig(openssl)
ExclusiveArch:  %{rust_tier1_arches}
Recommends:     cosign
Recommends:     slsa-verifier

%description
mise-en-place - The front-end to your dev env

mise is a polyglot tool version manager. It replaces tools like asdf, nvm,
pyenv, rbenv, etc.

mise allows you to switch sets of env vars in different project directories.
It can replace direnv.

mise is a task runner that can replace make, or npm scripts.

%package        bash-completion
Summary:        Bash completion for %{name}
Group:          System/Shells
Supplements:    (%{name} and bash-completion)
Requires:       usage
BuildArch:      noarch

%description    bash-completion
Bash command-line completion support for %{name}.

%package        fish-completion
Summary:        Fish completion for %{name}
Group:          System/Shells
Supplements:    (%{name} and fish)
Requires:       usage
BuildArch:      noarch

%description    fish-completion
Fish command-line completion support for %{name}.

%package        zsh-completion
Summary:        Zsh completion for %{name}
Group:          System/Shells
Supplements:    (%{name} and zsh)
Requires:       usage
BuildArch:      noarch

%description    zsh-completion
Zsh command-line completion support for %{name}.

%prep
%autosetup -p1 -a3

%build
%{cargo_build}

%install
%{cargo_install}
%{buildroot}%{_bindir}/%{name} completion bash | %__install -Dm 0644 /dev/stdin %{buildroot}%{_datadir}/bash-completion/completions/%{name}
%{buildroot}%{_bindir}/%{name} completion fish | %__install -Dm 0644 /dev/stdin %{buildroot}%{_datadir}/fish/vendor_completions.d/%{name}.fish
%{buildroot}%{_bindir}/%{name} completion zsh  | %__install -Dm 0644 /dev/stdin %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
%__install -Dm 0644 man/man1/mise.1 %{buildroot}%{_mandir}/man1/mise.1

%if %{with run_tests}
%check
%{cargo_test}
%endif

%files
%license LICENSE
%doc CHANGELOG.md SECURITY.md
%{_bindir}/%{name}
%{_mandir}/man1/mise.1%{?ext_man}

%files bash-completion
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/%{name}

%files fish-completion
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/%{name}.fish

%files zsh-completion
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_%{name}

%changelog
openSUSE Build Service is sponsored by