# Contributor: # Maintainer: Sören Tempel pkgname=alacritty pkgver=0.12.2 pkgrel=0 pkgdesc="cross-platform, GPU-accelerated terminal emulator" url="https://github.com/alacritty/alacritty" arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo license="Apache-2.0" # libxi and libcursor are both loaded via dlopen by x11-rs crate. depends="ncurses-terminfo-base wayland-libs-egl libxi libxcursor" makedepends=" cargo cargo-auditable cmake fontconfig-dev freetype-dev libxcb-dev libxkbcommon-dev python3 rust " subpackages=" $pkgname-doc $pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion " options="net" source="$pkgname-$pkgver.tar.gz::https://github.com/alacritty/alacritty/archive/refs/tags/v$pkgver.tar.gz " prepare() { default_prepare cargo fetch --target="$CTARGET" --locked } build() { cargo auditable build --release --frozen } check() { # On x86 and aarch64, a doc test of the alacritty_terminal # package fails to compile with the following error message: # # error: ran out of registers during register allocation # LLVM ERROR: Cannot emit physreg copy instruction # # This seems to be a problem with our rustc and not with # alacritty, disable the doc test for now on these architectures. local _opts="" case $CARCH in x86|aarch64) _opts="--exclude alacritty_terminal" ;; esac cargo test --workspace --release --frozen $_opts } package() { install -Dm755 target/release/alacritty "$pkgdir"/usr/bin/alacritty install -Dm644 extra/alacritty.man "$pkgdir"/usr/share/man/man1/alacritty.1 install -Dm644 extra/alacritty-msg.man "$pkgdir"/usr/share/man/man1/alacritty-msg.1 install -Dm644 alacritty.yml "$pkgdir"/etc/alacritty/alacritty.yml # Install addition documentation files. install -Dm644 -t "$pkgdir"/usr/share/doc/$pkgname \ README.md CHANGELOG.md docs/* # Install desktop files. install -Dm644 extra/linux/Alacritty.desktop -t "$pkgdir"/usr/share/applications install -Dm644 extra/logo/alacritty-term.svg \ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/Alacritty.svg install -Dm644 extra/linux/org.alacritty.Alacritty.appdata.xml \ "$pkgdir"/usr/share/metainfo/org.alacritty.Alacritty.appdata.xml # Install completion files. install -Dm644 extra/completions/alacritty.bash \ "$pkgdir"/usr/share/bash-completion/completions/"$pkgname" install -Dm644 extra/completions/alacritty.fish \ "$pkgdir"/usr/share/fish/vendor_completions.d/"$pkgname".fish install -Dm644 extra/completions/_alacritty \ "$pkgdir"/usr/share/zsh/site-functions/_"$pkgname" } sha512sums=" 7d0866aed0228feb5ca17d631e28c4f0558acac27d64542f0c4e141ad34e2c7ad229dabd8917f479df2dafc29dcc215b49d2cfabcb974f6f58f73b61c0007110 alacritty-0.12.2.tar.gz "