nwn-gog
maintainer ubervison
· 10 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads game data and client files from lutris.net, which is a non-standard host but a legitimate and well-known gaming platform; the files are not executable code but game assets and clients, and the build process involves standard extraction and compilation of open-source compatibility tools from GitHub, posing minimal security 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 game data and client files from lutris.net, which is a non-standard host but a legitimate and well-known gaming platform; the files are not executable code but game assets and clients, and the build process involves standard extraction and compilation of open-source compatibility tools from GitHub, posing minimal security 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:27
"https://lutris.net/files/games/neverwinter-nights/nwclientgold.tar.gz" \
PKGBUILD
1 offending line(s) highlighted
1
#Maintainer: ubervison <vis0n at protonmail dot com>
2
# Contributor: Stephen Baker <baker dot stephen dot e at gmail dot com>
3
# Contributor: Slash <demodevil5[at]yahoo[dot]com>
4
# Contributor: Adam Griffiths <adam_griffithsAATTdart.net.au>
5
6
pkgname=nwn-gog
7
pkgver=2.1.0.21
8
pkgrel=7
9
pkgdesc="Neverwinter Nights is an RPG from Bioware. This requires the GOG version."
10
url="https://www.gog.com/game/neverwinter_nights_enhanced_edition_pack"
11
license=('custom')
12
arch=('i686' 'x86_64')
13
depends=('binkplayer-bin' 'perl' 'elfutils' 'icoutils')
14
depends_x86_64=('lib32-libelf' 'lib32-libstdc++5' 'lib32-libgl' 'lib32-glu' 'lib32-libxcursor' 'lib32-libxdamage' 'lib32-sdl_mixer' 'gcc-multilib')
15
depends_i686=('libgl' 'glu' 'libstdc++5' 'libxcursor' 'sdl_mixer')
16
makedepends=('git' 'innoextract' 'p7zip' 'perl' 'unzip' 'unrar' 'rsync')
17
optdepends=('xdg-utils: xdg .desktop file support')
18
provides=('nwn')
19
conflicts=('nwn')
20
install=nwn.install
21
22
PKGEXT='.pkg.tar'
23
24
source=("setup_nwn_diamond_$pkgver.exe::gogdownloader://neverwinter_nights_diamond_edition/en1installer0" \
25
"setup_nwn_diamond_$pkgver-1.bin::gogdownloader://neverwinter_nights_diamond_edition/en1installer1" \
26
"nvn_KingmakerSetup.zip::gogdownloader://neverwinter_nights_diamond_edition/9213" \
27
"https://lutris.net/files/games/neverwinter-nights/nwclientgold.tar.gz" \
28
"https://lutris.net/files/games/neverwinter-nights/nwclienthotu.tar.gz" \
29
"https://lutris.net/files/games/neverwinter-nights/English_linuxclient169_xp2.tar.gz" \
30
"libz.patch" \
31
"nwn.launcher" \
32
"nwn.desktop" \
33
"git+https://github.com/nwnlinux/nwmouse.git" \
34
"git+https://github.com/nwnlinux/nwuser.git" \
35
"git+https://github.com/nwnlinux/nwlogger.git" \
36
"git+https://github.com/nwnlinux/nwmovies.git")
37
noextract=("nwclientgold.tar.gz" "nwclienthotu.tar.gz" "English_linuxclient169_xp2.tar.gz" "setup_nwn_diamond_$pkgver-1.bin" "nvn_KingmakerSetup.zip")
38
39
DLAGENTS+=('gogdownloader::/usr/bin/lgogdownloader --download-file=%u -o %o')
40
41
md5sums=('cd809b9d22022adb01b0d1d70c5afa8e'
42
'ce60bf104cc6082fe79d6f0bd7b48f51'
43
'57be8c593db88db6b6ee78ba9201ec53'
44
'0a059d55225fc32f905e86191d88a11f'
45
'376cdece07106ea058d42b531f3146bb'
46
'b021f0da3b3e00848521926716fdf487'
47
'd0a157cefe55daa9d06e9803ade22fdc'
48
'966641dc9bfd49ff56bf1dac9fe00c3c'
49
'3a7fa617a2aa8d324bb4d57dcf84cf8c'
50
'SKIP'
51
'SKIP'
52
'SKIP'
53
'SKIP')
54
55
prepare()
56
{
57
# Extract gog setup
58
innoextract -e $srcdir/setup_nwn_diamond_${pkgver}.exe -d $srcdir --gog || return 1
59
60
# Extract Kingmaker installer
61
unzip -o $srcdir/nvn_KingmakerSetup.zip -d $srcdir || return 1
62
63
# Extract game icons
64
if [ -d $srcdir/icons ]; then
65
rm -r $srcdir/icons
66
fi
67
mkdir $srcdir/icons
68
icotool -x -p 0 $srcdir/game/goggame-1207658890.ico -o $srcdir/icons
69
70
# Extract Kingmaker files
71
7z x -y $srcdir/KingmakerSetup.exe -xr'!$PLUGINSDIR' -xr'!*.exe' -xr'!*.dat' -o$srcdir/kingmakertmp/ || return 1
72
73
# Patch nwlogger so that it finds sys/user.h
74
/bin/sed -i 's|linux/user.h|sys/user.h|1' $srcdir/nwlogger/nwlogger/nwlogger_cookie.c
75
76
# Patch nwmovies to link against zlib
77
cp libz.patch $srcdir/nwmovies/nwmovies
78
cd $srcdir/nwmovies/nwmovies
79
patch < libz.patch
80
}
81
82
build()
83
{
84
# Compile mwmovies
85
cd $srcdir/nwmovies
86
./nwmovies_install.pl build
87
88
# Compile nwuser
89
cd $srcdir/nwuser
90
./nwuser_install.pl
91
92
# Compile nwmouse
93
cd $srcdir/nwmouse
94
./nwmouse_install.pl
95
96
# Compile nwlogger
97
cd $srcdir/nwlogger
98
./nwlogger_install.pl
99
}
100
101
package()
102
{
103
cd $srcdir
104
105
# Create final directory
106
install -d $pkgdir/opt/nwn
107
108
# Move game files to directory
109
cd game
110
rsync -aR ambient data dmvault hak localvault modules movies music nwm texturepacks premium chitin.key dialog.tlk xp1.key xp2.key $pkgdir/opt/nwn
111
112
# Extract linux clients
113
tar zxfv $srcdir/nwclientgold.tar.gz --directory $pkgdir/opt/nwn
114
tar zxvf $srcdir/nwclienthotu.tar.gz --directory $pkgdir/opt/nwn
115
116
# Install Kingmaker files
117
rsync -av $srcdir/kingmakertmp/\$0/ $pkgdir/opt/nwn
118
119
# Extract latest patch
120
tar zxvf $srcdir/English_linuxclient169_xp2.tar.gz --directory $pkgdir/opt/nwn
121
122
# Check installation
123
cd $pkgdir/opt/nwn
124
./fixinstall
125
126
# Included SDL is old and buggy. Get rid of it.
127
rm -r $pkgdir/opt/nwn/SDL-1.2.5/
128
129
# Install nwmovies binaries
130
install -D -m 755 $srcdir/nwmovies/nwmovies.so $pkgdir/opt/nwn/nwmovies.so
131
# Install libdis binaries
132
install -D -m 755 $srcdir/nwmovies/nwmovies/libdis/libdisasm.so $pkgdir/opt/nwn/lib/libdisasm.so
133
134
# Install nwuser binaries
135
install -D -m 755 $srcdir/nwuser/nwuser/nwuser.so $pkgdir/opt/nwn/nwuser.so
136
if [ "$CARCH" = "x86_64" ]; then
137
install -D -m 755 $srcdir/nwuser/nwuser/nwuser64.so $pkgdir/opt/nwn/nwuser64.so
138
fi
139
140
# Install nwmouse binaries
141
install -D -m 755 $srcdir/nwmouse/nwmouse/nwmouse.so $pkgdir/opt/nwn/nwmouse.so
142
# Install libdis binaries
143
install -D -m 755 $srcdir/nwmouse/nwmouse/libdis/libdisasm.so $pkgdir/opt/nwn/nwmouse/libdis/libdisasm.so
144
145
# Install nwlogger binaries
146
install -D -m 755 $srcdir/nwlogger/nwlogger/nwlogger.so $pkgdir/opt/nwn/nwlogger.so
147
# Install libdis binaries
148
install -D -m 755 $srcdir/nwlogger/nwlogger/libdis/libdisasm.so $pkgdir/opt/nwn/nwlogger/libdis/libdisasm.so
149
150
# Copy cdkey
151
cp $srcdir/support/app/nwncdkey.ini $pkgdir/opt/nwn
152
153
# Copy custom license
154
install -D -m 644 $srcdir/game/docs/readme.txt $pkgdir/usr/share/licenses/$pkgname/PLATINUM_LICENSE.txt
155
install -D -m 644 $srcdir/game/docs/HotUreadme.txt $pkgdir/usr/share/licenses/$pkgname/HOTU_LICENSE.txt
156
install -D -m 644 $srcdir/game/docs/SoUreadme.txt $pkgdir/usr/share/licenses/$pkgname/SOU_LICENSE.txt
157
158
# Install .desktop file
159
install -D -m 644 $srcdir/nwn.desktop $pkgdir/usr/share/applications/nwn.desktop
160
161
# Install launcher
162
install -D -m 755 $srcdir/nwn.launcher $pkgdir/opt/nwn/nwn.sh
163
install -D -m 755 $srcdir/nwn.launcher $pkgdir/usr/bin/nwn
164
165
# Install icons files
166
install -D -m 644 $srcdir/icons/goggame-1207658890_6_256x256x32.png $pkgdir/usr/share/icons/hicolor/256x256/apps/nwn.png
167
install -D -m 644 $srcdir/icons/goggame-1207658890_7_48x48x32.png $pkgdir/usr/share/icons/hicolor/48x48/apps/nwn.png
168
install -D -m 644 $srcdir/icons/goggame-1207658890_8_32x32x32.png $pkgdir/usr/share/icons/hicolor/32x32/apps/nwn.png
169
install -D -m 644 $srcdir/icons/goggame-1207658890_9_16x16x32.png $pkgdir/usr/share/icons/hicolor/16x16/apps/nwn.png
170
171
# Fix Permissions, just to be sure
172
chown -R $USER:$USER $pkgdir
173
chmod -R 755 $pkgdir
174
}
175
176
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 |