refactor: restructure to standard Go project layout (cmd/ + internal/)
- 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
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 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"
|
||||
}
|
||||
Reference in New Issue
Block a user