| 1 | # Contributor: Rdbo <[email protected]> |
| 2 | # Contributor: Fabricio Silva <[email protected]> |
| 3 | # Maintainer: Nicolas Lorin <[email protected]> |
| 4 | pkgname=rio |
| 5 | pkgver=0.5.27 |
| 6 | pkgrel=0 |
| 7 | pkgdesc="A hardware-accelerated GPU terminal emulator powered by WebGPU, focusing to run in desktops and browsers." |
| 8 | url="https://raphamorim.io/rio" |
| 9 | # s390x: blocked by spirv-cross2 crate |
| 10 | # x86, armv7, armhf: otm error |
| 11 | arch="all !s390x !x86 !armv7 !armhf" |
| 12 | license="MIT" |
| 13 | # net: required to fetch rust dependencies |
| 14 | options="net" |
| 15 | depends="$pkgname-terminfo" |
| 16 | makedepends=" |
| 17 | cargo |
| 18 | cargo-auditable |
| 19 | cmake |
| 20 | expat-dev |
| 21 | fontconfig-dev |
| 22 | freetype-dev |
| 23 | glslang-dev |
| 24 | libxcb-dev |
| 25 | ncurses |
| 26 | python3 |
| 27 | " |
| 28 | subpackages="$pkgname-doc $pkgname-terminfo" |
| 29 | source="$pkgname-$pkgver.tar.gz::https://github.com/raphamorim/rio/archive/refs/tags/v$pkgver.tar.gz" |
| 30 | |
| 31 | # tests are too slow |
| 32 | case "$CARCH" in |
| 33 | riscv64) options="$options !check";; |
| 34 | esac |
| 35 | |
| 36 | prepare() { |
| 37 | default_prepare |
| 38 | |
| 39 | cargo fetch --target="$CTARGET" --locked |
| 40 | } |
| 41 | |
| 42 | build() { |
| 43 | cargo auditable build --release --frozen --no-default-features --features=x11,wayland |
| 44 | tic -e rio -x -o terminfo misc/rio.terminfo |
| 45 | } |
| 46 | |
| 47 | check() { |
| 48 | cargo test --release --frozen |
| 49 | } |
| 50 | |
| 51 | package() { |
| 52 | install -Dm755 target/release/rio "$pkgdir"/usr/bin/rio |
| 53 | install -Dm644 terminfo/r/rio "$pkgdir"/usr/share/terminfo/r/rio |
| 54 | |
| 55 | # Install desktop files |
| 56 | install -Dm644 misc/rio.desktop -t "$pkgdir"/usr/share/applications/ |
| 57 | install -Dm644 misc/logo.svg \ |
| 58 | "$pkgdir"/usr/share/icons/hicolor/scalable/apps/rio.svg |
| 59 | |
| 60 | install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ |
| 61 | } |
| 62 | |
| 63 | terminfo() { |
| 64 | amove usr/share/terminfo |
| 65 | } |
| 66 | |
| 67 | sha512sums=" |
| 68 | 74bce1e2bab71caaf327b1dc6387ab941d08fb51a4cfa4a57ca53ba95c71dd396bfae17379f89f1a343b84cb707ad99f36029af867806844c6dc6bb4bd5e071c rio-0.5.27.tar.gz |
| 69 | " |