nmgui
maintainer mattkavs
· 3 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The pip install occurs only if python-nmcli is not already installed system-wide, and installs the legitimate nmcli package; this is a common fallback for optional dependencies and does not execute untrusted code.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The pip install occurs only if python-nmcli is not already installed system-wide, and installs the legitimate nmcli package; this is a common fallback for optional dependencies and does not execute untrusted code.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
pip install of an external package
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:29
pip install nmcli
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Matthew Kavanagh (https://github.com/mkavanagh-23)
2
# Original Author: Aditya Singh (https://github.com/s-adi-dev)
3
4
pkgname=nmgui
5
pkgver=1.0.0 # Update this to the actual latest release version
6
pkgrel=2
7
pkgdesc="A simple and lightweight GTK4-based GUI for managing Wi-Fi and network connections using NetworkManager (nmcli) under the hood."
8
arch=('x86_64')
9
url="https://github.com/s-adi-dev/nmgui"
10
license=('GPL3')
11
depends=('gtk4' 'networkmanager' 'python-gobject')
12
makedepends=('git' 'nuitka' 'python-pip' 'python-virtualenv')
13
optdepends=('python-nmcli: for enhanced NetworkManager integration')
14
options=('!strip' '!debug') # Keep all symbols
15
conflicts=('nmgui-git' 'nmgui-bin')
16
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz")
17
sha256sums=('642745149b71ed38d068eafe012112b92e40816bf3d5eaacba4f7ea3ce4b813c') # Replace with actual checksum
18
19
build() {
20
cd "$srcdir/nmgui-${pkgver}/build"
21
22
# Set up the python build environment
23
python -m venv --system-site-packages build_env
24
source build_env/bin/activate
25
26
# Check for system-installed python-nmcli
27
if ! python -c "import nmcli" 2>/dev/null; then
28
echo "Package python-nmcli not found. Installing via pip"
29
pip install nmcli
30
else
31
echo "Package python-nmcli found. Using system package"
32
fi
33
export PYTHONPATH="$(python -c 'import site; print(site.getsitepackages()[0])'):$PYTHONPATH"
34
35
# Build the executable binary
36
chmod +x build.bin
37
./build.bin
38
39
# Deactivate the python venv
40
deactivate
41
}
42
43
package() {
44
cd "$srcdir/nmgui-${pkgver}"
45
46
# Install the compiled binary
47
install -Dm755 dist/main.bin "$pkgdir/usr/bin/nmgui"
48
49
# Install desktop file if it exists
50
if [ -f "nmgui.desktop" ]; then
51
install -Dm644 nmgui.desktop "$pkgdir/usr/share/applications/nmgui.desktop"
52
fi
53
54
# Install documentation
55
if [ -f "README.md" ]; then
56
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
57
fi
58
if [ -f "LICENSE" ]; then
59
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
60
fi
61
}
62
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |