universe-git

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

The package builds from a public git repository and includes a single prebuilt EXE stub for GOG integration, which is checksummed and used as static data; no remote code execution or obfuscated payloads are present.

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 and includes a single prebuilt EXE stub for GOG integration, which is checksummed and used as static data; no remote code execution or obfuscated payloads are present.

PKGBUILD

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

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