Files
umutray/packaging/PKGBUILD
T
funman300 c1893f9f64 refactor: rename service to autostart, fix fork bomb, add rfd file picker, use dirs crate, auto-start launcher, propagate overlays, ensure icon
- Rename service module to autostart (no systemd service is used)
- Fix fork bomb: replace subprocess spawning with thread::spawn
- Replace zenity/kdialog with rfd crate for XDG Portal file picker
- Use dirs crate instead of env::var("HOME")
- Auto-start launcher before game launch for online auth
- Propagate gamemode/mangohud env vars to launcher process
- Auto-install SVG icon on startup via ensure_icon()
- Add assets/umutray.svg
- Remove stale zenity/kdialog optdepends from PKGBUILD
- Update .gitignore for .claude/ and CLAUDE.md
2026-04-19 13:02:32 -07:00

61 lines
1.7 KiB
Bash

# Maintainer: funman300 <funman300@gmail.com>
#
# AUR NOTE: This PKGBUILD is kept in the source repo for convenience during
# development. For AUR submission, move it to a separate repository and update
# the `source` array to point to the upstream git URL instead of a local path.
#
# To build locally:
# cd packaging && makepkg -si
#
# To update for AUR, replace the source line with:
# source=("$pkgname::git+https://git.aleshym.co/funman300/umutray.git#tag=v$pkgver")
pkgname=umutray
pkgver=0.1.0
pkgrel=6
pkgdesc='Tray-based Wine launcher manager for Linux via umu/Proton-GE'
arch=('x86_64')
url='https://git.aleshym.co/funman300/umutray'
license=('MIT')
depends=('umu-launcher')
makedepends=('rust' 'cargo')
optdepends=(
'gamemode: per-game GameMode support'
'mangohud: per-game MangoHud overlay'
'gamescope: per-game Gamescope compositor'
)
# Build from the local repository. Change to the upstream URL for AUR.
_localrepo="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
source=("$pkgname::git+file://${_localrepo}")
sha256sums=('SKIP')
prepare() {
cd "$pkgname"
export RUSTUP_TOOLCHAIN=stable
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "$pkgname"
export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
cargo build --release --locked --offline
}
package() {
cd "$pkgname"
# Binary
install -Dm755 target/release/umutray "$pkgdir/usr/bin/umutray"
# App menu entry
install -Dm644 umutray.desktop "$pkgdir/usr/share/applications/umutray.desktop"
# Icon
install -Dm644 assets/umutray.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/umutray.svg"
# License
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}