quake2

MEDIUM
maintainer Slash 34 votes scanned 2026-09-11 03:21:42.536508
View on AUR
Why flagged

One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).

Triggered rules

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:13 source=("http://www.icculus.org/quake2/files/quake2-${pkgver}.tar.gz"
  • PKGBUILD:14 'http://www.gamers.org/pub/idgames/idstuff/quake2/source/xatrixsrc320.shar.Z'

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Slash <demodevil5 [at] yahoo [dot] com>
2# Contributor: Andrew Simmons <andrew.simmons@gmail.com>
3
4pkgname=quake2
5pkgver=r0.16.2
6pkgrel=6
7pkgdesc="Quake 2 engine. You need the retail .pak files to play."
8url="http://www.icculus.org/quake2/"
9arch=('i686' 'x86_64')
10license=('GPL')
11depends=('bash' 'libjpeg' 'sdl' 'libxxf86vm' 'libxxf86dga')
12install="quake2.install"
13source=("http://www.icculus.org/quake2/files/quake2-${pkgver}.tar.gz"
14 'http://www.gamers.org/pub/idgames/idstuff/quake2/source/xatrixsrc320.shar.Z'
15 'http://www.gamers.org/pub/idgames/idstuff/quake2/source/roguesrc320.shar.Z'
16 'http://www.gamers.org/pub/idgames/idstuff/quake2/q2-3.20-x86-full-ctf.exe'
17 'http://www.icculus.org/quake2/files/maxpak.pak'
18 'http://www.icculus.org/quake2/files/pak10.pak'
19 'http://www.icculus.org/quake2/files/pak11.pak'
20 'http://www.icculus.org/quake2/files/pak12.pak'
21 'http://www.icculus.org/quake2/files/pak13.pak'
22 'http://www.icculus.org/quake2/files/pak14.pak'
23 'http://www.icculus.org/quake2/files/pak16.pak'
24 'http://www.icculus.org/quake2/files/pak17.pak'
25 'http://www.icculus.org/quake2/files/pak19.pak'
26 'quake2.sh' 'q2ded.sh' 'xatrix.sh' 'rogue.sh' 'ctf.sh' 'snd_alsa.c'
27 'gnusource.patch' 'map_command_fix.patch' 'updates_for_gcc.patch')
28sha256sums=('98cea3cbd70bd1f195e5190d0ae047c636e00e21dbc6cc5bdee4acd52876d3e9'
29 '94bf596cd85d38ea294b99ccb0ebb5e4b9776cca335001b3803e2d8407395589'
30 'ceefb2fd748961cb0bc3244220f3eb09d8f7b8ca2eb32cdf9b284727a2fdc919'
31 'f82197c8c8089202a4b3a85d8833b0c2e827a709d205c760369407c212488baa'
32 '653569fe880f1ed5f7529483ac961b22078482e6ff0e83f4d9d1bc503c866770'
33 '196dc096c1f4fd620c19a09593e5b770ddbeed7d864ca3a95383f7bf9538fbc3'
34 'dcddd989b568cb28aa6c2a877d81df50a71fd9a649ce6dd44f454efe13e26a73'
35 '170af42c090940c89f1bf16e8518733bc39dac070e0d42e4eacad727b37de256'
36 '085b22e5a9f23299e6f0519e402711725cdac51fc399ce577d0d701df0a72681'
37 '78d3b02d20f856b3a0680035b0d67a80a16bede372eef3330b58c755387ff1ff'
38 'eb21fbc6d0bcd69fb1d3768bcb7f0bbff03e28c18c67f239497d15749913ded3'
39 'e9585c18ec1f53b95dad833f76ac2df54586d3171e0f3a93ba7c2acce8d915be'
40 'ee7d5aaee977a8dd198c61a2bcca446b2ab421ee6eaa3a18159671dd742a9540'
41 'df049ce47922b5d13784f24f7e0457ec48ee1ff19254c3d6c473da684474e490'
42 '238f2efc57f1dc04f604932afda4da5332c3798b689bb9edff951b8e405e8fc5'
43 'ca832709e8b9dd92ff95959a884127be1804d85381f494b14713c860ae6db471'
44 '8655b4216ea95d2408dcc28de53e53df587aa6959a95c62cc6d7f3eb63492202'
45 'ea50ae5cca9d633fe2ad30c59beb2ad350130bdd2a78f773639794f2c12d1ed1'
46 'fd434189a6242ad288e5827c8285e0dca3f26fe447be50204d4b6817cb1ae624'
47 '9ac34f2bebbb6d4a19c590e00db8e5b0034b3ffe2a245a595e28ab43d65d7617'
48 '7ce69543faf226e871dbe78c058a3499f5c283860ae2d9e39e397178123264ec'
49 '637c94188ee5fb147fae56fd368b7b184f3a111adc1099ec0da0a95046c93d6a')
50PKGEXT='.pkg.tar'
51
52# Computer Architecture Variable used by Quake2
53[ "${CARCH}" = "i686" ] && _dirarch=i386
54[ "${CARCH}" = "x86_64" ] && _dirarch=x86_64
55
56prepare() {
57 cd "${srcdir}"
58
59 # Create Temporary Directories
60 install -d "${pkgname}-${pkgver}/src/xatrix" "${pkgname}-${pkgver}/src/rogue"
61
62 # Extract and patch The Reckoning (xatrix) and Ground Zero (rouge) Expansions
63 for _addon in xatrix rogue; do
64 _shar="${_addon}src320.shar"
65
66 cp "${srcdir}/${_shar}.Z" "${srcdir}/${pkgname}-${pkgver}/src/${_addon}"
67 cd "${srcdir}/${pkgname}-${pkgver}/src/${_addon}"
68
69 # Extract
70 msg "Unpacking ${_shar}.Z"
71 uncompress "${_shar}.Z"
72
73 # Remove Prompts
74 /bin/sed -i -e 's:^read ans:ans=yes :' "${_shar}"
75 /bin/sed -i -e 's:^more <<EOF:cat <<EOF:' "${_shar}"
76
77 # Run Installer
78 msg "Running ${_shar}"
79 sh "${_shar}"
80
81 msg "Patching ${_addon}"
82
83 # Patch (rogue-only)
84 if [ "${_addon}" = "rogue" ]; then
85 /bin/sed -e "s/#include <nan.h>/#include <bits\/nan.h>/" -i g_local.h
86 fi
87
88 # Patches (Both Expansions)
89 /bin/sed -e "s/extern\tint\tjacket_armor_index/static\tint\tjacket_armor_index/" -i g_local.h
90 /bin/sed -e "s/extern\tint\tcombat_armor_index/static\tint\tcombat_armor_index/" -i g_local.h
91 /bin/sed -e "s/extern\tint\tbody_armor_index/static\tint\tbody_armor_index/" -i g_local.h
92 done
93
94 msg "The Reckoning and Ground Zero Expansion patching complete"
95
96 cd "${srcdir}/${pkgname}-${pkgver}/"
97
98 # Patch from SVN
99 cp "${srcdir}/snd_alsa.c" ./src/linux/snd_alsa.c
100
101 # x86_64 patch from Gentoo
102 patch -p1 < "${srcdir}/gnusource.patch"
103
104 # libjpeg Fix
105 /bin/sed -i -e 's:jpeg_mem_src:_&:' \
106 "${srcdir}/${pkgname}-${pkgver}/src/ref_candygl/gl_image.c"
107
108 # Map command fix by h3xx
109 /usr/bin/patch -p1 < "${srcdir}/map_command_fix.patch"
110
111 # Updates to compile using newer gcc releases
112 /usr/bin/patch -p1 < "${srcdir}/updates_for_gcc.patch"
113
114 msg "Quake 2 patching complete"
115}
116
117build() {
118 cd "${srcdir}/${pkgname}-${pkgver}/"
119
120 msg "Compiling Quake 2"
121
122 # Compile Quake 2
123 make -s BUILD_XATRIX=YES \
124 BUILD_ROGUE=YES \
125 BUILD_DEDICATED=YES \
126 BUILD_CTF=YES \
127 BUILD_QMAX=YES \
128 build_release
129}
130
131package() {
132 cd "${srcdir}/${pkgname}-${pkgver}/release${_dirarch}"
133
134 # Create Destination Directories
135 install -d "${pkgdir}/opt/quake2/"{baseq2,ctf,xatrix,rogue}
136
137 # Install Binary
138 install -m 755 quake2 "${pkgdir}/opt/quake2/quake2"
139
140 # Install Binary (SDL)
141 install -m 755 sdlquake2 "${pkgdir}/opt/quake2/sdlquake2"
142
143 # Install Base Game Library
144 install -m 755 "game${_dirarch}.so" "${pkgdir}/opt/quake2/baseq2/"
145
146 # Install CTF Library
147 install -m 755 "ctf/game${_dirarch}.so" "${pkgdir}/opt/quake2/ctf/"
148
149 # Install Xatrix Library
150 install -m 755 "xatrix/game${_dirarch}.so" "${pkgdir}/opt/quake2/xatrix/"
151
152 # Install Rogue Library
153 install -m 755 "rogue/game${_dirarch}.so" "${pkgdir}/opt/quake2/rogue/"
154
155 # Install Additional Libraries
156 cp ref_*.so "${pkgdir}/opt/quake2/"
157
158 cd "${srcdir}"
159
160 # Extract CTF Patch Data
161 mkdir "${srcdir}/q2"
162 cp "${srcdir}/q2-3.20-x86-full-ctf.exe" "${srcdir}/q2"
163 cd "${srcdir}/q2"
164 unzip -L q2-3.20-x86-full-ctf.exe
165
166 # Install CTF Patch Data
167 cp baseq2/pak1.pak baseq2/pak2.pak "${pkgdir}/opt/quake2/baseq2/"
168 cp -r baseq2/players "${pkgdir}/opt/quake2/baseq2/"
169 cp ctf/* "${pkgdir}/opt/quake2/ctf/"
170
171 # Install Q2Max Pak File
172 install "${srcdir}/maxpak.pak" "${pkgdir}/opt/quake2/baseq2/"
173
174 # Install Additional pak Files
175 for i in {10,11,12,13,14,16,17,19}; do
176 install -m 644 "${srcdir}/pak${i}.pak" \
177 "${pkgdir}/opt/quake2/baseq2/pak${i}.pak"
178 done;
179
180 # Install Game Launchers
181 install -D -m 755 "${srcdir}/quake2.sh" "${pkgdir}/usr/bin/quake2"
182 install -D -m 755 "${srcdir}/q2ded.sh" "${pkgdir}/usr/bin/q2ded"
183 install -D -m 755 "${srcdir}/xatrix.sh" "${pkgdir}/usr/bin/quake2-the-reckoning"
184 install -D -m 755 "${srcdir}/rogue.sh" "${pkgdir}/usr/bin/quake2-ground-zero"
185 install -D -m 755 "${srcdir}/ctf.sh" "${pkgdir}/usr/bin/quake2-ctf"
186}
187
188

Scan history

Scanned at (UTC)SeverityRules
2026-09-11 03:21:42 Medium 1
2026-06-19 19:07:35 Clean 2
2026-06-18 16:11:54 Medium 1

Report a package

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

0 / 4000
Your suggestion