micdroid-git

LOW
maintainer GG0R10 0 votes scanned 2026-09-12 07:11:01.741418
View on AUR
Why flagged

The package builds from a public git repository maintained by the author, depends only on standard Python and system tools, and installs a tray application and systemd service for user-controlled execution; the 'SKIP' checksum is justified by the -git naming convention, and the code is fully visible and reviewable from the source URL.

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.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds from a public git repository maintained by the author, depends only on standard Python and system tools, and installs a tray application and systemd service for user-controlled execution; the 'SKIP' checksum is justified by the -git naming convention, and the code is fully visible and reviewable from the source URL.

PKGBUILD

1# Maintainer: GG2R10 <herc2435 at gmail dot com>
2pkgname=micdroid-git
3pkgver=r1.0000000
4pkgrel=1
5pkgdesc="Use an Android phone's microphone as a PC microphone (system tray app) - scrcpy/adb routed into a PipeWire virtual mic"
6arch=('any')
7url="https://github.com/GG2R10/micdroid-scrcpy"
8license=('GPL-3.0-or-later')
9depends=(
10 'python'
11 'pyside6'
12 'python-dbus-next'
13 'python-zeroconf'
14 'scrcpy'
15 'android-tools'
16 'libpulse'
17 'pipewire-audio'
18)
19optdepends=(
20 'avahi: mDNS fallback when a paired device changes wireless-debugging port'
21 'libnotify: desktop notifications on connect/disconnect/mute'
22)
23makedepends=(
24 'git'
25 'python-build'
26 'python-installer'
27 'python-wheel'
28 'python-setuptools'
29 'imagemagick'
30)
31provides=("micdroid=${pkgver}")
32conflicts=('micdroid')
33# NOTE: this PKGBUILD makes real assumptions about micdroid-scrcpy's
34# current structure (tray-app/'s pyproject.toml layout, the
35# micdroid-daemon/micdroid-tray package boundary, the daemon's systemd
36# unit shape) - being a -git package, it always builds off upstream's
37# latest master with no version pin to catch drift. If the install/setup
38# story for either the daemon or the tray app ever changes upstream,
39# double check this PKGBUILD still builds. See upstream's PACKAGING.md
40# for the full detail.
41install=micdroid.install
42source=(
43 "$pkgname::git+$url.git"
44 "micdroid-tray.desktop"
45)
46sha256sums=(
47 'SKIP'
48 '3c0d218ac4a6d7e3f20c1a075645b227b5f211466e084e98f58b8d41fdd9ed78'
49)
50
51pkgver() {
52 cd "$pkgname"
53 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
54}
55
56build() {
57 # Two independent wheels, not one combined package: micdroid_daemon and
58 # micdroid_tray are already separate Python packages upstream (see
59 # tray-app/README.md - the daemon has no Plasma or Qt dependency at
60 # all, the tray app is just one of its clients), each with its own
61 # pyproject.toml. Building/installing them separately here mirrors
62 # that boundary instead of blurring it.
63 cd "$srcdir/$pkgname/tray-app"
64 python -m build --wheel --no-isolation
65
66 cd "$srcdir/$pkgname/package/contents/daemon"
67 python -m build --wheel --no-isolation
68}
69
70package() {
71 cd "$srcdir/$pkgname"
72
73 python -m installer --destdir="$pkgdir" tray-app/dist/*.whl
74 python -m installer --destdir="$pkgdir" package/contents/daemon/dist/*.whl
75
76 # Derived from upstream's own unit (package/contents/daemon/systemd/
77 # micdroid.service) via a single sed substitution, rather than hand-
78 # maintaining a full duplicate here - only the ExecStart line actually
79 # needs to differ (this package's `depends=` guarantees the daemon's
80 # dependencies are system-installed already, so it runs the system
81 # Python directly instead of upstream's private per-user venv, which
82 # exists only for the checkout/KDE-Store install path). Any other
83 # future change to the unit (Restart behaviour, a new Environment=
84 # line, etc.) flows through here automatically instead of silently
85 # drifting between two independently hand-copied files.
86 install -Dm644 package/contents/daemon/systemd/micdroid.service \
87 "$pkgdir/usr/lib/systemd/user/micdroid.service"
88 sed -i 's|^ExecStart=.*|ExecStart=/usr/bin/python3 -m micdroid_daemon|' \
89 "$pkgdir/usr/lib/systemd/user/micdroid.service"
90
91 install -Dm644 "$srcdir/micdroid-tray.desktop" \
92 "$pkgdir/usr/share/applications/micdroid-tray.desktop"
93
94 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
95
96 # Single 512x512 master, resized down per hicolor convention - same
97 # approach as ucs-git's own packaging, for the same reason (one source
98 # image to keep in sync instead of one file per size).
99 for size in 16 22 24 32 48 64 128 256 512; do
100 install -d "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps"
101 magick assets/micdroid_icon_512.png -resize "${size}x${size}" \
102 "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/micdroid-tray.png"
103 done
104}
105

Scan history

Scanned at (UTC)SeverityRules
2026-09-12 07:11:01 Low 2

Report a package

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

0 / 4000
Your suggestion