appvol-gui

LOW
maintainer ter0liu 0 votes base appvol scanned 2026-10-17 17:19:05.078207
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: appvol contributors <noreply@github.com>
2#
3# Two packages from one source: the daemon and the CLI need neither Qt nor a
4# display, while the window pulls PySide6 and (with it) a few hundred megabytes.
5# Splitting them keeps a headless or minimal install small.
6pkgbase=appvol
7pkgname=('appvol' 'appvol-gui')
8pkgver=0.7.0
9pkgrel=1
10arch=('any')
11url="https://github.com/YaBulochka/appvol"
12license=('MIT')
13
14# The upstream release archive, built with `git archive` from the v$pkgver tag.
15# The upstream tree also carries packaging/PKGBUILD, which is kept in sync with
16# this file by hand.
17source=("$url/releases/download/v$pkgver/$pkgbase-$pkgver.tar.gz")
18sha256sums=('f92abb023886da239f1ef58a40cfbc1e240cd44f2add488aa7ab3da750da10ea')
19
20# $srcdir is only set once makepkg starts a package function, so the unpacked
21# tree can not be named at the top of the file.
22_site() {
23 python -c 'import sys; print("lib/python{}.{}/site-packages".format(*sys.version_info[:2]))'
24}
25
26package_appvol() {
27 pkgdesc="Volume control for the audio streams of the focused window (KDE Plasma 6 on Wayland)"
28 depends=('python' 'python-dbus' 'python-gobject' 'python-pulsectl')
29 optdepends=(
30 'plasma-desktop: the Plasma session the daemon drives (KWin script, OSD, shortcuts)'
31 'kwin: loads the script that reports the focused window'
32 'kglobalacceld: binds the hotkeys in System Settings -> Shortcuts'
33 'pipewire-pulse: the audio server the daemon talks to'
34 'appvol-gui: the window for the profiles'
35 )
36 install=appvol.install
37
38 cd "$srcdir/$pkgbase-$pkgver"
39
40 local site
41 site="$(_site)"
42
43 install -d "$pkgdir/usr/$site/appvol"
44 install -m644 appvol/*.py "$pkgdir/usr/$site/appvol/"
45
46 # The daemon looks for the KWin script in the XDG data dirs as well, which is
47 # where a package install keeps it.
48 install -Dm644 kwin/appvol.js "$pkgdir/usr/share/appvol/appvol.js"
49
50 # Launchers: the module is already importable, so no path discovery is needed.
51 install -d "$pkgdir/usr/bin"
52 printf '#!/bin/sh\nexec python3 -m appvol.cli "$@"\n' >"$pkgdir/usr/bin/appvol"
53 printf '#!/bin/sh\nexec python3 -m appvol.daemon "$@"\n' >"$pkgdir/usr/bin/appvold"
54 chmod 755 "$pkgdir/usr/bin/appvol" "$pkgdir/usr/bin/appvold"
55
56 # The unit gets absolute paths: systemd does not read the user's PATH at all,
57 # and the shortcut server only lives in the session.
58 install -d "$pkgdir/usr/lib/systemd/user"
59 sed 's|@APPVOLD@|/usr/bin/appvold|' systemd/appvold.service.in \
60 >"$pkgdir/usr/lib/systemd/user/appvold.service"
61
62 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
63 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
64 install -d "$pkgdir/usr/share/doc/$pkgname/docs"
65 install -m644 docs/*.md "$pkgdir/usr/share/doc/$pkgname/docs/"
66}
67
68package_appvol-gui() {
69 pkgdesc="Qt-based configurator for appvol (PySide6 and Kirigami)"
70 depends=('appvol' 'pyside6' 'kirigami' 'qqc2-desktop-style' 'breeze-icons')
71 optdepends=('plasma-desktop: the desktop whose shortcut dialog the window opens')
72
73 cd "$srcdir/$pkgbase-$pkgver"
74
75 local site
76 site="$(_site)"
77
78 # The QML files sit next to the Python ones: the window loads them from the
79 # filesystem, so no Qt resource compilation is needed.
80 install -d "$pkgdir/usr/$site/appvol/gui/qml"
81 install -m644 appvol/gui/*.py "$pkgdir/usr/$site/appvol/gui/"
82 install -m644 appvol/gui/qml/*.qml "$pkgdir/usr/$site/appvol/gui/qml/"
83
84 install -d "$pkgdir/usr/bin"
85 printf '#!/bin/sh\nexec python3 -m appvol.gui "$@"\n' >"$pkgdir/usr/bin/appvol-gui"
86 chmod 755 "$pkgdir/usr/bin/appvol-gui"
87
88 install -d "$pkgdir/usr/share/applications"
89 sed 's|@APPVOL_GUI@|/usr/bin/appvol-gui|g' desktop/org.appvol.gui.desktop.in \
90 >"$pkgdir/usr/share/applications/org.appvol.gui.desktop"
91
92 # The app icon the entry names. The hicolor cache is refreshed by the
93 # gtk-update-icon-cache pacman hook, so nothing extra is needed here.
94 install -Dm644 desktop/icons/hicolor/scalable/apps/appvol.svg \
95 "$pkgdir/usr/share/icons/hicolor/scalable/apps/appvol.svg"
96
97 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
98}
99

Scan history

Scanned at (UTC)SeverityRules
2026-10-17 17:19:05 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion