summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 417650e2219f1cffbc1c5b8fce9aecc38409e6fa (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
# Maintainer: nosduco <nosduco at gmail dot com>
pkgname=streamcontroller
pkgver=1.5.0beta13
pkgrel=1
_pkgver=1.5.0-beta.13
_reponame=StreamController-$_pkgver
_pkgname=${pkgname}
pkgdesc="An elegant Linux app for the Elgato Stream Deck with support for plugins"
arch=('any')
url="https://github.com/StreamController/StreamController"
license=('GPL-3')
depends=('python' 'xdg-desktop-portal' 'xdg-desktop-portal-gtk' 'libportal' 'libportal-gtk4' 'libadwaita' 'gobject-introspection')
makedepends=('python-pip')
source=("$pkgname-$pkgver.tar.gz::https://github.com/StreamController/StreamController/archive/refs/tags/$_pkgver.tar.gz" "streamcontroller.desktop")
sha256sums=('d671ca178682e3c4b0cf4be88b0d850b21c6db6e7c79f4b9873473e819061cc9'
            'b671ce8638922fca5ea05bf12852886d983b9cae33aaf226a57c8bcc51a39760')
provides=('streamcontroller')
conflicts=('streamcontroller-git')

package() {
  # Create virtualenv with dependencies
  mkdir -p "$pkgdir/usr/local/lib/$_pkgname"
  python -m venv "$pkgdir/usr/local/lib/$_pkgname"
  source "$pkgdir/usr/local/lib/$_pkgname/bin/activate"
  cd "$srcdir/$_reponame"
  pip install -r requirements.txt
  deactivate

  # Ensure correct venv is used after install
  cd "$pkgdir/usr/local/lib/$_pkgname/bin"
  sed -i "s|$pkgdir||g" *
  cd "$srcdir/$_reponame"

  # Install source files
  mkdir -p "$pkgdir/usr/lib/$_pkgname"
  cp -r "$srcdir/$_reponame"/* "$pkgdir/usr/lib/$_pkgname/"

  # Install launch script to /usr/bin
  mkdir -p "$pkgdir/usr/bin"
  cat <<EOF > "$pkgdir/usr/bin/$_pkgname"
#!/bin/bash
cd /usr/lib/$_pkgname
source /usr/local/lib/$_pkgname/bin/activate
exec python main.py "\$@"
EOF
  chmod +x "$pkgdir/usr/bin/$_pkgname"

  # Install application entry
  install -Dm644 "$startdir/streamcontroller.desktop" "$pkgdir/usr/share/applications/streamcontroller.desktop"

  # Install icon
  install -Dm644 "$srcdir/$_reponame/flatpak/icon_256.png" "$pkgdir/usr/share/icons/hicolor/256x256/apps/streamcontroller.png"
}