Blob Blame History Raw
# Generated by rust2rpm 21
%bcond_without check

%global crate alacritty

Name:           rust-%{crate}
Version:        0.10.1
Release:        %autorelease
Summary:        Fast, cross-platform, OpenGL terminal emulator

# Upstream license specification: Apache-2.0
License:        ASL 2.0
URL:            https://crates.io/crates/alacritty
Source:         %{crates_source}
Source1:        https://github.com/alacritty/alacritty/releases/download/v%{version}/Alacritty.desktop
Source2:        https://github.com/alacritty/alacritty/releases/download/v%{version}/Alacritty.svg
Source3:        https://github.com/alacritty/alacritty/releases/download/v%{version}/alacritty.yml
Source4:        https://github.com/alacritty/alacritty/releases/download/v%{version}/alacritty.bash
Source5:        https://github.com/alacritty/alacritty/releases/download/v%{version}/_alacritty
Source6:        https://github.com/alacritty/alacritty/releases/download/v%{version}/alacritty.fish
Source7:        https://github.com/alacritty/alacritty/releases/download/v%{version}/alacritty.1.gz
Source8:        https://github.com/alacritty/alacritty/releases/download/v%{version}/alacritty-msg.1.gz

# Initial patched metadata
# * drop windows- and mac OS-specific dependencies
Patch0:         alacritty-fix-metadata.diff

ExclusiveArch:  %{rust_arches}

BuildRequires:  desktop-file-utils
BuildRequires:  rust-packaging >= 21

%global _description %{expand:
Fast, cross-platform, OpenGL terminal emulator.}

%description %{_description}

%package     -n %{crate}
Summary:        %{summary}
# * ASL 2.0
# * ASL 2.0 and MIT
# * ASL 2.0 or Boost
# * ASL 2.0 or MIT
# * BSD
# * CC0
# * ISC
# * MIT
# * MIT or ASL 2.0
# * Unlicense or MIT
# * zlib
License:        ASL 2.0 and BSD and CC0 and ISC and MIT and zlib

# libwayland-egl is dlopened when running on a wayland compositor
Requires:       libwayland-egl

%description -n %{crate} %{_description}

%files       -n %{crate}
%license LICENSE-APACHE
%doc README.md
%{_bindir}/alacritty
%dir %{_datadir}/%{crate}
%{_mandir}/man1/alacritty.1*
%{_mandir}/man1/alacritty-msg.1*
%{_datadir}/applications/Alacritty.desktop
%{_datadir}/pixmaps/Alacritty.svg
%{_datadir}/%{crate}/alacritty.yml
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/alacritty
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_alacritty
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%{_datadir}/fish/vendor_completions.d/alacritty.fish

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

zcat %{SOURCE7} >alacritty.1
zcat %{SOURCE8} >alacritty-msg.1

%generate_buildrequires
%cargo_generate_buildrequires

%build
%cargo_build

%install
%cargo_install
install -m644 %{SOURCE1} -pD %{buildroot}%{_datadir}/applications/Alacritty.desktop
install -m644 %{SOURCE2} -pD %{buildroot}%{_datadir}/pixmaps/Alacritty.svg
install -m644 %{SOURCE3} -pD %{buildroot}%{_datadir}/%{crate}/alacritty.yml
install -m644 %{SOURCE4} -pD %{buildroot}%{_datadir}/bash-completion/completions/alacritty
install -m644 %{SOURCE5} -pD %{buildroot}%{_datadir}/zsh/site-functions/_alacritty
install -m644 %{SOURCE6} -pD %{buildroot}%{_datadir}/fish/vendor_completions.d/alacritty.fish
install -m644 -pDt %{buildroot}%{_mandir}/man1/ alacritty.1
install -m644 -pDt %{buildroot}%{_mandir}/man1/ alacritty-msg.1

%if %{with check}
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/Alacritty.desktop
%cargo_test -- -- --skip config_read_eof stdout --skip completions stdout
%endif

%changelog
%autochangelog