%define _unpackaged_files_terminate_build 1
Name: eza
Version: 0.18.8
Release: alt1
Summary: A modern, maintained replacement for ls
License: MIT
Group: System/Base
Url: https://eza.rocks/
VCS: https://github.com/eza-community/eza.git
Source: %name-%version.tar
Source1: %name-%version-vendor.tar
Patch0: %name-%version-alt.patch
BuildRequires: /proc
BuildRequires: rust
BuildRequires: rust-cargo
BuildRequires: libgit2-devel
BuildRequires: pandoc
Provides: exa = %EVR
Obsoletes: exa
%description
eza is a modern, maintained replacement for the venerable file-listing
command-line program ls that ships with Unix and Linux operating
systems, giving it more features and better defaults. It uses colours
to distinguish file types and metadata. It knows about symlinks,
extended attributes, and Git. And it's small, fast, and just one
single binary.
%prep
%setup -a1
%patch0 -p1
sed -i -e '/^strip = true$/ s/true/false/' Cargo.toml
mkdir -p .cargo
cat > .cargo/config <<EOF
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
EOF
%build
cargo build --release %{?_smp_mflags} --all-targets --offline
mkdir -p target/man
for manpage in eza.1 eza_colors.5 eza_colors-explanation.5; do
pandoc --standalone -f markdown -t man "man/${manpage}.md" > "target/man/${manpage}"
done
%install
install -D -m755 target/release/eza %buildroot%_bindir/eza
ln -s eza %buildroot%_bindir/exa
# install completions
install -Dm 0644 completions/bash/eza %buildroot%_datadir/bash-completion/completions/eza
install -Dm 0644 completions/zsh/_eza %buildroot%_datadir/zsh/site-functions/_eza
install -Dm 0644 completions/fish/eza.fish %buildroot%_datadir/fish/vendor_completions.d/eza.fish
# install man pages
install -Dm644 target/man/*.1 -t %buildroot%_man1dir
install -Dm644 target/man/*.5 -t %buildroot%_man5dir
%check
cargo test --release --offline
%files
%doc LICENCE README.md
%_bindir/*
%_man1dir/*
%_man5dir/*
%_datadir/bash-completion/completions/eza
%_datadir/zsh/site-functions/_eza
%_datadir/fish/vendor_completions.d/eza.fish
%changelog
* Tue Mar 26 2024 Egor Ignatov <egori@altlinux.org> 0.18.8-alt1
- 0.18.8
* Mon Mar 18 2024 Egor Ignatov <egori@altlinux.org> 0.18.7-alt1
- 0.18.7
* Thu Mar 07 2024 Egor Ignatov <egori@altlinux.org> 0.18.6-alt1
- 0.18.6
* Sun Mar 03 2024 Egor Ignatov <egori@altlinux.org> 0.18.5-alt1
- Replace exa with maintained fork eza
- 0.18.5
* Mon May 30 2022 Egor Ignatov <egori@altlinux.org> 0.10.1-alt2
- Fix FTBFS on rust 1.61.0
* Wed Apr 14 2021 Egor Ignatov <egori@altlinux.org> 0.10.1-alt1
- First build for ALT