universe

LOW
maintainer ilyasturki 0 votes scanned 2026-09-28 09:20:32.001266
View on AUR
Why flagged

The package downloads a prebuilt Windows executable from a third-party GitHub release, but it is installed as a static data file for GOG integration and not executed; the rest of the build uses auditable source code from the project's own repository.

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 downloads a prebuilt Windows executable from a third-party GitHub release, but it is installed as a static data file for GOG integration and not executed; the rest of the build uses auditable source code from the project's own repository.

PKGBUILD

1# Maintainer: Ilyas Turki <turki.ilyass@gmail.com>
2pkgbase=universe
3pkgname=(universe universe-desktop)
4pkgver=0.0.8
5pkgrel=1
6pkgdesc='Gamepad-first game launcher: a Rust core, a PySide6 UI, games inside gamescope'
7arch=('x86_64')
8url='https://github.com/ilyasturki/universe'
9license=('MIT')
10makedepends=(
11 'blueprint-compiler'
12 'glib2-devel'
13 'cargo'
14 'gtk4'
15 'libadwaita'
16 'maturin'
17 'python-build'
18 'python-installer'
19 'python-setuptools'
20 'scdoc'
21)
22checkdepends=('tzdata')
23# makepkg's -flto C objects (ring's) are GCC bitcode that rust-lld cannot link; Cargo.toml strips, so a debug package would be empty
24options=('!lto' '!debug')
25# the stub is the flake's galaxyServiceStub
26source=(
27 "$pkgbase-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
28 'GalaxyCommunication-comet-0.3.2.exe::https://github.com/imLinguin/comet/releases/download/v0.3.2/GalaxyCommunication-dummy.exe'
29)
30sha256sums=('812ea104fae332a29d372628a946acfc17807709173069972851984ffeef9f49'
31 'c7695267da363a861af99db95cafe68b732ae743e5830b4feea1bc7ee745f99d')
32
33prepare() {
34 cd "$pkgbase-$pkgver"
35 export RUSTUP_TOOLCHAIN=stable
36 # maturin's cargo metadata resolves every platform's crates, not only the host's
37 cargo fetch --locked
38}
39
40build() {
41 cd "$pkgbase-$pkgver"
42 export RUSTUP_TOOLCHAIN=stable CARGO_TARGET_DIR=target
43 cargo build --frozen --release -p universe -p universe-desktop
44 maturin build --frozen --release --compatibility linux -m crates/universe-py/Cargo.toml -o dist
45 python -m build --wheel --no-isolation --outdir dist ui
46 target/release/universe __generate gen
47 scdoc < ui/universe-ui.1.scd > gen/man/universe-ui.1
48 scdoc < crates/universe-desktop/universe-desktop.1.scd > gen/universe-desktop.1
49}
50
51check() {
52 cd "$pkgbase-$pkgver"
53 export RUSTUP_TOOLCHAIN=stable CARGO_TARGET_DIR=target
54 # the journal tests expect Paris local time, as the flake's check does
55 TZ=Europe/Paris cargo test --frozen -p universe -p universe-desktop
56}
57
58package_universe() {
59 depends=(
60 'libgcc'
61 'glibc'
62 'hicolor-icon-theme'
63 'python'
64 'pyside6>=6.11'
65 'python-pysdl2'
66 'python-qrcode'
67 'python-xkbcommon'
68 'qt6-5compat'
69 'qt6-declarative'
70 'qt6-imageformats'
71 'qt6-multimedia'
72 'qt6-svg'
73 'qt6-wayland'
74 'sdl2'
75 'systemd'
76 )
77 optdepends=(
78 'gamescope: games run inside it'
79 'mangohud: the frame rate limit and the in-game HUD'
80 "lib32-mangohud: the HUD in 32-bit games, Proton's included"
81 'umu-launcher: Proton launches; fetched on first use when missing'
82 'heroic-gogdl: the GOG source; fetched on first use when missing'
83 'legendary: the Epic Games source; fetched on first use when missing'
84 'butler: the itch.io source; fetched on first use when missing'
85 'steam: the Steam source'
86 "gpu-screen-recorder: the capture module's recordings"
87 "ffmpeg: the capture module's thumbnails and cuts"
88 'trash-cli: recordings deleted to the trash'
89 "game-devices-udev: /dev/uinput for the controller's key macros"
90 'grim: screenshots on sway, hyprland and niri'
91 'spectacle: screenshots on KDE Plasma'
92 'universe-desktop: the library in a GTK app for mouse and keyboard'
93 )
94 cd "$pkgbase-$pkgver"
95 python -m installer --destdir="$pkgdir" dist/*.whl
96 install -Dm755 target/release/universe -t "$pkgdir/usr/bin"
97 for kind in modules sources; do
98 install -d "$pkgdir/usr/share/universe/$kind"
99 cp -r "$kind/." "$pkgdir/usr/share/universe/$kind"
100 rm -rf "$pkgdir/usr/share/universe/$kind"/*/tests
101 done
102 install -Dm644 "$srcdir/GalaxyCommunication-comet-0.3.2.exe" "$pkgdir/usr/share/universe/sources/gog/GalaxyCommunication.exe"
103 install -Dm644 extension/metadata.json extension/extension.js -t "$pkgdir/usr/share/gnome-shell/extensions/universe@ilyasturki.github.io"
104 install -Dm644 gen/man/*.1 -t "$pkgdir/usr/share/man/man1"
105 install -Dm644 gen/universe.fish "$pkgdir/usr/share/fish/vendor_completions.d/universe.fish"
106 install -Dm644 gen/universe.bash "$pkgdir/usr/share/bash-completion/completions/universe"
107 install -Dm644 gen/_universe "$pkgdir/usr/share/zsh/site-functions/_universe"
108 install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
109 install -Dm644 ui/universe-ui.desktop -t "$pkgdir/usr/share/applications"
110 install -Dm644 ui/icons/hicolor/scalable/apps/universe-ui.svg -t "$pkgdir/usr/share/icons/hicolor/scalable/apps"
111 install -Dm644 ui/icons/hicolor/symbolic/apps/universe-ui-symbolic.svg -t "$pkgdir/usr/share/icons/hicolor/symbolic/apps"
112}
113
114package_universe-desktop() {
115 pkgdesc='The Universe game library for mouse and keyboard: a GTK 4 and libadwaita app'
116 depends=(
117 'libgcc'
118 'glibc'
119 'gst-plugins-base'
120 'gst-plugins-good'
121 'gtk4>=1:4.22'
122 'hicolor-icon-theme'
123 'libadwaita>=1:1.9'
124 "universe=$pkgver"
125 )
126 optdepends=(
127 'gst-libav: recordings played in the app (H.264, HEVC)'
128 'gst-plugins-bad: recordings played in the app (AV1, VA-API)'
129 )
130 cd "$pkgbase-$pkgver"
131 install -Dm755 target/release/universe-desktop -t "$pkgdir/usr/bin"
132 local data=crates/universe-desktop/data id=io.github.ilyasturki.UniverseDesktop
133 install -Dm644 "$data/$id.desktop" -t "$pkgdir/usr/share/applications"
134 install -Dm644 "$data/$id.service" -t "$pkgdir/usr/share/dbus-1/services"
135 sed -i 's|^Exec=universe-desktop|Exec=/usr/bin/universe-desktop|' "$pkgdir/usr/share/dbus-1/services/$id.service"
136 install -Dm644 "$data/$id.search-provider.ini" -t "$pkgdir/usr/share/gnome-shell/search-providers"
137 install -Dm644 "$data/$id.metainfo.xml" -t "$pkgdir/usr/share/metainfo"
138 install -Dm644 "$data/icons/apps/$id.svg" -t "$pkgdir/usr/share/icons/hicolor/scalable/apps"
139 install -Dm644 "$data/icons/apps/$id-symbolic.svg" -t "$pkgdir/usr/share/icons/hicolor/symbolic/apps"
140 install -Dm644 gen/universe-desktop.1 -t "$pkgdir/usr/share/man/man1"
141 install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
142}
143

Scan history

Scanned at (UTC)SeverityRules
2026-09-28 09:20:32 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