etlegacy32-mod

maintainer belst · 7 votes · base etlegacy32 · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The non-standard host (etlegacy.com) hosts a precompiled mod file, but it is a standard part of the project's release and used only for bundling; the source code is from GitHub, and the file is checksummed, reducing supply-chain 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 non-standard host (etlegacy.com) hosts a precompiled mod file, but it is a standard part of the project's release and used only for bundling; the source code is from GitHub, and the file is checksummed, reducing supply-chain 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:17 "https://www.etlegacy.com/download/file/716")

PKGBUILD

1 offending line(s) highlighted
1# ET:Legacy is provided as a cross-compiled 32 bit version for compatibility reason with existing 32 bit mods.
2# On a 64 bits system, [multilib] must be enabled and multilib-devel installed for 32 bits cross-compilation.
3# The engine is dynamically compiled, while the official precompiled mod libraries are provided.
4
5_pkgbase=etlegacy
6pkgbase=etlegacy32
7pkgname=('etlegacy32' 'etlegacy32-mod')
8pkgver=2.84.0
9pkgrel=1
10arch=('i686' 'x86_64')
11url="http://www.etlegacy.com/"
12license=('GPL3' 'custom')
13makedepends=('cmake' 'zip')
14makedepends_i686=('alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'sdl2' 'minizip' 'openal' 'libtheora' 'sqlite' 'cjson')
15makedepends_x86_64=('lib32-alsa-lib' 'lib32-curl' 'lib32-freetype2' 'lib32-gcc-libs' 'lib32-glew' 'lib32-libjpeg-turbo' 'lib32-libvorbis' 'lib32-sdl2' 'lib32-minizip' 'lib32-openal' 'lib32-libtheora' 'lib32-sqlite' 'lib32-cjson')
16source=("https://github.com/etlegacy/etlegacy/archive/v$pkgver.tar.gz"
17 "https://www.etlegacy.com/download/file/716")
18sha256sums=('8857ff04d8d632e75e0b3ebb2715cc5cb35f9ebf24699806bbdea3979434bffc'
19 'a446d5a374214f3adadc373b33ddfd9448c736eb56f15dc04fa34711bfb3cace')
20
21build() {
22 cd "$_pkgbase-$pkgver"
23
24 # fix for https://archlinux.org/todo/prepare-packages-for-d_fortify_source3/
25 export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
26 export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
27
28 if [[ "$CARCH" == "i686" ]]; then
29 cmakeopts+=(
30 '-DCMAKE_LIBRARY_PATH=/usr/lib'
31 '-DCMAKE_PREFIX_PATH=/usr/lib/cmake'
32 '-DCROSS_COMPILE32=0'
33 )
34 else
35 cmakeopts+=(
36 '-DCMAKE_LIBRARY_PATH=/usr/lib32'
37 '-DCMAKE_PREFIX_PATH=/usr/lib32/cmake'
38 '-DCROSS_COMPILE32=1'
39 )
40 fi
41
42 echo "OPTS" ${cmakeopts[@]}
43
44 cmake . ${cmakeopts[@]} \
45 -DCMAKE_BUILD_TYPE=Release \
46 -DCMAKE_INSTALL_PREFIX=/usr \
47 -DINSTALL_DEFAULT_BASEDIR=/usr/lib/etlegacy\
48 -DINSTALL_DEFAULT_BINDIR=bin \
49 -DINSTALL_DEFAULT_MODDIR=lib/etlegacy \
50 -DBUILD_SERVER=1 \
51 -DBUILD_CLIENT=1 \
52 -DBUILD_MOD=0 \
53 -DBUILD_MOD_PK3=0 \
54 -DBUNDLED_LIBS=0 \
55 -DFEATURE_AUTOUPDATE=0 \
56 -DINSTALL_OMNIBOT=0
57
58 make
59}
60
61package_etlegacy32() {
62 pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy engine, 32 bit)"
63 depends=('etlegacy32-mod')
64 depends_i686=('alsa-lib' 'curl' 'freetype2' 'gcc-libs' 'glew' 'libjpeg-turbo' 'libvorbis' 'lua' 'sdl2' 'minizip' 'openal' 'libtheora' 'sqlite' 'cjson')
65 depends_x86_64=('lib32-alsa-lib' 'lib32-curl' 'lib32-freetype2' 'lib32-gcc-libs' 'lib32-glew' 'lib32-libjpeg-turbo' 'lib32-libvorbis' 'lib32-lua' 'lib32-sdl2' 'lib32-minizip' 'lib32-openal' 'lib32-libtheora' 'lib32-sqlite' 'lib32-cjson')
66 provides=('etlegacy')
67 conflicts=('etlegacy')
68 backup=('etc/xdg/etlegacy/etmain/etl_server.cfg'
69 'etc/xdg/etlegacy/etmain/legacy.cfg'
70 'etc/xdg/etlegacy/etmain/campaigncycle.cfg'
71 'etc/xdg/etlegacy/etmain/lmscycle.cfg'
72 'etc/xdg/etlegacy/etmain/mapvotecycle.cfg'
73 'etc/xdg/etlegacy/etmain/objectivecycle.cfg')
74 install=etlegacy.install
75
76 cd "$_pkgbase-$pkgver"
77
78 # engine
79 make DESTDIR="$pkgdir/" install
80
81 # mod
82 rm -rf $pkgdir/usr/lib/$_pkgbase/legacy
83
84 # assets
85 ln -s /usr/share/enemy-territory/etmain/{pak0,pak1,pak2}.pk3 $pkgdir/usr/lib/$_pkgbase/etmain/
86
87 # doc
88 mkdir -p $pkgdir/usr/share/doc/$_pkgbase
89 install -m 644 docs/game/anticheat.html $pkgdir/usr/share/doc/$_pkgbase/
90
91 # license
92 mkdir -p $pkgdir/usr/share/licenses/$_pkgbase
93
94 # systemd
95 mkdir -p $pkgdir/etc/xdg/$_pkgbase/etmain
96 mkdir -p $pkgdir/usr/lib/systemd/system
97 install -m 644 misc/etlegacy.conf $pkgdir/etc/xdg/$_pkgbase/
98 install -m 644 misc/etlegacy.service.in $pkgdir/usr/lib/systemd/system/etlegacy-x86.service
99
100 # config
101 mv $pkgdir/usr/lib/$_pkgbase/etmain/*.cfg $pkgdir/etc/xdg/$_pkgbase/etmain/
102 ln -s /etc/xdg/$_pkgbase/etmain/{etl_server,legacy,{campaign,lms,mapvote,objective}cycle}.cfg $pkgdir/usr/lib/$_pkgbase/etmain/
103
104 # server
105 mkdir -p $pkgdir/var/lib/$_pkgbase-server
106 ln -s /etc/xdg/$_pkgbase/etmain $pkgdir/var/lib/$_pkgbase-server/
107}
108
109package_etlegacy32-mod() {
110 pkgdesc="Wolfenstein: Enemy Territory 2.60b compatible client/server (etlegacy mod, 32 bit)"
111 depends=('enemy-territory-data' 'geoip-database')
112 optdepends=('etlegacy-omnibot: artificial intelligence (AI) controlled opponent'
113 'geoip-database: GeoLite country geolocation database')
114 provides=('etlegacy-mod')
115 conflicts=('etlegacy-mod')
116
117 # mod
118 mkdir -p $pkgdir/usr/lib/$_pkgbase/legacy
119 install -m 644 $srcdir/etlegacy-v$pkgver-i386/legacy/legacy_v$pkgver.pk3 $pkgdir/usr/lib/$_pkgbase/legacy
120 install -m 644 $srcdir/etlegacy-v$pkgver-i386/legacy/qagame.mp.i386.so $pkgdir/usr/lib/$_pkgbase/legacy
121
122 # geoip
123 ln -s /usr/share/GeoIP/GeoIP.dat $pkgdir/usr/lib/$_pkgbase/legacy
124}
125
126

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