rust-bat/rust-bat.spec

343 lines
9.4 KiB
RPMSpec

# Generated by rust2rpm 23
%bcond_without check
%global crate bat
Name: rust-bat
Version: 0.21.0
Release: %autorelease
Summary: Cat(1) clone with wings
# Upstream license specification: MIT/Apache-2.0
License: MIT OR Apache-2.0
URL: https://crates.io/crates/bat
Source: %{crates_source}
# Manually created patch for downstream crate metadata changes
# * Port from path_abs to path-absolutize:
# https://github.com/sharkdp/bat/pull/1025
Patch: bat-fix-metadata.diff
Patch: 0001-port-from-path_abs-to-path-absolutize.patch
BuildRequires: rust-packaging >= 23
%global _description %{expand:
Cat(1) clone with wings.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
# 0BSD or MIT or ASL 2.0
# ASL 2.0
# ASL 2.0 or Boost
# ASL 2.0 or MIT
# BSD
# CC0
# LGPLv3+
# MIT
# MIT and GPLv2 with exceptions and BSD
# MIT or ASL 2.0
# MIT or ASL 2.0 or zlib
# MIT or zlib or ASL 2.0
# Unlicense or MIT
# zlib or ASL 2.0 or MIT
License: ASL 2.0 and BSD and CC0 and GPLv2 with exceptions and LGPLv3+ and MIT
# LICENSE.dependencies contains a full license breakdown
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE-APACHE
%license LICENSE-MIT
%license NOTICE
%license LICENSE.dependencies
%doc CHANGELOG.md
%doc CONTRIBUTING.md
%doc README.md
%{_bindir}/bat
%{_mandir}/man1/bat.1*
%{_datadir}/bash-completion/completions/bat
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_bat
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/bat.fish
%package devel
Summary: %{summary}
BuildArch: noarch
%description devel %{_description}
This package contains library source intended for building other packages which
use the "%{crate}" crate.
%files devel
%license %{crate_instdir}/LICENSE-APACHE
%license %{crate_instdir}/LICENSE-MIT
%license %{crate_instdir}/NOTICE
%doc %{crate_instdir}/CHANGELOG.md
%doc %{crate_instdir}/CONTRIBUTING.md
%doc %{crate_instdir}/README.md
%{crate_instdir}/
%package -n %{name}+default-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+default-devel %{_description}
This package contains library source intended for building other packages which
use the "default" feature of the "%{crate}" crate.
%files -n %{name}+default-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+application-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+application-devel %{_description}
This package contains library source intended for building other packages which
use the "application" feature of the "%{crate}" crate.
%files -n %{name}+application-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+atty-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+atty-devel %{_description}
This package contains library source intended for building other packages which
use the "atty" feature of the "%{crate}" crate.
%files -n %{name}+atty-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+bugreport-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+bugreport-devel %{_description}
This package contains library source intended for building other packages which
use the "bugreport" feature of the "%{crate}" crate.
%files -n %{name}+bugreport-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+build-assets-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+build-assets-devel %{_description}
This package contains library source intended for building other packages which
use the "build-assets" feature of the "%{crate}" crate.
%files -n %{name}+build-assets-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+clap-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+clap-devel %{_description}
This package contains library source intended for building other packages which
use the "clap" feature of the "%{crate}" crate.
%files -n %{name}+clap-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+dirs-next-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+dirs-next-devel %{_description}
This package contains library source intended for building other packages which
use the "dirs-next" feature of the "%{crate}" crate.
%files -n %{name}+dirs-next-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+git-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+git-devel %{_description}
This package contains library source intended for building other packages which
use the "git" feature of the "%{crate}" crate.
%files -n %{name}+git-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+git2-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+git2-devel %{_description}
This package contains library source intended for building other packages which
use the "git2" feature of the "%{crate}" crate.
%files -n %{name}+git2-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+grep-cli-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+grep-cli-devel %{_description}
This package contains library source intended for building other packages which
use the "grep-cli" feature of the "%{crate}" crate.
%files -n %{name}+grep-cli-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+minimal-application-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+minimal-application-devel %{_description}
This package contains library source intended for building other packages which
use the "minimal-application" feature of the "%{crate}" crate.
%files -n %{name}+minimal-application-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+paging-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+paging-devel %{_description}
This package contains library source intended for building other packages which
use the "paging" feature of the "%{crate}" crate.
%files -n %{name}+paging-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+regex-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+regex-devel %{_description}
This package contains library source intended for building other packages which
use the "regex" feature of the "%{crate}" crate.
%files -n %{name}+regex-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+regex-fancy-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+regex-fancy-devel %{_description}
This package contains library source intended for building other packages which
use the "regex-fancy" feature of the "%{crate}" crate.
%files -n %{name}+regex-fancy-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+regex-onig-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+regex-onig-devel %{_description}
This package contains library source intended for building other packages which
use the "regex-onig" feature of the "%{crate}" crate.
%files -n %{name}+regex-onig-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+shell-words-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+shell-words-devel %{_description}
This package contains library source intended for building other packages which
use the "shell-words" feature of the "%{crate}" crate.
%files -n %{name}+shell-words-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+walkdir-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+walkdir-devel %{_description}
This package contains library source intended for building other packages which
use the "walkdir" feature of the "%{crate}" crate.
%files -n %{name}+walkdir-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+wild-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+wild-devel %{_description}
This package contains library source intended for building other packages which
use the "wild" feature of the "%{crate}" crate.
%files -n %{name}+wild-devel
%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires -a
%build
%cargo_build
%cargo_license_summary
%{cargo_license} > LICENSE.dependencies
%install
%cargo_install
install -Dpm0644 target/release/build/%{crate}-*/out/assets/manual/bat.1 \
-t %{buildroot}%{_mandir}/man1/
install -Dpm0644 target/release/build/%{crate}-*/out/assets/completions/bat.bash \
%{buildroot}%{_datadir}/bash-completion/completions/bat
install -Dpm0644 target/release/build/%{crate}-*/out/assets/completions/bat.zsh \
%{buildroot}%{_datadir}/zsh/site-functions/_bat
install -Dpm0644 target/release/build/%{crate}-*/out/assets/completions/bat.fish \
-t %{buildroot}%{_datadir}/fish/vendor_completions.d/
%if %{with check}
%check
%ifarch %{arm} ppc64le
# * doctests fail to compile on armv7hl with LLVM 14:
# https://bugzilla.redhat.com/show_bug.cgi?id=2086106
# * doctests fail to compile on ppc64le with LLVM 15:
# https://bugzilla.redhat.com/show_bug.cgi?id=2142648
%cargo_test -- --lib
%else
%cargo_test
%endif
%endif
%changelog
%autochangelog