Files
Cachy-Predator-Keyboard/packaging/arch/PKGBUILD
T
MrBlakeandClaude Opus 5.5 571cfcca2a Add power settings for the lighting, bump to 1.4.0
New Power page:
- toggle for the firmware's 30 s keyboard backlight timeout
- idle timeout for keyboard and lightbar, separately for AC and battery;
  predatord watches all input devices and restores the lighting on the
  next input
- battery rules: dimmed keyboard brightness, keyboard off, lightbar off

The rules only change what is sent to the hardware; the saved lighting
settings stay untouched.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 17:59:42 +02:00

58 lines
2.8 KiB
Bash

# Maintainer: Louis-Alexander Kerst <louis@alexander-kerst.de>
#
# Builds the pacman package from this source checkout:
# cd packaging/arch && makepkg -f
# sudo pacman -U predator-control-*.pkg.tar.zst
pkgname=predator-control
pkgver=1.4.0
pkgrel=1
pkgdesc="PredatorSense replacement for Acer Predator laptops: performance modes, fans, keyboard RGB, lightbar, battery (Qt app + Plasma widget)"
arch=('any')
url="https://git.mrblake.cc/MrBlake/Cachy-Predator-Keyboard"
license=('GPL-2.0-only')
depends=('python' 'pyside6' 'dkms')
optdepends=('plasma-workspace: panel widget'
'linux-headers: build the kernel module for the stock Arch kernel'
'linux-cachyos-headers: build the kernel module for CachyOS kernels'
'clang: needed by DKMS for clang-built kernels (CachyOS)'
'lld: needed by DKMS for clang-built kernels (CachyOS)'
'llvm: needed by DKMS for clang-built kernels (CachyOS)')
install=predator-control.install
source=()
_src="$(realpath "$startdir/../..")"
_modver=1.4.0
package() {
cd "$_src"
# Python package and launchers
install -d "$pkgdir/usr/lib/predator-control/predator_control/gui"
install -m644 predator_control/*.py "$pkgdir/usr/lib/predator-control/predator_control/"
install -m644 predator_control/gui/*.py "$pkgdir/usr/lib/predator-control/predator_control/gui/"
python -m compileall -q -d /usr/lib/predator-control "$pkgdir/usr/lib/predator-control"
for b in predatord predatorctl predator-control; do
install -Dm755 "bin/$b" "$pkgdir/usr/bin/$b"
done
# Kernel module as DKMS source (built automatically by the dkms pacman hook)
install -d "$pkgdir/usr/src/predator-wmi-$_modver"
install -m644 kernel/{predator_wmi.c,Makefile,dkms.conf} "$pkgdir/usr/src/predator-wmi-$_modver/"
install -Dm644 data/modules-load-predator-control.conf "$pkgdir/usr/lib/modules-load.d/predator-control.conf"
# Service, resume hook, desktop integration
install -Dm644 data/predatord.service "$pkgdir/usr/lib/systemd/system/predatord.service"
install -Dm755 data/system-sleep-predator-control "$pkgdir/usr/lib/systemd/system-sleep/predator-control"
install -Dm644 data/predator-control.desktop "$pkgdir/usr/share/applications/predator-control.desktop"
install -Dm644 data/predator-control.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/predator-control.svg"
# Plasma panel widget
local p="$pkgdir/usr/share/plasma/plasmoids/org.predatorcontrol.panel"
install -Dm644 plasmoid/org.predatorcontrol.panel/metadata.json "$p/metadata.json"
install -Dm644 plasmoid/org.predatorcontrol.panel/contents/ui/main.qml "$p/contents/ui/main.qml"
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
install -Dm644 CHANGELOG.md "$pkgdir/usr/share/doc/$pkgname/CHANGELOG.md"
}