Blob Blame History Raw
# Generated by rust2rpm
%bcond_without check
# Exa is not supposed to be used as a library
%global __cargo_is_lib() false

%global crate exa

Name:           rust-%{crate}
Version:        0.8.0
Release:        14%{?dist}
Summary:        Modern replacement for ls

License:        MIT
URL:            https://crates.io/crates/exa
Source:         %{crates_source}
# Initial patched metadata
# * Bump ansi_term to 0.11, remove getopts, https://github.com/ogham/exa/commit/4c3fd5483d2eff2ea1e623878ede54eaa396e09e
# * Bump env_logger to 0.6, https://github.com/ogham/exa/pull/315
#                           https://github.com/ogham/exa/pull/469
# * Bump users to 0.9, https://github.com/ogham/exa/pull/495
# * Bump lazy_static, https://github.com/ogham/exa/pull/322
# * Bump git2 to 0.8, https://github.com/ogham/exa/commit/f757300718b1861852d4a33459385eaf921d69e7
#                     https://github.com/ogham/exa/pull/461
Patch0:         exa-fix-metadata.diff
# Make it work with new git2
Patch1:         0001-Upgrade-libgit2.patch
# Make it work with new env_logger
Patch2:         0001-Update-log-to-0.4-and-env_logger-to-0.5.patch
# Make it work with new users
Patch3:         0001-Bump-users-crate-version.patch

ExclusiveArch:  %{rust_arches}

BuildRequires:  rust-packaging
BuildRequires:  (crate(ansi_term/default) >= 0.11.0 with crate(ansi_term/default) < 0.12.0)
BuildRequires:  (crate(datetime/default) >= 0.4.5 with crate(datetime/default) < 0.5.0)
BuildRequires:  (crate(env_logger/default) >= 0.6.0 with crate(env_logger/default) < 0.7.0)
BuildRequires:  (crate(git2) >= 0.8.0 with crate(git2) < 0.9.0)
BuildRequires:  (crate(glob/default) >= 0.2.0 with crate(glob/default) < 0.3.0)
BuildRequires:  (crate(lazy_static/default) >= 1.0.0 with crate(lazy_static/default) < 2.0.0)
BuildRequires:  (crate(libc/default) >= 0.2.9 with crate(libc/default) < 0.3.0)
BuildRequires:  (crate(locale/default) >= 0.2.1 with crate(locale/default) < 0.3.0)
BuildRequires:  (crate(log/default) >= 0.4.0 with crate(log/default) < 0.5.0)
BuildRequires:  (crate(natord/default) >= 1.0.7 with crate(natord/default) < 2.0.0)
BuildRequires:  (crate(num_cpus/default) >= 1.3.0 with crate(num_cpus/default) < 2.0.0)
BuildRequires:  (crate(number_prefix/default) >= 0.2.3 with crate(number_prefix/default) < 0.3.0)
BuildRequires:  (crate(scoped_threadpool/default) >= 0.1.0 with crate(scoped_threadpool/default) < 0.2.0)
BuildRequires:  (crate(term_grid/default) >= 0.1.6 with crate(term_grid/default) < 0.2.0)
BuildRequires:  (crate(term_size/default) >= 0.3.0 with crate(term_size/default) < 0.4.0)
BuildRequires:  (crate(unicode-width/default) >= 0.1.4 with crate(unicode-width/default) < 0.2.0)
BuildRequires:  (crate(users/default) >= 0.9.0 with crate(users/default) < 0.10.0)
BuildRequires:  (crate(zoneinfo_compiled/default) >= 0.4.5 with crate(zoneinfo_compiled/default) < 0.5.0)

%global _description \
A modern replacement for ls.

%description %{_description}

%package     -n %{crate}
Summary:        %{summary}

%description -n %{crate}
%{summary}.

%files       -n %{crate}
%license LICENCE
%doc README.md
%{_bindir}/exa
%{_mandir}/man1/exa.1*
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/exa.bash
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_functions.d
%{_datadir}/fish/vendor_functions.d/exa.fish
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_exa

%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep

%build
%cargo_build

%install
%cargo_install
%{__install} -Dpm0644 -t %{buildroot}%{_mandir}/man1 contrib/man/exa.1
%{__install} -Dpm0644 -T contrib/completions.bash \
  %{buildroot}%{_datadir}/bash-completion/completions/exa.bash
%{__install} -Dpm0644 -T contrib/completions.fish \
  %{buildroot}%{_datadir}/fish/vendor_functions.d/exa.fish
%{__install} -Dpm0644 -T contrib/completions.zsh \
  %{buildroot}%{_datadir}/zsh/site-functions/_exa

%if %{with check}
%check
# https://github.com/ogham/exa/issues/318
%cargo_test || :
%endif

%changelog
* Thu Apr 25 17:20:22 CET 2019 Robert-André Mauchin <zebob.m@gmail.com> - 0.8.0-214
- Rebuilt for rust-users 0.9.1

* Sun Feb 10 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-13
- Update git2 and env_logger deps

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Nov 14 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-11
- Adapt to new packaging

* Fri Aug 10 2018 Josh Stone <jistone@redhat.com> - 0.8.0-10
- Rebuild with fixed rust-libgit2-sys-0.7.7

* Fri Aug 10 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-9
- Rebuild for libgit2 0.27.x

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Mon Jun 25 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-7
- Bump users to 0.7

* Mon Mar 26 2018 Josh Stone <jistone@redhat.com> - 0.8.0-6
- Bump ansi_term to 0.11

* Mon Mar 12 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-5
- Bump git2 to 0.7

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Mon Jan 08 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-3
- Rebuild for rust-packaging v5

* Thu Nov 30 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-2
- Bump lazy_static to 1

* Tue Nov 21 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-1
- Initial package