helios

LOW
maintainer Mopigames 0 votes scanned 2026-08-24 00:17:16.992713
View on AUR
Why flagged

The package builds from the project's own source and submodules hosted on trusted forges (GitHub/GitLab), with no unverifiable prebuilt executables or remote code execution; the few votes and recent upload are low-risk indicators given the transparent, auditable build process.

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 the project's own source and submodules hosted on trusted forges (GitHub/GitLab), with no unverifiable prebuilt executables or remote code execution; the few votes and recent upload are low-risk indicators given the transparent, auditable build process.

PKGBUILD

1# Maintainer: Margot Prego <mopigames@proton.me>
2
3: "${_run_unit_tests:=false}"
4: "${_use_cuda:=detect}"
5
6pkgname=helios
7pkgver=0.5.2
8pkgrel=1
9pkgdesc='Game stream host for Selene and Moonlight OS'
10arch=('x86_64' 'aarch64')
11url='https://github.com/moonlight-os/helios'
12license=('GPL-3.0-only')
13install=helios.install
14
15depends=(
16 'avahi' 'boost-libs' 'curl' 'gcc-libs' 'libayatana-appindicator' 'libcap'
17 'libdrm' 'libevdev' 'libmfx' 'libnotify' 'libpulse' 'libva' 'libx11'
18 'libxcb' 'libxfixes' 'libxrandr' 'libxtst' 'miniupnpc' 'msquic' 'numactl'
19 'open-iscsi' 'openssl' 'opus' 'systemd-libs' 'udev' 'usbip' 'wayland' 'which'
20)
21makedepends=(
22 'appstream' 'appstream-glib' 'boost' 'cmake' 'desktop-file-utils' 'git'
23 'ninja' 'nlohmann-json' 'nodejs' 'npm'
24)
25checkdepends=('xorg-server-xvfb')
26optdepends=(
27 'cuda: Nvidia GPU encoding support'
28 'libva-mesa-driver: AMD GPU encoding support'
29)
30provides=('helios')
31conflicts=('helios-bin' 'helios-git')
32
33_commit='7f7fc9d1b830693b2cdc77372277a2b59e7be5ad'
34source=(
35 "helios::git+$url.git#commit=${_commit}"
36 'simple-web-server::git+https://github.com/ClassicOldSong/Simple-Web-Server.git'
37 'enet::git+https://github.com/cgutman/enet.git'
38 'googletest::git+https://github.com/google/googletest.git'
39 'inputtino::git+https://github.com/games-on-whales/inputtino.git'
40 'libdisplaydevice::git+https://github.com/LizardByte/libdisplaydevice.git'
41 'lunaris::git+https://github.com/moonlight-os/lunaris.git'
42 'nanors::git+https://github.com/sleepybishop/nanors.git'
43 'nv-codec-headers::git+https://github.com/FFmpeg/nv-codec-headers.git'
44 'tray::git+https://github.com/LizardByte/tray.git'
45 'wayland-protocols::git+https://gitlab.freedesktop.org/wayland/wayland-protocols.git'
46 'wlr-protocols::git+https://gitlab.freedesktop.org/wlroots/wlr-protocols.git'
47)
48sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP'
49 'SKIP' 'SKIP' 'SKIP' 'SKIP')
50source_x86_64=('ffmpeg-bundle::https://github.com/LizardByte/build-deps/releases/download/v2026.516.30821/Linux-x86_64-ffmpeg.tar.gz')
51sha256sums_x86_64=('c32319fcc2867befe8ff3ae26b4d3a58378c3a9c1bfef9029c9969321c3bc6ec')
52source_aarch64=('ffmpeg-bundle::https://github.com/LizardByte/build-deps/releases/download/v2026.516.30821/Linux-aarch64-ffmpeg.tar.gz')
53sha256sums_aarch64=('10b6c9440ba6178ec3b944f6c6f697253497cad5196d23a2d32d335daae0062e')
54
55if [[ "${_use_cuda::1}" == 'd' ]] && pacman -Qi cuda &>/dev/null; then
56 _use_cuda=true
57fi
58
59prepare() {
60 cd helios
61 git submodule init
62 git config submodule.third-party/Simple-Web-Server.url "$srcdir/simple-web-server"
63 git config submodule.third-party/googletest.url "$srcdir/googletest"
64 git config submodule.third-party/inputtino.url "$srcdir/inputtino"
65 git config submodule.third-party/libdisplaydevice.url "$srcdir/libdisplaydevice"
66 git config submodule.third-party/moonlight-common-c.url "$srcdir/lunaris"
67 git config submodule.third-party/nanors.url "$srcdir/nanors"
68 git config submodule.third-party/nv-codec-headers.url "$srcdir/nv-codec-headers"
69 git config submodule.third-party/tray.url "$srcdir/tray"
70 git config submodule.third-party/wayland-protocols.url "$srcdir/wayland-protocols"
71 git config submodule.third-party/wlr-protocols.url "$srcdir/wlr-protocols"
72 git -c protocol.file.allow=always submodule update \
73 third-party/Simple-Web-Server \
74 third-party/googletest third-party/inputtino third-party/libdisplaydevice \
75 third-party/moonlight-common-c third-party/nanors \
76 third-party/nv-codec-headers third-party/tray \
77 third-party/wayland-protocols third-party/wlr-protocols
78
79 git -C third-party/moonlight-common-c submodule init
80 git -C third-party/moonlight-common-c config submodule.enet.url "$srcdir/enet"
81 git -C third-party/moonlight-common-c config submodule.nanors.url "$srcdir/nanors"
82 git -C third-party/moonlight-common-c -c protocol.file.allow=always \
83 submodule update enet nanors
84
85 # Arch updates Boost faster than Helios's conservative exact pin. Accept the
86 # packaged version instead of downloading another Boost during makepkg.
87 sed -i 's/find_package(Boost CONFIG ${BOOST_VERSION} EXACT COMPONENTS ${BOOST_COMPONENTS})/find_package(Boost CONFIG ${BOOST_VERSION} COMPONENTS ${BOOST_COMPONENTS})/' \
88 cmake/dependencies/Boost_Helios.cmake
89 sed -i '/^[[:space:]]*system$/d' cmake/dependencies/Boost_Helios.cmake
90 sed -i \
91 -e 's/find_package(Boost 1.53.0 COMPONENTS system REQUIRED)/find_package(Boost 1.53.0 REQUIRED)/' \
92 -e 's/Boost::boost Boost::system/Boost::boost/' \
93 third-party/Simple-Web-Server/CMakeLists.txt
94}
95
96build() {
97 export BRANCH=main
98 export BUILD_VERSION="$pkgver"
99 export COMMIT="$_commit"
100 export CFLAGS="${CFLAGS/-Werror=format-security/}"
101 export CXXFLAGS="${CXXFLAGS/-Werror=format-security/}"
102
103 local cmake_options=(
104 -S helios -B build -G Ninja -Wno-dev
105 -D BOOST_USE_STATIC=OFF
106 -D BUILD_DOCS=OFF
107 -D BUILD_TESTS="$_run_unit_tests"
108 -D BUILD_WERROR=ON
109 -D CMAKE_BUILD_TYPE=None
110 -D CMAKE_INSTALL_PREFIX=/usr
111 -D CUDA_FAIL_ON_MISSING=OFF
112 -D ENABLE_MLOS_QUIC=ON
113 -D FFMPEG_PREPARED_BINARIES="$srcdir/ffmpeg"
114 -D SUNSHINE_ASSETS_DIR=share/helios
115 -D SUNSHINE_EXECUTABLE_PATH=/usr/bin/helios
116 -D SUNSHINE_PUBLISHER_ISSUE_URL=https://github.com/moonlight-os/helios/issues
117 -D SUNSHINE_PUBLISHER_NAME=AUR
118 -D SUNSHINE_PUBLISHER_WEBSITE=https://aur.archlinux.org/packages/helios
119 )
120
121 if [[ "${_use_cuda::1}" != 't' ]]; then
122 cmake_options+=(-D SUNSHINE_ENABLE_CUDA=OFF)
123 fi
124
125 cmake "${cmake_options[@]}"
126 appstreamcli validate --no-net build/dev.mopigames.Helios.metainfo.xml
127 appstream-util validate build/dev.mopigames.Helios.metainfo.xml
128 desktop-file-validate build/dev.mopigames.Helios.desktop
129 desktop-file-validate build/dev.mopigames.Helios.terminal.desktop
130 cmake --build build
131}
132
133check() {
134 build/helios --version
135 if [[ "${_run_unit_tests::1}" == 't' ]]; then
136 xvfb-run -a build/tests/test_helios --gtest_color=yes
137 fi
138}
139
140package() {
141 DESTDIR="$pkgdir" cmake --install build
142}
143

Scan history

Scanned at (UTC)SeverityRules
2026-08-24 00:17:16 Low 2
2026-08-23 23:21:41 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