qemu-3dfx
maintainer kharovtobi
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The source uses a non-whitelisted host (download.qemu.org) for the QEMU tarball, but this is the official upstream release site; the package builds from verifiable source and the checksum is provided, so the risk is low despite the analyzer flag.
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 source uses a non-whitelisted host (download.qemu.org) for the QEMU tarball, but this is the official upstream release site; the package builds from verifiable source and the checksum is provided, so the risk is low despite the analyzer flag.
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:103
"https://download.qemu.org/qemu-${_pkgver}.tar.xz"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: kharovtobi <tugboat_khatov at outlook dot com>
2
3
pkgname=qemu-3dfx
4
_pkgver=9.2.2
5
pkgver=9.2.2.r466.a2d25b3
6
pkgrel=1
7
pkgdesc="MESA GL/3Dfx Glide pass-through for QEMU"
8
arch=('x86_64')
9
url="https://github.com/kjliew/qemu-3dfx"
10
license=('GPL-2.0')
11
depends=('qemu-base' 'seabios')
12
makedepends=(
13
"alsa-lib"
14
"brltty"
15
"bzip2"
16
"cairo"
17
"capstone"
18
"cdrtools"
19
"coreutils"
20
"curl"
21
"djgpp-binutils"
22
"djgpp-djcrx"
23
"djgpp-gcc"
24
"dos2unix"
25
"dtc"
26
"fuse3"
27
"gcc-libs"
28
"gdk-pixbuf2"
29
"git"
30
"glib2"
31
"glibc"
32
"glib2-devel"
33
"glusterfs"
34
"gnutls"
35
"gtk3"
36
"jack"
37
"keyutils"
38
"libaio"
39
"libbpf"
40
"libcacard"
41
"libcap-ng"
42
"libepoxy"
43
"libiscsi"
44
"libnfs"
45
"libpipewire"
46
"libpng"
47
"libpulse"
48
"libsasl"
49
"libseccomp"
50
"libslirp"
51
"libssh"
52
"liburing"
53
"libusb"
54
"libx11"
55
"libxdp"
56
"libxkbcommon"
57
"libxml2"
58
"lzo"
59
"mesa"
60
"meson"
61
"multipath-tools"
62
"mingw-w64-binutils"
63
"mingw-w64-gcc"
64
"mingw-w64-tools"
65
"ncurses"
66
"ninja"
67
"ndctl"
68
"openwatcom-v2"
69
"numactl"
70
"patch"
71
"pam"
72
"pcre2"
73
"python"
74
"python-setuptools"
75
"python-distlib"
76
"python-pip"
77
"python-sphinx"
78
"python-sphinx_rtd_theme"
79
"pixman"
80
"rsync"
81
"sdl2"
82
"sdl2_image"
83
"snappy"
84
"spice"
85
"spice-protocol"
86
"systemd"
87
"usbredir"
88
"vde2"
89
"virglrenderer"
90
"vte3"
91
"xxd"
92
"zlib"
93
"zstd"
94
)
95
optdepends=(
96
"qemu-docs: for documentation and learning invocation"
97
"openglide-3dfx: for host openglide support"
98
)
99
provides=('qemu-3dfx')
100
conflicts=('qemu-3dfx')
101
source=(
102
"git+https://github.com/kjliew/qemu-3dfx.git"
103
"https://download.qemu.org/qemu-${_pkgver}.tar.xz"
104
"${pkgname}.install"
105
)
106
noextract=("qemu-${_pkgver}.tar.xz")
107
sha256sums=(
108
'SKIP'
109
'752eaeeb772923a73d536b231e05bcc09c9b1f51690a41ad9973d900e4ec9fbf'
110
'b94ec59a18f2fc8c0eda31860d2eeed2bf92fe66db773b917de311dece796bf0'
111
)
112
install=${pkgname}.install
113
114
pkgver() {
115
cd "$srcdir"/"$pkgname"
116
echo ${_pkgver}.r$(git rev-list --count HEAD).$(git rev-parse --short=7 HEAD)
117
}
118
119
prepare() {
120
cd "$srcdir"/
121
tar xf qemu-${_pkgver}.tar.xz -C "$pkgname"
122
cd "$pkgname"/qemu-${_pkgver}
123
rsync -r ../qemu-0/hw/3dfx ../qemu-1/hw/mesa ./hw/
124
125
# Change patch per major release
126
patch -p0 -i ../00-qemu92x-mesa-glide.patch
127
128
bash ../scripts/sign_commit
129
rm -rf "$srcdir"/"$pkgname"/build
130
mkdir -p "$srcdir"/"$pkgname"/build
131
}
132
133
build() {
134
# Build QEMU
135
cd "$srcdir"/"$pkgname"/build
136
../qemu-${_pkgver}/configure --target-list="i386-softmmu" --prefix=/usr --disable-xen --extra-cflags="-march=native -mtune=native -O3 -flto=auto"
137
make clean
138
make qemu-system-i386
139
140
# Build Wrappers
141
source /opt/watcom/owsetenv.sh
142
cd ../wrappers/3dfx
143
rm -rf build && mkdir build && cd build
144
bash ../../../scripts/conf_wrapper
145
sed -i 's/^DXEGEN=dxe3gen$/DXEGEN=i686-pc-msdosdjgpp-dxe3gen/' ../dxe/Makefile
146
sed -i '/CFLAGS=/s/-mfpmath=sse /-mfpmath=sse -msse2 /' Makefile
147
make && make clean
148
cd ../../mesa
149
rm -rf build && mkdir build && cd build
150
bash ../../../scripts/conf_wrapper
151
152
# Add wglinfo.exe to makefile (and fix sse2 problem)
153
sed -i 's/^TOOLS=$/TOOLS=wglinfo.exe/' Makefile
154
sed -i '/CFLAGS=/s/-mfpmath=sse /-mfpmath=sse -msse2 /' Makefile
155
make && make clean
156
157
# Package Wrappers
158
cd ../../
159
rm -rf iso && mkdir iso && cd iso
160
mkdir wrapfx wrapgl
161
cp -rf ../3dfx/build/*.{vxd,sys,dll,dxe,ovl,exe} ./wrapfx/
162
cp -rf ../mesa/build/*.{dll,exe} ./wrapgl/
163
cp ../../LICENSE license.txt
164
echo ${pkgver} > commit\ id.txt
165
unix2dos commit\ id.txt license.txt
166
mkisofs -JR -V "VMWRAPPER-$(git log --format="%h" -n 1)" -o ../wrappers.iso ../iso
167
}
168
169
package() {
170
install -Dm644 "$srcdir"/"$pkgname"/LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
171
install -Dm644 "$srcdir"/"$pkgname"/wrappers/wrappers.iso "$pkgdir"/usr/share/"$pkgname"/wrappers.iso
172
install -Dm755 "$srcdir"/"$pkgname"/build/qemu-system-i386 "$pkgdir"/usr/bin/qemu-3dfx-system-i386
173
mkdir -p "$pkgdir"/usr/share/man/man1/
174
ln -sf /usr/share/man/man1/qemu.1.gz "$pkgdir"/usr/share/man/man1/qemu-3dfx-system-i386.1.gz
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 |