summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 123896c404659df4e44e9761877a9301198a6fc4 (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
# Maintainer: AJV009 <jaimonalphons@gmail.com>
pkgname=meeting-recorder
pkgver=2.0.1
pkgrel=1
pkgdesc="Record, transcribe and summarize meetings with AI"
arch=('any')
url="https://github.com/AJV009/meeting-recorder"
license=('MIT')
depends=(
    'python'
    'python-gobject'
    'gtk3'
    'python-cairo'
    'python-pystray'
    'python-pillow'
    'python-setproctitle'
    'libnotify'
    'ffmpeg'
    'pipewire'
    'pipewire-pulse'
    'wireplumber'
)
makedepends=(
    'python-build'
    'python-installer'
    'python-setuptools'
    'python-wheel'
    'python-pip'
)
optdepends=(
    'gpu-screen-recorder: screen recording support'
    'ollama: local LLM summarization'
)
source=("$pkgname-$pkgver.tar.gz::https://github.com/AJV009/$pkgname/archive/v$pkgver.tar.gz")
sha256sums=('SKIP')

build() {
    cd "$pkgname-$pkgver"
    python -m build --wheel --no-isolation
}

package() {
    cd "$pkgname-$pkgver"

    # Install into a venv to handle pip-only deps (litellm, google-genai, etc.)
    python -m venv "$pkgdir/opt/$pkgname/.venv" --system-site-packages
    "$pkgdir/opt/$pkgname/.venv/bin/pip" install --quiet --no-deps dist/*.whl
    "$pkgdir/opt/$pkgname/.venv/bin/pip" install --quiet dist/*.whl

    # Fix venv paths: replace $pkgdir prefix in shebangs and pyvenv.cfg
    local _venv="$pkgdir/opt/$pkgname/.venv"
    sed -i "s|$pkgdir||g" "$_venv/bin/"* "$_venv/pyvenv.cfg" 2>/dev/null || true

    # Launcher
    install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<'LAUNCHER'
#!/usr/bin/env bash
exec /opt/meeting-recorder/.venv/bin/meeting-recorder "$@"
LAUNCHER

    # Desktop entry
    install -Dm644 "assets/meeting-recorder.desktop" \
        "$pkgdir/usr/share/applications/meeting-recorder.desktop"

    # Icon
    install -Dm644 "src/meeting_recorder/assets/icons/meeting-recorder.svg" \
        "$pkgdir/usr/share/icons/hicolor/scalable/apps/meeting-recorder.svg"

    # License
    install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}