- Move entry point to cmd/streamdeck-lets-go/ - Split package main into internal packages: - internal/deck: hardware control (Deck, events, brightness) - internal/render: key rendering, icons, fonts, PageManager - internal/web: HTTP API + embedded SPA - internal/daemon: event loop, autoswitch, screensaver, actions - Add ConfigDir() to internal/config - Export cross-package API (Deck, PageManager, WebServer, etc.) - Move dist/arch/ → packaging/ with updated PKGBUILD/.SRCINFO - Add Makefile (build, test, vet, fmt, install) - Update README with new build commands and project structure - Delete unused media.go stub
49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
# Maintainer: totmin <totmin@users.noreply.github.com>
|
|
|
|
pkgname=streamdeck-lets-go-git
|
|
_giturl=https://github.com/totmin/streamdeck-lets-go.git
|
|
pkgver=0.1.0
|
|
pkgrel=1
|
|
pkgdesc="Lightweight daemon for controlling Elgato Stream Deck devices with a built-in web UI"
|
|
arch=('x86_64' 'aarch64')
|
|
url="https://github.com/totmin/streamdeck-lets-go"
|
|
license=('MIT')
|
|
depends=('libusb')
|
|
optdepends=('librsvg: SVG icon rendering'
|
|
'fontconfig: system font detection')
|
|
makedepends=('go>=1.26' 'git')
|
|
provides=('streamdeck-lets-go')
|
|
conflicts=('streamdeck-lets-go')
|
|
|
|
source=("${pkgname}::git+${_giturl}"
|
|
"packaging/streamdeck-lets-go.service"
|
|
"packaging/90-streamdeck.rules")
|
|
b2sums=('SKIP'
|
|
'SKIP'
|
|
'SKIP')
|
|
|
|
pkgver() {
|
|
cd "${srcdir}/${pkgname}"
|
|
git describe --always --tags 2>/dev/null || echo "r0.$(git rev-parse --short HEAD)"
|
|
}
|
|
|
|
build() {
|
|
cd "${srcdir}/${pkgname}"
|
|
export CGO_ENABLED=1
|
|
go build \
|
|
-ldflags "-s -w" \
|
|
-o streamdeck-lets-go ./cmd/streamdeck-lets-go
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/${pkgname}"
|
|
|
|
install -Dm755 streamdeck-lets-go "${pkgdir}/usr/bin/streamdeck-lets-go"
|
|
|
|
install -Dm644 "${srcdir}/packaging/streamdeck-lets-go.service" \
|
|
"${pkgdir}/usr/lib/systemd/user/streamdeck-lets-go.service"
|
|
|
|
install -Dm644 "${srcdir}/packaging/90-streamdeck.rules" \
|
|
"${pkgdir}/usr/lib/udev/rules.d/90-streamdeck.rules"
|
|
}
|