1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-24 11:45:18 +03:00
aports/community/alacritty/APKBUILD
ptrcnull fbcf4c4f11 */*: utilise sparse crates.io fetches
this is a million times faster

new only in rust 1.68, and fails on older versions,
but we have only latest in aports and don't support anything else, so
it's okay.
2023-03-10 00:35:53 +01:00

83 lines
2.7 KiB
Text

# Contributor: Drew DeVault <sir@cmpwn.com>
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=alacritty
pkgver=0.11.0
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="
rust
cargo
cmake
fontconfig-dev
freetype-dev
libxkbcommon-dev
libxcb-dev
python3
"
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
"
export CARGO_HOME="$srcdir"/cargo
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse"
build() {
cargo build --release --verbose
}
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 --verbose $_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/completions/"$pkgname".fish
install -Dm644 extra/completions/_alacritty \
"$pkgdir"/usr/share/zsh/site-functions/_"$pkgname"
}
sha512sums="
5554aae3aad52430cb7087bc5863ac505c8f351fb4b5c3fd8f1b82a450e84ecc09b645c21e5f147289c4715a98ebbe045d401f728efe81bd7ded0e1bbe5ab7dd alacritty-0.11.0.tar.gz
"