blob: 26a056943278aa4952f89cbc7cd69d4a60edafbc (
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
|
# Maintainer: Scott Stavinoha <scottstavinoha@gmail.com>
pkgname=aside
pkgver=0.8.1
pkgrel=1
pkgdesc="LLM assistant for Wayland desktops — overlay, voice, tools, any model"
arch=('x86_64')
url="https://github.com/scottstav/aside"
license=('MIT')
depends=(
'gtk4'
'libadwaita'
'gtk4-layer-shell'
'python'
'python-gobject'
'python-cairo'
'python-tiktoken'
'python-openai'
'python-pydantic'
'python-aiohttp'
'python-httpx'
'gobject-introspection'
)
makedepends=(
'python-build'
'python-wheel'
'python-setuptools'
)
optdepends=(
'portaudio: voice input (aside enable-stt)'
'pipewire: voice input via pw-record'
)
source=(
"$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
)
sha256sums=('0aaab352c828ee80eaa430cf510a5701d504bd9b4b25e90a87a205051de8a69f')
build() {
cd "$srcdir/$pkgname-$pkgver"
python -m build --wheel --no-isolation
python -m venv --system-site-packages "$srcdir/venv"
local _pip="$srcdir/venv/bin/pip"
"$_pip" install --no-cache-dir --no-deps \
"$srcdir/$pkgname-$pkgver/dist/aside_assistant-"*.whl
"$_pip" install --no-cache-dir litellm mistune
}
package() {
# ── venv ──────────────────────────────────────────────────────────────
install -d "$pkgdir/opt"
cp -a "$srcdir/venv" "$pkgdir/opt/aside"
find "$pkgdir/opt/aside/bin" -type f -exec \
sed -i "s|$srcdir/venv|/opt/aside|g" {} +
sed -i "s|$srcdir/venv|/opt/aside|g" "$pkgdir/opt/aside/pyvenv.cfg"
# ── wrapper scripts ──────────────────────────────────────────────────
install -d "$pkgdir/usr/bin"
for cmd in aside aside-overlay; do
[ -f "$pkgdir/opt/aside/bin/$cmd" ] || continue
cat > "$pkgdir/usr/bin/$cmd" <<EOF
#!/bin/sh
exec /opt/aside/bin/$cmd "\$@"
EOF
chmod 755 "$pkgdir/usr/bin/$cmd"
done
cd "$srcdir/$pkgname-$pkgver"
# ── systemd units (patched for /usr/bin paths) ────────────────────────
install -Dm644 data/aside-daemon.service "$pkgdir/usr/lib/systemd/user/aside-daemon.service"
install -Dm644 data/aside-overlay.service "$pkgdir/usr/lib/systemd/user/aside-overlay.service"
sed -i 's|%h/.local/bin/aside|/usr/bin/aside|' \
"$pkgdir/usr/lib/systemd/user/aside-daemon.service"
sed -i 's|%h/.local/bin/aside-overlay|/usr/bin/aside-overlay|' \
"$pkgdir/usr/lib/systemd/user/aside-overlay.service"
# ── desktop entry ─────────────────────────────────────────────────────
install -Dm644 data/aside.desktop "$pkgdir/usr/share/applications/aside.desktop"
# ── example config ────────────────────────────────────────────────────
install -Dm644 data/config.toml.example "$pkgdir/usr/share/aside/config.toml.example"
# ── license ───────────────────────────────────────────────────────────
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|