unvanquished
maintainer Viech
· 63 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads source code from GitHub and a project-owned domain (dl.unvanquished.net), which is normal for AUR packages; the non-whitelisted host is used for a build dependency (NaCL SDK) that is checksummed and part of the project's own infrastructure, posing minimal risk.
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 package downloads source code from GitHub and a project-owned domain (dl.unvanquished.net), which is normal for AUR packages; the non-whitelisted host is used for a build dependency (NaCL SDK) that is checksummed and part of the project's own infrastructure, posing minimal risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:50
"naclsdk_${_naclsdkver}.tar.xz::https://dl.unvanquished.net/deps/${_naclsdkname}.tar.xz")
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Viech <viech unvanquished net>
2
# Contributor: Gereon Schomber
3
# Contributor: Martin F. Schumann
4
5
_naclsdkver=11 # If not correct, cmake will make a download.
6
pkgname=unvanquished
7
pkgver=0.56.2
8
pkgrel=3
9
pkgdesc='A team-based, fast-paced, fps/rts hybrid game that pits aliens against humans'
10
arch=(x86_64 aarch64)
11
url='https://www.unvanquished.net'
12
license=(GPL-3.0-or-later)
13
makedepends=(cmake)
14
depends=("unvanquished-data>=${pkgver}"
15
'zlib' 'gmp' 'nettle' 'geoip' 'curl' 'sdl3' 'glew' 'libpng'
16
'libjpeg-turbo' 'libwebp>=0.2.0' 'freetype2' 'openal' 'libogg'
17
'libvorbis' 'speex' 'libtheora' 'opusfile' 'ncurses' 'xdg-utils'
18
'desktop-file-utils' 'shared-mime-info' 'hicolor-icon-theme')
19
provides=('unvanquished')
20
conflicts=('unvanquished-git')
21
options=('emptydirs' '!strip')
22
backup=('etc/conf.d/unvanquished.conf'
23
'etc/unvanquished/server.cfg'
24
'etc/unvanquished/maprotation.cfg')
25
install=unvanquished.install
26
27
_archive="archive/refs/tags/unvanquished/${pkgver}.tar.gz"
28
_suffix="unvanquished-${pkgver}"
29
_unvanquished="Unvanquished-${_suffix}"
30
#_daemon="Daemon-${_suffix}" # TODO: Restore.
31
_daemon_ver="379d88a0687995b6cb6074368fcc68c163e5242d"
32
_daemon="Daemon-${_daemon_ver}"
33
_breakpad="breakpad-${_suffix}"
34
_crunch="crunch-${_suffix}"
35
_recast="recastnavigation-${_suffix}"
36
_naclsdkname="linux-amd64-default_${_naclsdkver}"
37
38
source=("unvanquished.install"
39
"unvanquished.sh"
40
"unvanquished-tty.sh"
41
"unvanquished.conf"
42
"unvanquished.desktop"
43
"unvanquished.service"
44
"unvanquished_${pkgver}.tar.gz::https://github.com/Unvanquished/Unvanquished/${_archive}"
45
#"daemon_${pkgver}.tar.gz::https://github.com/DaemonEngine/Daemon/${_archive}" # TODO: Restore.
46
"daemon_${pkgver}-nettlefix.tar.gz::https://github.com/DaemonEngine/Daemon/archive/${_daemon_ver}.tar.gz"
47
"breakpad_${pkgver}.tar.gz::https://github.com/DaemonEngine/breakpad/${_archive}"
48
"crunch_${pkgver}.tar.gz::https://github.com/DaemonEngine/crunch/${_archive}"
49
"recastnavigation_${pkgver}.tar.gz::https://github.com/DaemonEngine/recastnavigation/${_archive}"
50
"naclsdk_${_naclsdkver}.tar.xz::https://dl.unvanquished.net/deps/${_naclsdkname}.tar.xz")
51
52
sha256sums=('b6eb6d2f0a45512cb4b67245fc1454c6d8a2d4ea83ce203c06dcacc51ec411fd'
53
'010e1c64a97a33612f88a11c7621cf69d02119732e151e230bc1fa985757eed7'
54
'0eafaf9e5ed488bc91dcff7eb5f9917765f61583d23daba37bfc1035b1e1af24'
55
'562a0c185dfed2b2dee6135a399b18eff0d5bc5380f19a89ba15fc63b6e2827f'
56
'0b0bc478ad6e61dd17fdeb3265a6321d0ca2719eca7bbb432a4b4a497c58a7b0'
57
'44df664e8737fd543818cebc1e506a33e724fc3fb73eee46813ec3648eff64a0'
58
'd727baa67b19c69c65c155050bd9222c1fec7912c8c90f636036942ae4e6273e'
59
'e68b64330c02180e1e363985705248bd3b93e6d05b11b5d632c399dca8bf8f3a'
60
'b6e25aed236ec681856d875aa5057a15ce2b86737bd08e89d6af3864745ca2a9'
61
'1863f38c82c172ed2902e6b8201d7df86b298bcc9c415589bbf9b1e306b4851c'
62
'3bb68dcb6537081da4d972d5289fb217a023796c27e4a20807c16f152337c0b7'
63
'970e997ccf50a2155fe68a35f9abf2c5c5967cb5686a4855baf0cca89235d28c')
64
65
# The prepare function mimics the git submodule dance.
66
prepare() {
67
cd "${srcdir}"
68
69
# From Unvanquished: Remove empty submodule directories.
70
rmdir --ignore-fail-on-non-empty "${_unvanquished}/daemon"
71
rmdir --ignore-fail-on-non-empty "${_unvanquished}/libs/recastnavigation"
72
73
# From Dæmon: Remove empty submodule directories.
74
rmdir --ignore-fail-on-non-empty "${_daemon}/libs/breakpad"
75
rmdir --ignore-fail-on-non-empty "${_daemon}/libs/crunch"
76
77
# Link Unvanquished's submodules.
78
ln -sfr "${_daemon}" "${_unvanquished}/daemon"
79
ln -sfr "${_recast}" "${_unvanquished}/libs/recastnavigation"
80
81
# Link Dæmon's submodules.
82
ln -sfr "${_breakpad}" "${_daemon}/libs/breakpad"
83
ln -sfr "${_crunch}" "${_daemon}/libs/crunch"
84
85
# Link the NaCL SDK in the Dæmon source tree.
86
ln -sfr "${_naclsdkname}" "${_daemon}/external_deps/${_naclsdkname}"
87
88
# HACK: Fix unintended cmake-enforced hardening.
89
# This clashes with the setting in makepkg.conf (producing warnings).
90
# See https://github.com/DaemonEngine/Daemon/issues/1380.
91
sed -i 's/(USE_HARDENING OR NOT MINGW)/(USE_HARDENING AND NOT MINGW)/' \
92
"${_daemon}/cmake/DaemonFlags.cmake"
93
}
94
95
build() {
96
cd "${srcdir}/${_unvanquished}"
97
98
mkdir -p build
99
cd build
100
101
cmake \
102
-D BUILD_CGAME=OFF \
103
-D BUILD_SGAME=OFF \
104
-D USE_BREAKPAD=ON \
105
-D USE_EXTERNAL_DEPS_LIBS=OFF \
106
..
107
make
108
}
109
110
package() {
111
cd "${pkgdir}"
112
113
# Create installation directories.
114
install -d -m 755 \
115
etc/conf.d \
116
etc/unvanquished \
117
usr/bin \
118
usr/lib/systemd/system \
119
usr/lib/unvanquished \
120
usr/share/applications \
121
usr/share/licenses/unvanquished \
122
usr/share/unvanquished/pkg \
123
var/lib/unvanquished-server/config \
124
var/lib/unvanquished-server/game
125
126
# Install content.
127
cd "${srcdir}"
128
129
install -m 755 unvanquished.sh "${pkgdir}/usr/bin/unvanquished"
130
install -m 755 unvanquished-tty.sh "${pkgdir}/usr/bin/unvanquished-tty"
131
install -m 644 unvanquished.conf "${pkgdir}/etc/conf.d/"
132
install -m 644 unvanquished.service "${pkgdir}/usr/lib/systemd/system/"
133
install -m 644 unvanquished.desktop "${pkgdir}/usr/share/applications/"
134
135
cd "${srcdir}/${_unvanquished}"
136
137
install -m 644 COPYING.txt "${pkgdir}/usr/share/licenses/unvanquished/"
138
139
cd "${srcdir}/${_unvanquished}/build"
140
141
install -m 755 daemon "${pkgdir}/usr/lib/unvanquished/"
142
install -m 755 daemonded "${pkgdir}/usr/lib/unvanquished/"
143
install -m 755 daemon-tty "${pkgdir}/usr/lib/unvanquished/"
144
install -m 755 crash_server "${pkgdir}/usr/lib/unvanquished/"
145
install -m 755 irt_core-*.nexe "${pkgdir}/usr/lib/unvanquished/"
146
install -m 755 nacl_helper_bootstrap "${pkgdir}/usr/lib/unvanquished/"
147
install -m 755 nacl_loader "${pkgdir}/usr/lib/unvanquished/"
148
149
if [ "${CARCH}" == "aarch64" ]; then
150
armlibdir="${pkgdir}/usr/lib/unvanquished/lib-armhf"
151
install -d -m 755 "${armlibdir}"
152
install -m 755 nacl_helper_bootstrap-armhf "${pkgdir}/usr/lib/unvanquished/"
153
install -m 755 lib-armhf/ld-linux-armhf "${armlibdir}"
154
install -m 755 lib-armhf/lib*.so.* "${armlibdir}"
155
fi
156
157
cd "${srcdir}/${_unvanquished}/dist/configs"
158
159
install -m 644 game/maprotation.cfg "${pkgdir}/etc/unvanquished/"
160
install -m 644 config/server.cfg "${pkgdir}/etc/unvanquished/"
161
162
cd "${srcdir}/${_unvanquished}/dist/icons"
163
164
for resolution in $(ls -c1); do
165
icondir="${pkgdir}/usr/share/icons/hicolor/${resolution}/apps"
166
install -d -m 755 "${icondir}"
167
install -m 644 "${resolution}/unvanquished.png" "${icondir}"
168
done
169
170
# setup server home directory
171
cd "${pkgdir}/var/lib/unvanquished-server/config"
172
173
ln -s ../../../../etc/unvanquished/server.cfg .
174
175
cd "${pkgdir}/var/lib/unvanquished-server/game"
176
177
ln -s ../../../../etc/unvanquished/maprotation.cfg .
178
}
179
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 |