corsairctl/PKGBUILD
nevaforget 95802c5d37 feat: Waybar-Wrapper mit File-Locking und Cache
Waybar startet pro Monitor eine eigene corsairctl-Instanz.
Mehrere Prozesse auf demselben HID-Gerät verursachen Response-Mixups.
Der Wrapper cached den JSON-Output für 10s und nutzt flock
damit nur ein Prozess gleichzeitig das Gerät anspricht.
2026-03-27 23:41:08 +01:00

33 lines
919 B
Bash

# Maintainer: nevaforget <dom@moonarch.de>
pkgname=corsairctl
pkgver=0.1.0
pkgrel=1
pkgdesc='CLI tool for Corsair Bragi-protocol devices (HS80 RGB Wireless, etc.)'
arch=('x86_64')
url='https://gitea.moonarch.de/nevaforget/corsairctl'
license=('MIT')
depends=('hidapi' 'alsa-lib')
makedepends=('cargo' 'pkg-config')
source=("git+${url}.git")
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 --frozen --release
}
package() {
cd "$pkgname"
install -Dm755 "target/release/$pkgname" "$pkgdir/usr/bin/$pkgname"
install -Dm755 "scripts/corsairctl-waybar.sh" "$pkgdir/usr/bin/corsairctl-waybar"
install -Dm644 "udev/99-corsair.rules" "$pkgdir/usr/lib/udev/rules.d/99-corsair.rules"
}