diff options
-rw-r--r-- | .SRCINFO | 41 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | 60-streamdeck.rules | 3 | ||||
-rw-r--r-- | PKGBUILD | 127 | ||||
-rw-r--r-- | streamdeck-ui.desktop | 10 | ||||
-rw-r--r-- | streamdeck.png | bin | 0 -> 8218 bytes | |||
-rw-r--r-- | streamdeck.service | 10 |
7 files changed, 153 insertions, 42 deletions
@@ -1,22 +1,37 @@ pkgbase = streamdeck-ui-git - pkgdesc = A Linux compatible UI for the Elgato Stream Deck - pkgver = r243.c8dffc7 - pkgrel = 3 - url = https://timothycrosley.github.io/streamdeck-ui/ + pkgdesc = Frontend for the Elgato Stream Deck + pkgver = 4.1.0.r10.g6a3beb04 + pkgrel = 1 + url = https://github.com/streamdeck-linux-gui/streamdeck-linux-gui arch = any license = MIT makedepends = git - makedepends = python-dephell - makedepends = python-setuptools + makedepends = python-build + makedepends = python-installer + makedepends = python-poetry + makedepends = python-wheel + depends = pyside6 + depends = python + depends = python-cairosvg + depends = python-evdev + depends = python-filetype + depends = python-importlib-metadata depends = python-pillow - depends = python-hidapi - depends = pyside2 - depends = python-pynput + depends = python-setuptools depends = python-elgato-streamdeck - provides = streamdeck-ui - source = git+https://github.com/timothycrosley/streamdeck-ui.git + depends = python-pynput + optdepends = gnome-shell-extension-appindicator: tray icon support gnome-shell + provides = streamdeck-ui=4.1.0 + conflicts = streamdeck-ui + source = streamdeck-ui::git+https://github.com/streamdeck-linux-gui/streamdeck-linux-gui.git source = 60-streamdeck.rules - sha512sums = SKIP - sha512sums = 2c08c9c89fbfb9af832cb131655d79c93b892f4a21875b98bd8293c421bfde5367b21c77b0a4119d999a1e83f46b96ef3210edafc2c163a93b206a0a4b493e87 + source = streamdeck-ui.desktop + source = streamdeck.png + source = streamdeck.service + sha256sums = SKIP + sha256sums = cc633ad9097763b3a488efe609ce95186eeed07a8cbfc83e15869db422acbf5d + sha256sums = 745bbc947cfe4536e52721ef65db75c599903c0ab3450fbbf96c44e322e42c4c + sha256sums = 03726bef65cec1a2ff4bb0241e021d112bf8b5a9a90ca0e3ebeba34358b281fe + sha256sums = f3350b2db661c0eebd8bbe3305d81d0189aa24552c286a9302484a32845526e0 pkgname = streamdeck-ui-git diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..018a3de08144 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +* +!PKGBUILD +!.SRCINFO +!.gitignore diff --git a/60-streamdeck.rules b/60-streamdeck.rules index 6716ba74c12f..1f2476527949 100644 --- a/60-streamdeck.rules +++ b/60-streamdeck.rules @@ -1,3 +1,6 @@ +# Enable user access for "write text" feature on wayland +SUBSYSTEM=="misc", KERNEL=="uinput", OPTIONS+="static_node=uinput", TAG+="uaccess" + SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", TAG+="uaccess" @@ -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/" } diff --git a/streamdeck-ui.desktop b/streamdeck-ui.desktop new file mode 100644 index 000000000000..e898d004e115 --- /dev/null +++ b/streamdeck-ui.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Stream Deck UI +GenericName=Stream Deck UI +Comment=Application used to configure Elgato Stream Deck products +Terminal=false +Type=Application +Exec=streamdeck +MimeType=application/x-executable; +Categories=Network; +Icon=streamdeck diff --git a/streamdeck.png b/streamdeck.png Binary files differnew file mode 100644 index 000000000000..5afc8c5f43ce --- /dev/null +++ b/streamdeck.png diff --git a/streamdeck.service b/streamdeck.service new file mode 100644 index 000000000000..2d5fbeedb3aa --- /dev/null +++ b/streamdeck.service @@ -0,0 +1,10 @@ +[Unit] +Description=A Linux compatible UI for the Elgato Stream Deck. + +[Service] +Type=simple +ExecStart=/usr/bin/streamdeck -n +Restart=on-failure + +[Install] +WantedBy=default.target |