multiworld-gg-git

maintainer FoxAmes · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The pip installations are part of building the project from its own source repository using standard development tools; all dependencies are pulled from official or project-associated Git repositories, and no untrusted remote code execution occurs.

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 installations are part of building the project from its own source repository using standard development tools; all dependencies are pulled from official or project-associated Git repositories, and no untrusted remote code execution occurs.

2 higher static findings 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:30 uv pip install --quiet -r requirements.txt
  • PKGBUILD:34 ls worlds/*/requirements.txt | xargs -l uv pip install --quiet --overrides=requirements-override.txt -r
  • PKGBUILD:35 uv pip install --quiet pip cx-Freeze==8.4.0
MEDIUM External install via pipx/uv/poetry/cargo/go/gem alt_pkg_manager_install

A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:30 uv pip install --quiet -r requirements.txt
  • PKGBUILD:35 uv pip install --quiet pip cx-Freeze==8.4.0

PKGBUILD

3 offending line(s) highlighted
1# Maintainer: Forest Ames <fox dot ames at smallfox dot io>
2_pkgname="multiworld-gg"
3pkgname="${_pkgname}-git"
4pkgver=r9734
5pkgrel=1
6pkgdesc="MultiworldGG Multi-Game Randomizer and Server - Fork of Archipelago"
7arch=('x86_64')
8url="https://github.com/MultiworldGG/MultiworldGG"
9license=('GPL-3.0')
10provides=('multiworld-gg')
11conflicts=('multiworld-gg')
12depends=('python' 'glibc' 'libstdc++' 'libgcc' 'openssl' 'zlib' 'expat')
13optdepends=('xdg-terminal-exec: Better terminal support')
14makedepends=('uv' 'git')
15checkdepends=('uv')
16_author="MultiworldGG"
17_branch="main"
18source=("${_pkgname}::git+https://github.com/${_author}/MultiworldGG.git#branch=${_branch}")
19sha256sums=('SKIP')
20
21pkgver() {
22 cd "$srcdir/${_pkgname}"
23 git rev-list --count HEAD | sed 's/\([0-9][0-9]*\)/r\1/'
24}
25
26build() {
27 cd "$srcdir/${_pkgname}"
28 uv venv --allow-existing --python 3.13
29 . .venv/bin/activate
30 uv pip install --quiet -r requirements.txt
31 cat <<EOF >"requirements-override.txt" # Works around build errors related to dated gclib deps
32pyfastyaz0yay0 @ git+https://github.com/LagoLunatic/PyFastYaz0Yay0.git@00e19626ab17621416d4b9055b17f0ea3fea66f3
33EOF
34 ls worlds/*/requirements.txt | xargs -l uv pip install --quiet --overrides=requirements-override.txt -r
35 uv pip install --quiet pip cx-Freeze==8.4.0 # Used directly by the setup script
36 python setup.py build_exe -b build/MultiworldGG
37}
38
39# check() {
40# Tests take >2 hours to run on my machine and there aren't any platform tests relevant to packaging that I can tell
41# cd "$srcdir/${_pkgname}"
42# uv venv --allow-existing --python 3.13
43# . .venv/bin/activate
44# uv pip install --quiet -r requirements.txt
45# uv pip install --quiet pytest
46# uv pip install --quiet flask flask_caching pony waitress Flask-Compress # Needed for several tests
47
48# cat <<EOF >"conftest.py"
49# import sys
50
51# collect_ignore = [
52# "worlds/dk64/randomizer/CollectibleLogicFiles/TestBananaTotals.py",
53# "worlds/minecraft/test/TestAdvancements.py",
54# "worlds/minecraft/test/TestDataLoad.py",
55# "worlds/minecraft/test/TestEntrances.py",
56# "worlds/minecraft/test/TestOptions.py",
57# "worlds/poe/test/test_generation.py",
58# "worlds/smo/TestClient.py",
59# "worlds/toontown/test/TestFishing.py",
60# "worlds/toontown/test/TestTreasures.py",
61# "worlds/tp/tests/test_shuffle_options.py",
62# "worlds/tp/tests/test_tests.py",
63# "worlds/poe/test/test_boss_validation.py",
64# "worlds/poe/test/test_client_commands.py",
65# "worlds/poe/test/test_rarity_validation.py",
66# "worlds/poe/test/test_text_updates.py",
67# "worlds/poe/test/test_validation_logic.py"
68# ]
69# EOF
70
71# pytest -s
72# }
73
74package() {
75 install -d "$pkgdir/opt"
76 cp -r "$srcdir/${_pkgname}/build/MultiworldGG" "$pkgdir/opt/"
77 chown -R :games "$pkgdir/opt/MultiworldGG"
78 chmod -R g+w "$pkgdir/opt/MultiworldGG"
79 mkdir -p "$pkgdir/usr/share/applications"
80 cat <<EOF >"$pkgdir/usr/share/applications/MultiworldGG.desktop"
81[Desktop Entry]
82Version=1.0
83Exec=/opt/MultiworldGG/MultiworldGGLauncher
84Path=/opt/MultiworldGG/
85Name=MultiworldGG
86Type=Application
87Icon=/opt/MultiworldGG/icon.png
88Categories=Game;
89Keywords=multi-game;randomizer;
90EOF
91}
92

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 3
2026-08-02 00:16:08 LOW 3
2026-08-01 00:11:18 LOW 3
2026-07-31 00:14:10 LOW 3
2026-07-30 00:17:23 LOW 3
2026-07-29 00:25:53 LOW 3
2026-07-28 00:07:28 LOW 3
2026-07-27 00:24:32 LOW 3
2026-07-26 00:07:32 LOW 3
2026-07-25 00:13:44 LOW 3
2026-07-24 00:02:28 LOW 3
2026-07-23 00:14:47 LOW 3
2026-07-22 00:29:32 LOW 3
2026-07-21 00:24:15 LOW 3
2026-07-20 00:19:49 LOW 3
2026-07-19 00:17:08 LOW 3
2026-07-18 00:14:48 LOW 3
2026-07-17 00:06:16 LOW 3
2026-07-16 00:05:41 LOW 3
2026-07-15 00:09:25 LOW 3

Report a package

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

0 / 4000
Your suggestion