diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 127 |
1 files changed, 98 insertions, 29 deletions
@@ -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/" } |