wings2
maintainer jeremioczko
· 9 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a source tarball from the project's official domain, which is not on a standard whitelist but is plausibly legitimate; the content is a self-contained game build with no remote code execution or malicious behavior observed.
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 90%): The package downloads a source tarball from the project's official domain, which is not on a standard whitelist but is plausibly legitimate; the content is a self-contained game build with no remote code execution or malicious behavior observed.
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:15
source=(${pkgname}_v${pkgver}_linux.tar.gz::http://www.wings2.net/util/download.php?file=${pkgname}_v${pkgver}_linux.tar.gz
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
2
3
pkgname=wings2
4
pkgver=1.3.6
5
pkgrel=1
6
pkgdesc="Fly small and agile ships in varied maps"
7
arch=('i686' 'x86_64')
8
url="http://www.wings2.net/"
9
license=('custom: "Wings 2 License"')
10
depends=('sdl' 'sdl_image' 'sdl_net' 'sdl_mixer' 'libgl' 'libstdc++5' 'desktop-file-utils')
11
optdepends=('wings2-levelpack: for more levels in the game'
12
'wings2-musicpack: more game music')
13
options=('!strip' 'docs')
14
install=$pkgname.install
15
source=(${pkgname}_v${pkgver}_linux.tar.gz::http://www.wings2.net/util/download.php?file=${pkgname}_v${pkgver}_linux.tar.gz
16
$pkgname.desktop
17
Wings
18
Wings64)
19
md5sums=('4adb5b270a410225c240da0c9a429018'
20
'6958819bc2ba835e355a5ae38f10e663'
21
'e0118af926a36776aaa7b79853486373'
22
'bc7e663ba893172400285e36ffc19fb4')
23
24
package() {
25
cd "${srcdir}"
26
27
install -d "${pkgdir}"/opt/Wings2 "${pkgdir}"/usr/bin "${pkgdir}"/usr/share/licenses/wings2
28
cp -r "${srcdir}"/Wings2 "${pkgdir}"/opt/
29
find "${pkgdir}"/opt -type d -exec chmod 755 "{}" \;
30
find "${pkgdir}"/opt -type f -exec chmod 644 "{}" \;
31
32
#config.xml and stdout.txt files must be writable by all
33
touch "${pkgdir}"/opt/Wings2/bin/{config.xml,stdout.txt}
34
chmod a+w "${pkgdir}"/opt/Wings2/bin/{config.xml,stdout.txt}
35
36
#directory for received levels from server writable
37
chmod a+w "${pkgdir}"/opt/Wings2/levels/received
38
39
#.desktop file
40
install -D -m644 "${srcdir}"/wings2.desktop "${pkgdir}"/usr/share/applications/wings2.desktop
41
42
#license
43
install -D -m644 "${pkgdir}"/opt/Wings2/doc/License.txt "${pkgdir}"/usr/share/licenses/wings2/LICENSE
44
45
#remove playlist
46
rm "${pkgdir}"/opt/Wings2/music/menu_music.txt
47
48
49
# ---------------------- i686 architecture ----------------------
50
if [ "$CARCH" = "i686" ]; then
51
52
#install run file for i686
53
install -D -m755 "${srcdir}"/Wings "${pkgdir}"/usr/bin/Wings
54
55
#making files for i686 executable
56
chmod 775 "${pkgdir}"/opt/Wings2/bin/Wings "${pkgdir}"/opt/Wings2/bin/Makelev
57
58
#remove binaries for x86_64
59
rm "${pkgdir}"/opt/Wings2/bin/{Wings64,Makelev64}
60
61
62
# ---------------------- x86_64 architecture ----------------------
63
elif [ "$CARCH" = "x86_64" ]; then
64
65
#install run file for x86_64
66
install -D -m755 "${srcdir}"/Wings64 "${pkgdir}"/usr/bin/Wings
67
68
#making files for x86_64 executable
69
chmod 775 "${pkgdir}"/opt/Wings2/bin/Wings64 "${pkgdir}"/opt/Wings2/bin/Makelev64
70
71
#remove i686 binaries
72
rm "${pkgdir}"/opt/Wings2/bin/{Wings,Makelev}
73
74
fi
75
}
76
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 |