1# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
2pkgname=alacritty
3pkgver=0.15.0
4pkgrel=1
5pkgdesc="cross-platform, GPU-accelerated terminal emulator"
6url="https://github.com/alacritty/alacritty"
7# s390x: incompatible with nix crate
8arch="all !s390x"
9license="Apache-2.0"
10# libxi, libcursor, and libxkbcommon-x11 are loaded via dlopen by x11-rs and xkbcommon-dl crate.
11depends="ncurses-terminfo-base wayland-libs-egl libxi libxcursor libxkbcommon-x11"
12makedepends="
13 cargo
14 cargo-auditable
15 cmake
16 fontconfig-dev
17 freetype-dev
18 libxcb-dev
19 libxkbcommon-dev
20 python3
21 rust
22 scdoc
23 "
24subpackages="
25 $pkgname-doc
26 $pkgname-bash-completion
27 $pkgname-fish-completion
28 $pkgname-zsh-completion
29 "
30options="net"
31source="$pkgname-$pkgver.tar.gz::https://github.com/alacritty/alacritty/archive/refs/tags/v$pkgver.tar.gz
32 fix-kitt-keyboard-regression.patch"
33
34prepare() {
35 default_prepare
36
37 cargo fetch --target="$CTARGET" --locked
38}
39
40build() {
41 # Compile all man pages.
42 local scd
43 for scd in extra/man/*.scd; do
44 scdoc < "$scd" > "${scd%.*}"
45 done
46
47 cargo auditable build --release --frozen
48}
49
50check() {
51 cargo test --workspace --release --frozen
52}
53
54package() {
55 install -Dm755 target/release/alacritty "$pkgdir"/usr/bin/alacritty
56
57 # Install all man pages
58 local f
59 for f in extra/man/*.?; do
60 install -Dm644 "$f" "$pkgdir"/usr/share/man/man${f##*.}/${f##*/}
61 done
62
63 # Install addition documentation files.
64 install -Dm644 -t "$pkgdir"/usr/share/doc/$pkgname \
65 README.md CHANGELOG.md docs/*
66
67 # Install desktop files.
68 install -Dm644 extra/linux/Alacritty.desktop -t "$pkgdir"/usr/share/applications
69 install -Dm644 extra/logo/alacritty-term.svg \
70 "$pkgdir"/usr/share/icons/hicolor/scalable/apps/Alacritty.svg
71 install -Dm644 extra/linux/org.alacritty.Alacritty.appdata.xml \
72 "$pkgdir"/usr/share/metainfo/org.alacritty.Alacritty.appdata.xml
73
74 # Install completion files.
75 install -Dm644 extra/completions/alacritty.bash \
76 "$pkgdir"/usr/share/bash-completion/completions/"$pkgname"
77 install -Dm644 extra/completions/alacritty.fish \
78 "$pkgdir"/usr/share/fish/vendor_completions.d/"$pkgname".fish
79 install -Dm644 extra/completions/_alacritty \
80 "$pkgdir"/usr/share/zsh/site-functions/_"$pkgname"
81}
82
83sha512sums="
84a4cb13a3d280fad8b803b1c41c314bf946d935b6725ef26405a48472f4d2c93e2ae5820720437b0e6387d7c78e96bfa09c910775bc400e7fbda412b62b72c84d alacritty-0.15.0.tar.gz
8567e979a47e92a56a277764632e125a51b14fa5d8e520305d0c1b2e1652f6c12c7fea5705e3d002b9bf80b55daa31d65ede5d37b9f320d6f63482c65e1431041e fix-kitt-keyboard-regression.patch
86"