nwn-diamond

maintainer Slash · 11 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads prebuilt game client archives from lutris.net, a non-whitelisted but legitimate gaming community site; however, these are standard data/asset files for a classic game, not executable code, and the worst case of tampering is limited to non-malicious content replacement, not remote code execution.

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 prebuilt game client archives from lutris.net, a non-whitelisted but legitimate gaming community site; however, these are standard data/asset files for a classic game, not executable code, and the worst case of tampering is limited to non-malicious content replacement, not remote code execution.

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:22 'https://lutris.net/files/games/neverwinter-nights/nwclientgold.tar.gz'

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Slash <demodevil5[at]yahoo[dot]com>
2# Contributor: Adam Griffiths <adam_griffithsAATTdart.net.au>
3
4pkgname=nwn-diamond
5pkgver=1.69
6pkgrel=9
7pkgdesc='Neverwinter Nights RPG from Bioware. Requires the Diamond Collection DVD. Update PKGBUILD with path to your DVD.'
8url='http://nwn.bioware.com/'
9license=('custom:EULA')
10arch=('i686' 'x86_64')
11if [ "$CARCH" = 'x86_64' ]; then
12 depends=('binkplayer-bin' 'elfutils' 'lib32-elfutils' 'lib32-libgl' 'lib32-libstdc++5' 'lib32-libxcursor' 'lib32-libxdamage' 'lib32-mesa' 'perl' 'lib32-sdl_mixer')
13else
14 depends=('binkplayer-bin' 'elfutils' 'libgl' 'libstdc++5' 'libxcursor' 'mesa' 'perl' 'sdl_mixer')
15fi
16makedepends=('git' 'unzip' 'p7zip' 'perl')
17provides=('nwn')
18conflicts=('nwn')
19install='nwn.install'
20backup=('opt/nwn/nwncdkey.ini')
21source=(
22 'https://lutris.net/files/games/neverwinter-nights/nwclientgold.tar.gz'
23 'https://lutris.net/files/games/neverwinter-nights/nwclienthotu.tar.gz'
24 'https://lutris.net/files/games/neverwinter-nights/English_linuxclient169_xp2.tar.gz'
25 'git+https://github.com/nwnlinux/nwlogger.git#commit=3bfa7aa5'
26 'git+https://github.com/nwnlinux/nwmouse.git#commit=6df8b96f'
27 'git+https://github.com/nwnlinux/nwmovies.git#commit=61fb3645'
28 'git+https://github.com/nwnlinux/nwuser.git#commit=3fbbf546'
29 'nwn.launcher'
30 'nwn.desktop'
31 'nwn.key'
32)
33noextract=(
34 'English_linuxclient169_xp2.tar.gz'
35 'nwclientgold.tar.gz'
36 'nwclienthotu.tar.gz'
37)
38sha256sums=('6aea73cee2f6c9733ef4a121888cb3451d8a31b968a02e1ec897242df53395f3'
39 '0a4ace1aacd69fb166d09bd249ce5ae98dd28f580765f52e0147bb85f7dfcfd7'
40 '09715e2b95c025ef7f00d218deec1b1edce501530d8cba51d61097c69699763f'
41 'SKIP'
42 'SKIP'
43 'SKIP'
44 'SKIP'
45 'bcaa399db7fdaba64535cc79ee9b8e0c02851fe6c06a72c47abe98530eff63e7'
46 '50f6272eebd8de19c018a24a5b3ce4ca15bd1fff0aef818ec1036f249faa612c'
47 'SKIP')
48PKGEXT='.pkg.tar'
49
50# Directory where the NWN Diamond DVD is mounted
51# Tip: Create an ISO from your DVD to speed up the process
52_dvdpath=/media/dvd
53
54prepare()
55{
56 # Extract Data Files from DVD
57 unzip -o "${_dvdpath}/Data_Shared.zip" -d "${srcdir}/gametmp/"
58 unzip -o "${_dvdpath}/Data_linux.zip" -d "${srcdir}/gametmp/"
59 unzip -o "${_dvdpath}/data/XP1.zip" -d "${srcdir}/gametmp/"
60 unzip -o "${_dvdpath}/data/XP2.zip" -d "${srcdir}/gametmp/"
61
62 # Extract Game Clients
63 tar -zxvf "${srcdir}/nwclientgold.tar.gz" -C "${srcdir}/gametmp/"
64 tar -zxvf "${srcdir}/nwclienthotu.tar.gz" -C "${srcdir}/gametmp/"
65
66 # Extract Latest Patch
67 tar -zxvf "${srcdir}/English_linuxclient169_xp2.tar.gz" -C \
68 "${srcdir}/gametmp/"
69
70 # Extract Kingmaker Files
71 7z x "${_dvdpath}/KingmakerSetup.exe" -xr0\!*PLUGINSDIR* -xr\!*.exe -xr\!*.dat \
72 -o"${srcdir}/kingmakertmp/" -aoa
73
74 # Copy License, Icon off DVD
75 cp -f "${_dvdpath}/"{EULA.txt,nwn.ico} "${srcdir}"
76
77 # Patch nwmouse so it can find user.h
78 /bin/sed -i 's|linux/user.h|sys/user.h|1' \
79 "${srcdir}/nwmouse/nwmouse/nwmouse_cookie.c"
80
81 # Patch nwlogger so it can find user.h
82 /bin/sed -i 's|linux/user.h|sys/user.h|1' \
83 "${srcdir}/nwlogger/nwlogger/nwlogger_cookie.c"
84}
85
86build()
87{
88 cd "${srcdir}/nwmovies"
89 # Compile nwmovies using the appropriate SDL library
90 if [ "$CARCH" = "x86_64" ]; then
91 ./nwmovies_install.pl /usr/lib32/libSDL-1.2.so.0
92 else
93 ./nwmovies_install.pl /usr/lib/libSDL-1.2.so.0
94 fi
95
96 # Compile nwuser
97 cd "${srcdir}/nwuser"
98 ./nwuser_install.pl
99
100 # Compile nwmouse
101 cd "${srcdir}/nwmouse"
102 ./nwmouse_install.pl
103
104 # Compile nwlogger
105 cd "${srcdir}/nwlogger"
106 ./nwlogger_install.pl
107}
108
109package()
110{
111 # Create Destination Directory
112 install -d "${pkgdir}/opt/"
113
114 # Install Base Game Files
115 mv "${srcdir}/gametmp/" \
116 "${pkgdir}/opt/nwn"
117
118 # Install Kingmaker Files
119 cp -r "${srcdir}/kingmakertmp/\$0/"* \
120 "${pkgdir}/opt/nwn/"
121
122 # Check the Installation
123 cd "${pkgdir}/opt/nwn/"
124 ./fixinstall
125
126 # Install Addons (nwmovies, nwuser, nwmouse, and nwlogger)
127 _install_addons
128
129 # Install CD Key File
130 install -D -m 0644 "${srcdir}/nwn.key" \
131 "${pkgdir}/opt/nwn/nwncdkey.ini"
132
133 # Install Custom License
134 install -D -m 0644 "${srcdir}/EULA.txt" \
135 "${pkgdir}/usr/share/licenses/${pkgname}/EULA.txt"
136
137 # Install Launcher (Client)
138 install -D -m 0755 "${srcdir}/nwn.launcher" \
139 "${pkgdir}/usr/bin/nwn"
140
141 # Install Desktop File
142 install -D -m 0644 "${srcdir}/nwn.desktop" \
143 "${pkgdir}/usr/share/applications/nwn.desktop"
144
145 # Install Icon File
146 install -D -m 0644 "${srcdir}/nwn.ico" \
147 "${pkgdir}/usr/share/pixmaps/nwn.ico"
148
149 # Remove Unneeded Files & Directories
150 rm -r "${pkgdir}/opt/nwn/SDL-1.2.5/"
151
152 # Fix Whacky Permissions
153 chown -R root:root "${pkgdir}"
154 chmod -R o+r "${pkgdir}"
155}
156
157_install_addons()
158{
159 cd "${srcdir}"
160
161 # Install nwmovies binaries
162 install -D -m 0755 -t "${pkgdir}/opt/nwn/" \
163 "${srcdir}/nwmovies/"{nwmovies.so,nwmovies.pl}
164
165 # Install binkplayer binaries
166 install -D -m 0755 "${srcdir}/nwmovies/nwmovies/binklib.so" \
167 "${pkgdir}/opt/nwn/nwmovies/binklib.so"
168
169 # Install libdis binaries
170 install -D -m 0755 "${srcdir}/nwmovies/nwmovies/libdis/libdisasm.so" \
171 "${pkgdir}/opt/nwn/nwmovies/libdis/libdisasm.so"
172
173 # SymLink BinkPlayer to the NWN Directory so the Movie Launcher (nwmovies.pl) can find it
174 ln -s /usr/bin/binkplayer "${pkgdir}/opt/nwn/BinkPlayer"
175
176 # Install nwuser binaries
177 install -D -m 0755 "${srcdir}/nwuser/nwuser/nwuser.so" \
178 "${pkgdir}/opt/nwn/nwuser.so"
179
180 # Install 64bit binaries if Arch64
181 if [ "$CARCH" = "x86_64" ]; then
182 install -D -m 0755 "${srcdir}/nwuser/nwuser/nwuser64.so" \
183 "${pkgdir}/opt/nwn/nwuser64.so"
184 fi
185
186 # Install nwmouse binaries
187 install -D -m 0755 "${srcdir}/nwmouse/nwmouse/nwmouse.so" \
188 "${pkgdir}/opt/nwn/nwmouse.so"
189
190 # Install libdis binaries
191 install -D -m 0755 "${srcdir}/nwmouse/nwmouse/libdis/libdisasm.so" \
192 "${pkgdir}/opt/nwn/nwmouse/libdis/libdisasm.so"
193
194 # Install nwlogger binaries
195 install -D -m 0755 "${srcdir}/nwlogger/nwlogger/nwlogger.so" \
196 "${pkgdir}/opt/nwn/nwlogger.so"
197
198 # Install libdis binaries
199 install -D -m 0755 "${srcdir}/nwlogger/nwlogger/libdis/libdisasm.so" \
200 "${pkgdir}/opt/nwn/nwlogger/libdis/libdisasm.so"
201
202 # Install Cursors
203 install -d "${pkgdir}/opt/nwn/nwmouse/cursors/"
204 tar -zxvf "${srcdir}/nwmouse/nwmouse/cursors.tar.gz" -C \
205 "${pkgdir}/opt/nwn/nwmouse/cursors/"
206}
207
208

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion