blob: 571e93399ac42d3c8fc1252d616ee758c67fff37 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#!/bin/sh
# PKGBUILD for AUR -git (development) package
# This is used for the AUR system-bridge-git package
# pkgver is replaced by prepare-aur.sh before publication
pkgname=system-bridge-git
pkgver=5.8.1.r6124.gf00650b
pkgrel=1
pkgdesc="A bridge for your systems (git version)"
makedepends=('git' 'mise')
source=("$pkgname::git+https://github.com/timmo001/system-bridge.git")
md5sums=('SKIP')
conflicts=('system-bridge' 'system-bridge-debug')
arch=('x86_64')
url="https://github.com/timmo001/system-bridge"
license=('Apache-2.0')
keywords=('system-bridge' 'automation' 'home-assistant' 'api' 'websocket')
depends=('libx11' 'libxtst' 'libxkbcommon' 'libxkbcommon-x11')
optdepends=('pciutils: GPU model identification via lspci'
'zenity: tray and desktop confirmation prompts'
'lm_sensors: broader temperature and fan sensor coverage'
'nvidia-utils: NVIDIA GPU metrics via nvidia-smi')
provides=('system-bridge')
options=('!strip')
pkgver() {
cd "$pkgname"
local base_version last_tag major minor patch
last_tag="$(git describe --tags --abbrev=0 2>/dev/null || printf '%s\n' 'v0.0.0')"
base_version="${last_tag#v}"
base_version="${base_version%%-*}"
IFS=. read -r major minor patch <<<"$base_version"
printf '%s.%s.%s.r%s.g%s' "${major:-0}" "${minor:-0}" "$(( ${patch:-0} + 1 ))" \
"$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}
build() {
cd "$pkgname"
export MISE_DATA_DIR="${srcdir}/.mise"
export MISE_CACHE_DIR="${srcdir}/.cache/mise"
# Isolate from the building user's global mise config so the build only
# installs this repo's mise.toml tools (bun, go, node) instead of their
# entire personal toolset.
export MISE_CONFIG_DIR="${srcdir}/.config/mise"
export PATH="${MISE_DATA_DIR}/shims:${PATH}"
export STATIC_EXPORT=true
export CGO_ENABLED=1
mise trust -a
mise install
mise exec -C web-client -- bun install --frozen-lockfile
mise run build:web-client
mise run build:tui
local version
version="$(cd "$srcdir/$pkgname" && git describe --long --tags --abbrev=7 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' || printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)")"
mise exec -- go build -v -ldflags="-X 'github.com/timmo001/system-bridge/version.Version=${version}'" -o "system-bridge" .
./system-bridge completions bash >system-bridge.bash
./system-bridge completions zsh >_system-bridge
./system-bridge completions fish >system-bridge.fish
}
package() {
install -dm755 "$pkgdir/usr/bin"
install -dm755 "$pkgdir/usr/share/applications"
install -dm755 "$pkgdir/usr/share/licenses/$pkgname"
install -dm755 "$pkgdir/usr/share/icons/hicolor/scalable/apps"
install -dm755 "$pkgdir/usr/share/icons/hicolor/16x16/apps"
install -dm755 "$pkgdir/usr/share/icons/hicolor/32x32/apps"
install -dm755 "$pkgdir/usr/share/icons/hicolor/48x48/apps"
install -dm755 "$pkgdir/usr/share/icons/hicolor/128x128/apps"
install -dm755 "$pkgdir/usr/share/icons/hicolor/256x256/apps"
install -dm755 "$pkgdir/usr/share/icons/hicolor/512x512/apps"
cd "$srcdir/$pkgname"
install -Dm755 system-bridge "$pkgdir/usr/bin/system-bridge"
install -Dm755 system-bridge-tui "$pkgdir/usr/bin/system-bridge-tui"
install -Dm644 system-bridge.bash "$pkgdir/usr/share/bash-completion/completions/system-bridge"
install -Dm644 _system-bridge "$pkgdir/usr/share/zsh/site-functions/_system-bridge"
install -Dm644 system-bridge.fish "$pkgdir/usr/share/fish/vendor_completions.d/system-bridge.fish"
install -Dm644 .scripts/linux/system-bridge.desktop "$pkgdir/usr/share/applications/system-bridge.desktop"
install -Dm644 .resources/system-bridge-dimmed.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/system-bridge.svg"
install -Dm644 .resources/system-bridge-dimmed-16.png "$pkgdir/usr/share/icons/hicolor/16x16/apps/system-bridge.png"
install -Dm644 .resources/system-bridge-dimmed-32.png "$pkgdir/usr/share/icons/hicolor/32x32/apps/system-bridge.png"
install -Dm644 .resources/system-bridge-dimmed-48.png "$pkgdir/usr/share/icons/hicolor/48x48/apps/system-bridge.png"
install -Dm644 .resources/system-bridge-dimmed-128.png "$pkgdir/usr/share/icons/hicolor/128x128/apps/system-bridge.png"
install -Dm644 .resources/system-bridge-dimmed-256.png "$pkgdir/usr/share/icons/hicolor/256x256/apps/system-bridge.png"
install -Dm644 .resources/system-bridge-dimmed-512.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/system-bridge.png"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|