sotw-dev
maintainer Larzid
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The non-standard host (www.shadowofthewyrm.org) hosts a data-only ZIP file (assets) for the game, which is not executable; the main source is from a legitimate GitHub repository, and the asset download, while on a non-whitelisted host, poses minimal risk as it is not code or a binary.
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 non-standard host (www.shadowofthewyrm.org) hosts a data-only ZIP file (assets) for the game, which is not executable; the main source is from a legitimate GitHub repository, and the asset download, while on a non-whitelisted host, poses minimal risk as it is not code or a binary.
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:21
source=('git+https://github.com/prolog/shadow-of-the-wyrm.git' 'https://www.shadowofthewyrm.org/assets/ShadowOfTheWyrm-assets.zip')
PKGBUILD
1 offending line(s) highlighted
1
#Maintainer: Larzid <juanitocampamocha@gmail.com>
2
pkgname=sotw-dev
3
pkgver=development
4
pkgrel=17
5
epoch=
6
pkgdesc="Shadow Of The Wyrm by Julian Day - Development branch."
7
arch=('x86_64')
8
url="http://www.shadowofthewyrm.org/"
9
license=('MIT')
10
groups=()
11
depends=('sdl2' 'sdl2_mixer' 'sdl2_image' 'xerces-c' 'zlib' 'ncurses' 'lua51' 'boost' 'gtest')
12
makedepends=('premake' 'git')
13
checkdepends=()
14
provides=(sotw)
15
conflicts=(sotw)
16
replaces=()
17
backup=()
18
options=()
19
install=post.install
20
changelog=
21
source=('git+https://github.com/prolog/shadow-of-the-wyrm.git' 'https://www.shadowofthewyrm.org/assets/ShadowOfTheWyrm-assets.zip')
22
noextract=()
23
md5sums=('SKIP' '067c14911d4681b23ce3d3e658bf63c7')
24
validpgpkeys=()
25
26
build() {
27
cd shadow-of-the-wyrm
28
git checkout develop
29
cp -R ../assets ./
30
premake5 --lua_include=/usr/include/lua5.1 --lua_link=lua5.1 gmake
31
make config=release
32
#make config=debug
33
}
34
35
package() {
36
# Create launch script
37
echo "#!/bin/bash" > ${srcdir}/shadow-of-the-wyrm/sotw.sh
38
echo "cd /usr/share/sotw" >> ${srcdir}/shadow-of-the-wyrm/sotw.sh
39
echo "./sotw" >> ${srcdir}/shadow-of-the-wyrm/sotw.sh
40
chmod +x ${srcdir}/shadow-of-the-wyrm/sotw.sh
41
42
# Create the .desktop entry.
43
echo "[Desktop Entry]
44
Version=$pkgver
45
Name=Shadow Of The Wyrm
46
GenericName=SOTW
47
Type=Application
48
Comment=A single player, traditional roguelike by Julian Day.
49
Icon=sotw_icon
50
Exec=sotw
51
Terminal=false
52
SartupNotify=false
53
Keywords=game;roguelike;
54
Categories=Game;" > ${srcdir}/sotw.desktop
55
56
# Tweak game settings.
57
# Setup log directory.
58
sed -i '16s|.*|log_dir=/var/sotw/log|' ${srcdir}/shadow-of-the-wyrm/swyrm.ini
59
mkdir ${pkgdir}/var
60
mkdir ${pkgdir}/var/sotw
61
mkdir ${pkgdir}/var/sotw/log
62
chmod -R 777 ${pkgdir}/var/sotw
63
# Set system dump directory.
64
sed -i '39s|.*|syschardump_dir=/var/sotw|' ${srcdir}/shadow-of-the-wyrm/swyrm.ini
65
# Set score file location.
66
sed -i '49s|.*|scorefile_dir=/var/sotw|' ${srcdir}/shadow-of-the-wyrm/swyrm.ini
67
# Set disallow score for narrative mode and console commands.
68
sed -i '636s|.*|_disallow_score_on_exploration=1|' ${srcdir}/shadow-of-the-wyrm/swyrm.ini
69
70
# Do the actual packaging
71
install -D -m644 ${srcdir}/shadow-of-the-wyrm/LICENSE "${pkgdir}/usr/share/licenses/sotw/LICENSE"
72
# install -d -m777 ${srcdir}/shadow-of-the-wyrm/sotw "${pkgdir}/usr/share/sotw"
73
install -d ${srcdir}/shadow-of-the-wyrm/sotw "${pkgdir}/usr/share/sotw"
74
install -D ${srcdir}/shadow-of-the-wyrm/sotw/sotw "${pkgdir}/usr/share/sotw/sotw"
75
install -D ${srcdir}/shadow-of-the-wyrm/howdoi.txt "${pkgdir}/usr/share/sotw/howdoi.txt"
76
install -D ${srcdir}/shadow-of-the-wyrm/LICENSE "${pkgdir}/usr/share/sotw/LICENSE"
77
install -D ${srcdir}/shadow-of-the-wyrm/README.md "${pkgdir}/usr/share/sotw/README.md"
78
install -D ${srcdir}/shadow-of-the-wyrm/shadowofthewyrmtext_blank.ini "${pkgdir}/usr/share/sotw/shadowofthewyrmtext_blank.ini"
79
install -D ${srcdir}/shadow-of-the-wyrm/shadowofthewyrmtext_en.ini "${pkgdir}/usr/share/sotw/shadowofthewyrmtext_en.ini"
80
install -D ${srcdir}/shadow-of-the-wyrm/swyrm.ini "${pkgdir}/usr/share/sotw/swyrm.ini"
81
cp -R ${srcdir}/shadow-of-the-wyrm/assets ${pkgdir}/usr/share/sotw/assets
82
cp -R ${srcdir}/shadow-of-the-wyrm/sotw/data ${pkgdir}/usr/share/sotw/data
83
cp -R ${srcdir}/shadow-of-the-wyrm/sotw/docs ${pkgdir}/usr/share/sotw/docs
84
cp -R ${srcdir}/shadow-of-the-wyrm/sotw/licenses ${pkgdir}/usr/share/sotw/licenses
85
cp -R ${srcdir}/shadow-of-the-wyrm/sotw/logs ${pkgdir}/usr/share/sotw/logs
86
cp -R ${srcdir}/shadow-of-the-wyrm/sotw/scripts ${pkgdir}/usr/share/sotw/scripts
87
cp -R ${srcdir}/shadow-of-the-wyrm/sotw/texts ${pkgdir}/usr/share/sotw/texts
88
mkdir ${pkgdir}/usr/share/icons/
89
mkdir ${pkgdir}/usr/share/applications/
90
cp -R ${srcdir}/shadow-of-the-wyrm/sotw_icon.ico ${pkgdir}/usr/share/icons/sotw_icon.png
91
cp -R ${srcdir}/sotw.desktop ${pkgdir}/usr/share/applications/sotw.desktop
92
install -D ${srcdir}/shadow-of-the-wyrm/sotw.sh ${pkgdir}/usr/bin/sotw
93
}
94
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 |