Files
wayscriber/packaging/PKGBUILD
T

100 lines
5.4 KiB
Bash

# Maintainer: wayscriber maintainers <hyprarcher@proton.me>
pkgname=wayscriber
pkgver=0.9.28
pkgrel=1
pkgdesc='Screen annotation tool for Wayland compositors'
arch=('x86_64' 'aarch64')
url='https://wayscriber.com'
license=('MIT')
depends=(
'cairo'
'wayland'
'pango'
'libxkbcommon'
'gcc-libs'
'glibc'
'gtk4'
'gtk4-layer-shell'
'libadwaita>=1.4'
'wl-clipboard'
'grim'
'slurp'
)
optdepends=(
'tesseract: copy text from screen (OCR)'
'tesseract-data-eng: English language data for OCR'
)
makedepends=(
'cargo'
)
source=("$pkgname-$pkgver.tar.gz::https://github.com/devmobasa/wayscriber/archive/refs/tags/v$pkgver.tar.gz")
# Template only: release/AUR automation replaces this after the tag exists.
sha256sums=('SKIP')
prepare() {
cd "$pkgname-$pkgver"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$CARCH-unknown-linux-gnu"
cargo fetch --locked --manifest-path configurator/Cargo.toml --target "$CARCH-unknown-linux-gnu"
}
build() {
cd "$pkgname-$pkgver"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
cargo build --frozen --release --bins
cargo build --frozen --release --bins --manifest-path configurator/Cargo.toml
}
package() {
cd "$pkgname-$pkgver"
# Install binaries
install -Dm755 "target/release/wayscriber" "$pkgdir/usr/bin/wayscriber"
install -Dm755 "target/release/wayscriber-configurator" "$pkgdir/usr/bin/wayscriber-configurator"
# Install systemd user service
install -Dm644 packaging/wayscriber.service "$pkgdir/usr/lib/systemd/user/wayscriber.service"
# Wayscriber desktop integration
install -Dm644 packaging/wayscriber.desktop "$pkgdir/usr/share/applications/wayscriber.desktop"
install -Dm644 packaging/icons/wayscriber-16.png "$pkgdir/usr/share/icons/hicolor/16x16/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-19.png "$pkgdir/usr/share/icons/hicolor/19x19/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-22.png "$pkgdir/usr/share/icons/hicolor/22x22/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-24.png "$pkgdir/usr/share/icons/hicolor/24x24/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-38.png "$pkgdir/usr/share/icons/hicolor/38x38/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-64.png "$pkgdir/usr/share/icons/hicolor/64x64/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-128.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-16.png "$pkgdir/usr/share/icons/hicolor/16x16/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-19.png "$pkgdir/usr/share/icons/hicolor/19x19/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-22.png "$pkgdir/usr/share/icons/hicolor/22x22/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-24.png "$pkgdir/usr/share/icons/hicolor/24x24/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-38.png "$pkgdir/usr/share/icons/hicolor/38x38/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-64.png "$pkgdir/usr/share/icons/hicolor/64x64/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-128.png "$pkgdir/usr/share/icons/hicolor/128x128/status/wayscriber.png"
install -Dm644 packaging/icons/wayscriber-128.png "$pkgdir/usr/share/pixmaps/wayscriber.png"
install -Dm644 packaging/icons/wayscriber.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/wayscriber.svg"
install -Dm644 packaging/icons/wayscriber-symbolic.svg "$pkgdir/usr/share/icons/hicolor/symbolic/apps/wayscriber-symbolic.svg"
# End Wayscriber desktop integration
# Wayscriber configurator desktop integration
install -Dm644 packaging/wayscriber-configurator.desktop "$pkgdir/usr/share/applications/wayscriber-configurator.desktop"
install -Dm644 packaging/icons/wayscriber-configurator-16.png "$pkgdir/usr/share/icons/hicolor/16x16/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-19.png "$pkgdir/usr/share/icons/hicolor/19x19/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-22.png "$pkgdir/usr/share/icons/hicolor/22x22/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-24.png "$pkgdir/usr/share/icons/hicolor/24x24/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-38.png "$pkgdir/usr/share/icons/hicolor/38x38/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-64.png "$pkgdir/usr/share/icons/hicolor/64x64/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-128.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator-128.png "$pkgdir/usr/share/pixmaps/wayscriber-configurator.png"
install -Dm644 packaging/icons/wayscriber-configurator.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/wayscriber-configurator.svg"
# End Wayscriber configurator desktop integration
# Install documentation and example config
install -Dm644 config.example.toml "$pkgdir/usr/share/doc/$pkgname/config.example.toml"
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
# Install license if available
[ -f LICENSE ] && install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" || true
}