summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD127
1 files changed, 98 insertions, 29 deletions
diff --git a/PKGBUILD b/PKGBUILD
index b25d93006a2a..704c8abf7de2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,37 +1,106 @@
-# Maintainer: fsyy <fossy2001 at web.de>
-pkgname=streamdeck-ui-git
-_pkgname=streamdeck-ui
-pkgver=r243.c8dffc7
-pkgrel=3
-pkgdesc="A Linux compatible UI for the Elgato Stream Deck"
-arch=('any')
-url="https://timothycrosley.github.io/streamdeck-ui/"
+# Maintainer: xiota / aur.chaotic.cx
+# Contributor: fsyy <fossy2001 at web.de>
+
+## useful links
+# https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/
+# https://github.com/streamdeck-linux-gui/streamdeck-linux-gui"
+
+## options
+: ${_build_git:=true}
+
+unset _pkgtype
+[[ "${_build_git::1}" == "t" ]] && _pkgtype+="-git"
+
+## basic info
+_pkgname="streamdeck-ui"
+pkgname="$_pkgname${_pkgtype:-}"
+pkgver=4.1.0.r10.g6a3beb04
+pkgrel=1
+pkgdesc="Frontend for the Elgato Stream Deck"
+url="https://github.com/streamdeck-linux-gui/streamdeck-linux-gui"
license=('MIT')
-depends=('python-pillow' 'python-hidapi' 'pyside2' 'python-pynput' 'python-elgato-streamdeck')
-makedepends=('git' 'python-dephell' 'python-setuptools')
-provides=('streamdeck-ui')
-source=("git+https://github.com/timothycrosley/streamdeck-ui.git"
- "60-streamdeck.rules")
-sha512sums=('SKIP'
- '2c08c9c89fbfb9af832cb131655d79c93b892f4a21875b98bd8293c421bfde5367b21c77b0a4119d999a1e83f46b96ef3210edafc2c163a93b206a0a4b493e87')
-
-pkgver() {
- cd "$_pkgname"
- printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
-}
+arch=('any')
-prepare() {
- cd "$_pkgname"
- dephell deps convert --from pyproject.toml --to setup.py
-}
+# main package
+depends=(
+ #'python-xcffib'
+ 'pyside6'
+ 'python'
+ 'python-cairosvg'
+ 'python-evdev'
+ 'python-filetype'
+ 'python-importlib-metadata'
+ 'python-pillow'
+ 'python-setuptools'
+
+ # AUR
+ 'python-elgato-streamdeck'
+ 'python-pynput'
+)
+makedepends=(
+ 'git'
+ 'python-build'
+ 'python-installer'
+ 'python-poetry'
+ 'python-wheel'
+)
+optdepends=(
+ 'gnome-shell-extension-appindicator: tray icon support gnome-shell'
+)
+
+if [ "${_build_git::1}" != "t" ] ; then
+ # normal package
+ _pkgsrc="$_pkgname"
+ _pkgext="tar.gz"
+ source+=("$_pkgsrc"::"git+$url.git#tag=v${pkgver%%.r*}")
+ sha256sums+=('SKIP')
+
+ pkgver() {
+ echo "${pkgver%%.r*}"
+ }
+else
+ # git package
+ provides=("$_pkgname=${pkgver%%.r*}")
+ conflicts=("$_pkgname")
+
+ _pkgsrc="$_pkgname"
+ source+=("$_pkgsrc"::"git+$url.git")
+ sha256sums+=('SKIP')
+
+ pkgver() {
+ cd "$_pkgsrc"
+ git describe --long --tags --abbrev=8 --exclude='*[a-zA-Z][a-zA-Z]*' \
+ | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
+ }
+fi
+
+source+=(
+ "60-streamdeck.rules"
+ "streamdeck-ui.desktop"
+ "streamdeck.png"
+ "streamdeck.service"
+)
+sha256sums+=(
+ 'cc633ad9097763b3a488efe609ce95186eeed07a8cbfc83e15869db422acbf5d'
+ '745bbc947cfe4536e52721ef65db75c599903c0ab3450fbbf96c44e322e42c4c'
+ '03726bef65cec1a2ff4bb0241e021d112bf8b5a9a90ca0e3ebeba34358b281fe'
+ 'f3350b2db661c0eebd8bbe3305d81d0189aa24552c286a9302484a32845526e0'
+)
build() {
- cd "$_pkgname"
- python setup.py build
+ cd "$_pkgsrc"
+ DISABLE_CONAN=ON python -m build --wheel --no-isolation --skip-dependency-check
}
package() {
- cd "$_pkgname"
- python setup.py install --root="$pkgdir" --optimize=1 --skip-build
- install -Dm 644 "$srcdir/60-streamdeck.rules" "${pkgdir}/usr/lib/udev/rules.d/60-streamdeck.rules"
+ cd "$_pkgsrc"
+ python -m installer --destdir="$pkgdir" dist/*.whl
+
+ install -Dm644 "$srcdir/60-streamdeck.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
+ install -Dm644 "$srcdir/streamdeck.service" -t "$pkgdir/usr/lib/systemd/user/"
+
+ install -Dm644 "$srcdir/streamdeck-ui.desktop" -t "$pkgdir/usr/share/applications/"
+ install -Dm644 "$srcdir/streamdeck.png" -t "$pkgdir/usr/share/pixmaps/"
+
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
}