alacritty/alacritty.spec

131 lines
3.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package alacritty
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define rev dcc4b750381cd2096b6001cbf94e95a6e6b52ed0
Name: alacritty
Version: 0.1.0
Release: 0
Summary: A cross-platform, GPU-accelerated terminal emulator
License: Apache-2.0
Group: System/X11/Terminals
URL: https://github.com/jwilm/alacritty/
Source: https://github.com/jwilm/alacritty/archive/%{rev}.tar.gz#/%{name}-%{version}.tar.gz
Source1: vendor.tar.xz
BuildRequires: cargo
BuildRequires: cmake
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: rust
BuildRequires: rust-std
BuildRequires: xclip
%description
Alacritty is the fastest terminal emulator in existence. Using the GPU for
rendering enables optimizations that simply aren't possible in other
emulators.
Alacritty currently supports macOS and Linux, and Windows support is
planned before the 1.0 release.
%package bash-completion
Release: 0
Summary: Bash Completion for %{name}
Requires: bash-completion
Supplements: packageand(%{name}:bash)
BuildArch: noarch
%description bash-completion
The official bash completion script for alacritty. It includes support
for every argument that can currently be passed to alacritty.
%package fish-completion
Release: 0
Summary: Fish Completion for %{name}
Requires: fish-completion
Supplements: packageand(%{name}:fish)
BuildArch: noarch
%description fish-completion
The official fish completion script for alacritty.
%package zsh-completion
Release: 0
Summary: ZSH Completion for %{name}
Requires: zsh-completion
Supplements: packageand(%{name}:zsh)
BuildArch: noarch
%description zsh-completion
The official zsh completion script for alacritty.
%prep
%setup -q -n %{name}-%{rev}
%setup -q -n %{name}-%{rev} -D -T -a 1
mkdir cargo-home
cat >cargo-home/config <<EOF
[source.crates-io]
replace-with = "vendored-sources"
[source."https://github.com/jwilm/libfontconfig"]
git = "https://github.com/jwilm/libfontconfig"
branch = "updated-2017-10-8"
replace-with = "vendored-sources"
[source."https://github.com/jwilm/rust-fontconfig"]
git = "https://github.com/jwilm/rust-fontconfig"
branch = "updated-2017-10-8"
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "./vendor"
EOF
%build
export CARGO_HOME=$PWD/cargo-home
cargo build --release %{?_smp_mflags}
%install
export CARGO_HOME=$PWD/cargo-home
cargo install --root=%{buildroot}/%{_prefix}
# rm duplicate license and useless toml file
rm -fr %{buildroot}%{_datadir}
rm %{buildroot}%{_prefix}/.crates.toml
# install man page and completions
install -Dm 0644 %{name}.man %{buildroot}/%{_mandir}/man1/%{name}.1
install -Dm 0644 %{name}-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/%{name}
install -Dm 0644 %{name}-completions.fish %{buildroot}/%{_datadir}/fish/vendor_completions.d/%{name}.fish
install -Dm 0644 %{name}-completions.zsh %{buildroot}/%{_datadir}/zsh/site-functions/_%{name}
%files
%license LICENSE-APACHE
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1%{?ext_man}
%files bash-completion
%{_datadir}/bash-completion
%files fish-completion
%{_datadir}/fish
%files zsh-completion
%{_datadir}/zsh
%changelog