%global debug_package %{nil}

Name: bottom
Version: 0.10.2
Release: 1%{?dist}
Summary: Yet another cross-platform graphical process/system monitor

License: MIT
URL: https://github.com/ClementTsang/bottom
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Source1: %{url}/releases/download/%{version}/completion.tar.gz

%if 0%{?el8} || 0%{?el9}
BuildRequires: gcc
%else
BuildRequires: cargo >= 1.70
BuildRequires: rust >= 1.70
%endif

%description
A cross-platform graphical process/system monitor with a customizable
interface and a multitude of features. Supports Linux, macOS, and Windows.
Inspired by both gtop and gotop.


%prep
%setup -q
%setup -qDT -a1

%if 0%{?el8} || 0%{?el9}
curl https://sh.rustup.rs -sSf | sh -s -- --profile minimal -y
%endif


%install
export CARGO_PROFILE_RELEASE_BUILD_OVERRIDE_OPT_LEVEL=3

%if 0%{?el8} || 0%{?el9}
source "$HOME/.cargo/env"
%endif
cargo install --root=%{buildroot}%{_prefix} --path=. --locked

rm -f %{buildroot}%{_prefix}/.crates.toml \
    %{buildroot}%{_prefix}/.crates2.json
strip --strip-all %{buildroot}%{_bindir}/*

# Completions
install -Dpm 0644 _btm %{buildroot}%{_datadir}/zsh/site-functions/_btm
install -Dpm 0644 btm.bash %{buildroot}%{_datadir}/bash-completion/completions/btm
install -Dpm 0644 btm.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/btm.fish


%files
%license LICENSE
%doc README.md CHANGELOG.md CONTRIBUTING.md sample_configs/
%{_bindir}/btm
%{_datadir}/bash-completion/completions/btm
%{_datadir}/fish/vendor_completions.d/btm.fish
%{_datadir}/zsh/site-functions/_btm


%changelog
* Sat Aug 26 2023 Artem Polishchuk <ego.cordatus@gmail.com> - 0.9.5-1
- chore(update): 0.9.5

* Wed Aug 24 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.8-2
- feat: Add completions
- docs: Add sample configs

* Wed Feb 02 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.8-1
- chore(update): 0.6.8

* Tue Feb 01 2022 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.7-1
- chore(update): 0.6.7

* Mon Dec 20 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.5-1
- chore(update): 0.6.5

* Mon Sep 13 2021 Tim - 0.6.4-1
- build(update): 0.6.4

* Mon Jul 19 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.3-1
- build(update): 0.6.3

* Sat Jun 26 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.2-1
- build(update): 0.6.2

* Wed May 12 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.6.1-1
- build(update): 0.6.1

* Sun Jan 31 2021 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.7-1
- build(update): 0.5.7

* Fri Dec 18 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.6-1
- build(update): 0.5.6

* Tue Dec 15 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.5-1
- build(update): 0.5.5

* Fri Dec 11 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.4-1
- build(update): 0.5.4

* Fri Nov 27 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.3-1
- build(update): 0.5.3

* Thu Nov 26 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.2-1
- build(update): 0.5.2

* Sun Nov 22 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.1-1
- build(update): 0.5.1

* Sat Nov 21 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.5.0-1
- build(update): 0.5.0

* Fri Aug 28 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 0.4.7-1
- Initial package