summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 9e7122b659ae81771188a128e6ee15ade9965f64 (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
pkgname=lumina
pkgver=0.1.2
pkgrel=1
pkgdesc="Lumina — select a screen region and ask AI (OpenAI, Gemini, DeepSeek, Ollama)"
arch=('x86_64')
url="https://github.com/razenfh/lumina"
license=('MIT')

depends=(
  'gtk3'
  'webkit2gtk-4.1'
  'libsoup3'
)

makedepends=(
  'git'
  'rust'
  'cargo'
  'cargo-tauri'
  'nodejs'
  'npm'
)

optdepends=(
  'spectacle: region capture on KDE (Linux)'
  'ollama: local models provider'
)

source=("git+$url.git#tag=v$pkgver")
sha256sums=('SKIP')

build() {
  cd "$srcdir/lumina"

  npm ci
  npm run build

  # CRITICAL: force release mode
  TAURI_DEV=0 cargo-tauri build --no-bundle
}

package() {
  cd "$srcdir/lumina"

  install -Dm755 \
    "src-tauri/target/release/lumina" \
    "$pkgdir/usr/bin/lumina"

  install -Dm644 /dev/stdin \
    "$pkgdir/usr/share/applications/lumina.desktop" <<'EOF'
[Desktop Entry]
Type=Application
Name=Lumina
Exec=lumina
Icon=lumina
Categories=Utility;
Terminal=false
EOF

  if [[ -f "src-tauri/icons/128x128.png" ]]; then
    install -Dm644 \
      "src-tauri/icons/128x128.png" \
      "$pkgdir/usr/share/icons/hicolor/128x128/apps/lumina.png"
  fi
}