proton-cachyos

maintainer loathingkernel · 13 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from the project's own source on GitHub and downloads official, versioned dependencies from trusted upstreams (WineHQ, GitHub releases); non-whitelisted hosts are used but for standard, expected sources in this context, with no execution of unreviewed remote code.

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 builds from the project's own source on GitHub and downloads official, versioned dependencies from trusted upstreams (WineHQ, GitHub releases); non-whitelisted hosts are used but for standard, expected sources in this context, with no execution of unreviewed remote code.

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:16 https://dl.winehq.org/wine/wine-gecko/${_geckover}/wine-gecko-${_geckover}-x86{,_64}.tar.xz

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Peter Jung ptr1337 <admin@ptr1337.dev>
2# Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com>
3
4pkgname=proton-cachyos
5_srctag=11.0-20260601
6_commit=
7pkgver=${_srctag//-/.}
8_geckover=2.47.4
9_monover=11.0.0
10_xaliaver=0.4.9
11pkgrel=1
12epoch=1
13
14source=(
15 proton-cachyos::git+https://github.com/CachyOS/proton-cachyos.git#tag=cachyos-${_srctag}-native
16 https://dl.winehq.org/wine/wine-gecko/${_geckover}/wine-gecko-${_geckover}-x86{,_64}.tar.xz
17 https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-${_monover}-x86.tar.xz
18 https://github.com/madewokherd/xalia/releases/download/xalia-${_xaliaver}/xalia-${_xaliaver}-net48-mono.zip
19 compatibilitytool.vdf.template
20 ntsync.conf
21)
22noextract=(
23 wine-gecko-${_geckover}-{x86,x86_64}.tar.xz
24 wine-mono-${_monover}-x86.tar.xz
25 xalia-${_xaliaver}-net48-mono.zip
26)
27
28pkgdesc="A compatibility tool for Steam Play based on Wine and additional components, experimental branch with extra CachyOS flavour"
29url="https://github.com/CachyOS/proton-cachyos"
30arch=(x86_64 x86_64_v3)
31options=(!staticlibs !lto !debug emptydirs pestrip)
32license=('custom')
33depends=(
34 attr lib32-attr
35# blas lib32-blas
36 cabextract
37 desktop-file-utils
38 fontconfig lib32-fontconfig
39 freetype2 lib32-freetype2
40 libgcc lib32-gcc-libs
41 gettext lib32-gettext
42 glib2 lib32-glib2
43 glibc lib32-glibc
44# lapack lib32-lapack
45 libgudev lib32-libgudev
46 libpcap lib32-libpcap
47 libunwind lib32-libunwind
48 libvpx lib32-libvpx
49 libx11 lib32-libx11
50 libxcursor lib32-libxcursor
51 libxext lib32-libxext
52 libxkbcommon lib32-libxkbcommon
53 libxi lib32-libxi
54 libxrandr lib32-libxrandr
55 lzo lib32-lzo
56 python
57 python-six
58 speex lib32-speex
59# Start of old steam-native-runtime
60 atk lib32-atk
61 cairo lib32-cairo
62 curl lib32-curl
63 dbus-glib lib32-dbus-glib
64 freeglut lib32-freeglut
65 gdk-pixbuf2 lib32-gdk-pixbuf2
66 glu lib32-glu
67 lcms2 lib32-lcms2
68 libcaca lib32-libcaca
69 libcanberra lib32-libcanberra
70 dbus lib32-dbus
71 libdrm lib32-libdrm
72 libice lib32-libice
73 libibus
74 libnm lib32-libnm
75 libusb lib32-libusb
76 libvdpau lib32-libvdpau
77 libvorbis lib32-libvorbis
78 libxft lib32-libxft
79 libxmu lib32-libxmu
80 libxrender lib32-libxrender
81 libxtst lib32-libxtst
82 nspr lib32-nspr
83 openal lib32-openal
84 pango lib32-pango
85 sdl2 lib32-sdl2
86 sdl2_image lib32-sdl2_image
87 sdl2_mixer lib32-sdl2_mixer
88 sdl2_ttf lib32-sdl2_ttf
89 pipewire lib32-pipewire
90 librsvg
91 libsm lib32-libsm
92 libtheora lib32-libtheora
93 vulkan-driver lib32-vulkan-driver
94# End of old steam-native-runtime
95 unzip
96 wayland lib32-wayland
97)
98makedepends=(
99 afdko
100 alsa-lib lib32-alsa-lib
101 clang
102 cmake
103 ffmpeg
104 fontforge
105 giflib lib32-giflib
106 git
107 glib2-devel
108 glslang
109 gnutls lib32-gnutls
110 gtk3 lib32-gtk3
111 libgphoto2
112 libpulse lib32-libpulse
113 libva lib32-libva
114 libxcomposite lib32-libxcomposite
115 libxinerama lib32-libxinerama
116 libxml2 lib32-libxml2
117 libxxf86vm lib32-libxxf86vm
118 lld
119 mesa lib32-mesa
120 mesa-libgl lib32-mesa-libgl
121 meson
122 mingw-w64-gcc
123 mingw-w64-tools
124 nasm
125 opencl-headers
126 opencl-icd-loader lib32-opencl-icd-loader
127 pcsclite lib32-pcsclite
128 perl
129 perl-json
130 rsync
131 rust lib32-rust-libs
132 python-pefile
133 python-setuptools-scm
134 samba
135 unixodbc
136 v4l-utils lib32-v4l-utils
137 vulkan-headers
138 vulkan-icd-loader lib32-vulkan-icd-loader
139 wayland-protocols
140 wget
141 xorg-util-macros
142)
143optdepends=(
144 alsa-lib lib32-alsa-lib
145 alsa-plugins lib32-alsa-plugins
146 ffmpeg
147 gnutls lib32-gnutls
148 gtk3 lib32-gtk3
149 libgphoto2
150 libpulse lib32-libpulse
151 libva lib32-libva
152 libxcomposite lib32-libxcomposite
153 libxinerama lib32-libxinerama
154 opencl-icd-loader lib32-opencl-icd-loader
155 pcsclite lib32-pcsclite
156 samba
157 steam
158 umu-launcher
159 unixodbc
160 v4l-utils lib32-v4l-utils
161 vulkan-icd-loader lib32-vulkan-icd-loader
162)
163optdepends+=(
164 NTSYNC-MODULE
165)
166provides=('proton')
167backup=(
168 "usr/share/steam/compatibilitytools.d/${pkgname}/user_settings.py"
169)
170install=${pkgname}.install
171
172_make_wrappers () {
173 # _arch prefix gcc ld as strip
174 local _i686=( "i686" "-m32" "-melf_i386" "--32" "elf32-i386")
175 local _x86_64=("x86_64" "-m64" "-melf_x86_64" "--64" "elf64-x86-64")
176 local _opts=(_i686 _x86_64)
177 declare -n _opt
178 for _opt in "${_opts[@]}"; do
179 for l in ar ranlib nm; do
180 ln -s /usr/bin/gcc-$l wrappers/${_opt[0]}-pc-linux-gnu-$l
181 done
182 for t in gcc g++; do
183 install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-$t <<EOF
184#!/usr/bin/bash
185$(which ccache 2> /dev/null) /usr/bin/$t ${_opt[1]} "\$@"
186EOF
187 done
188 install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-ld <<EOF
189#!/usr/bin/bash
190/usr/bin/ld ${_opt[2]} "\$@"
191EOF
192 install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-as <<EOF
193#!/usr/bin/bash
194/usr/bin/as ${_opt[3]} "\$@"
195EOF
196 install -Dm755 /dev/stdin wrappers/${_opt[0]}-pc-linux-gnu-strip <<EOF
197#!/usr/bin/bash
198/usr/bin/strip -F ${_opt[4]} "\$@"
199EOF
200 done
201}
202
203prepare() {
204
205 # Provide wrappers to compiler tools
206 rm -rf wrappers && mkdir wrappers
207 _make_wrappers
208
209 [ ! -d build ] && mkdir build
210
211 cd proton-cachyos
212
213 [ ! -d contrib ] && mkdir -p contrib
214 mv "$srcdir"/wine-gecko-${_geckover}-x86{,_64}.tar.xz contrib/
215 mv "$srcdir"/wine-mono-${_monover}-x86.tar.xz contrib/
216 mv "$srcdir"/xalia-${_xaliaver}-net48-mono.zip contrib/
217
218 _submodules=(
219 d7vk
220 dav1d
221 discord-rpc-bridge
222 dxvk
223 dxvk-llasync
224 dxvk-nvapi
225 dxvk-sarek
226 ffmpeg
227 fonts/liberation-fonts
228 glslang
229 graphene
230 gst-orc
231 gst-plugins-rs
232 gstreamer
233 libsoup
234 libwebp
235 libxml2
236 meson
237 nghttp2
238 nvidia-libs/dxvk-nvapi
239 nvidia-libs/nvcuda
240 nvidia-libs/nvcuda32
241 nvidia-libs/nvenc
242 nvidia-libs/nvenc32
243 nvidia-libs/wine-nvml
244 nvidia-libs/wine-nvoptix
245 openvr
246 OpenXR-SDK
247 protonfixes
248 SPIRV-Headers
249 vkd3d
250 vkd3d-proton
251 vklayers/low_latency_layer
252 vklayers/pyroveil
253 vklayers/vkbasalt
254 Vulkan-Headers
255 Vulkan-Utility-Libraries
256 wine
257 )
258
259 # Explicitly set origin URL for submodules using relative paths
260 git remote set-url origin https://github.com/CachyOS/proton-cachyos.git
261 git submodule update --init --filter=tree:0 --recursive ${_submodules[@]}
262
263 for rustlib in gst-plugins-rs; do
264 pushd $rustlib
265 export RUSTUP_TOOLCHAIN=stable
266 export CARGO_HOME="${SRCDEST}"/proton-cargo
267 export CARGO_NET_GIT_FETCH_WITH_CLI=true
268 cargo fetch --locked --target i686-unknown-linux-gnu
269 cargo fetch --locked --target x86_64-unknown-linux-gnu
270 popd
271 done
272}
273
274build() {
275 export PATH="$(pwd)/wrappers:$PATH"
276
277 local -a split=($CFLAGS)
278 local -A flags
279 for opt in "${split[@]}"; do flags["${opt%%=*}"]="${opt##*=}"; done
280 local march="${flags["-march"]:-nocona}"
281 local mtune="${flags["-mtune"]:-core-avx2}"
282
283 CFLAGS="-O2 -march=${march} -mtune=${mtune}"
284 CXXFLAGS="-O2 -march=${march} -mtune=${mtune}"
285 RUSTFLAGS="-C opt-level=3 -C target-cpu=${march}"
286 LDFLAGS="-Wl,-O1,--sort-common,--as-needed"
287
288 export CFLAGS CXXFLAGS RUSTFLAGS LDFLAGS
289
290 export RUSTUP_TOOLCHAIN=stable
291 export CARGO_HOME="${SRCDEST}"/proton-cargo
292
293 cd build
294 ROOTLESS_CONTAINER="" \
295 ../proton-cachyos/configure.sh \
296 --container-engine="none" \
297 --proton-sdk-image="" \
298 --build-name="${pkgname}" \
299 --without-wayland-libs \
300 --without-libpcap \
301 --without-tts
302
303 SUBJOBS=$([[ "$MAKEFLAGS" =~ -j\ *([1-9][0-9]*) ]] && echo "${BASH_REMATCH[1]}" || echo "$(nproc)") \
304 make -j1 dist
305
306 cd dist
307 sed -r \
308 -e "s|##INSTALL_PATH##|.|" \
309 -e "s|##DISPLAY_NAME##|proton-cachyos-${_srctag} (native)|" \
310 -e "s|##INTERNAL_TOOL_NAME##|${pkgname}|" \
311 "${srcdir}/compatibilitytool.vdf.template" > compatibilitytool.vdf
312}
313
314package() {
315 cd build
316
317 # Delete the intermediate build directories to free space (mostly for my github actions)
318 rm -rf dst-* obj-* src-* pfx-*
319
320 local _compatdir="${pkgdir}/usr/share/steam/compatibilitytools.d"
321 mkdir -p "${_compatdir}/${pkgname}"
322 rsync --delete -arx dist/* "${_compatdir}/${pkgname}"
323
324 mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}"
325 mv "${_compatdir}/${pkgname}"/{PATENTS.AV1,LICENSE{,.OFL}} \
326 "${pkgdir}/usr/share/licenses/${pkgname}"
327
328 # Load ntsync module
329 install -Dm644 "$srcdir/ntsync.conf" "$pkgdir/usr/lib/modules-load.d/10-$pkgname.conf"
330
331 cd "${_compatdir}/${pkgname}/files"
332
333 local _geckodir="share/wine/gecko/wine-gecko-${_geckover}"
334 i686-w64-mingw32-strip --strip-debug \
335 $(find "${_geckodir}"-x86 -iname "*.dll" -or -iname "*.exe")
336 x86_64-w64-mingw32-strip --strip-debug \
337 $(find "${_geckodir}"-x86_64 -iname "*.dll" -or -iname "*.exe")
338
339 local _monodir="share/wine/mono/wine-mono-${_monover}"
340 i686-w64-mingw32-strip --strip-debug \
341 $(find "${_monodir}"/lib/mono -iname "*.dll" -or -iname "*.exe")
342 i686-w64-mingw32-strip --strip-debug \
343 "${_monodir}"/lib/x86/*.dll \
344 $(find "${_monodir}" -iname "*x86.dll" -or -iname "*x86.exe")
345 x86_64-w64-mingw32-strip --strip-debug \
346 "${_monodir}"/lib/x86_64/*.dll \
347 $(find "${_monodir}" -iname "*x86_64.dll" -or -iname "*x86_64.exe")
348}
349
350b2sums=('43636d5629b7c638050009335a9d1b771aff0b1cf2d34616fe918c37cf09e04d9bdf1086835ceb966c799b0e8b87dc39ae3d31d9f432cf900f99f1fb7cff07a2'
351 '2a73c12585b502ae11188482cbc9fb1f45f95bfe4383a7615011104b132f4845f9813d01fb40277e1934fab5f1b35ab40b4f4a66a9967463dd1d666a666904e9'
352 '62856a88266b4757602c0646e024f832974a93f03b9df253fd4895d4f11a41b435840ad8f7003ec85a0d8087dec15f2e096dbfb4b01ebe4d365521e48fd0c5c0'
353 '76bdc625c6c14a6c3e3892649c1fbb7ed127d8ce90079a3f8d317c8e6fd567c763d71dd838f8422c921ed315e9d2735849b223a94a9517ad73d0734d313c1a6f'
354 '5a492e5bd62a8116c2571348f01e1ea9dd70e2a185f0891a27be4091c8f182ce55e48f075fe46badf80e0f5b831a1d5993b2b6e1f130f4d6b00e3ef77254d00d'
355 'f0a81d83e644ca074a6bf54fc74ae12f5bd047e29d87fab528fba20e4b8d013547ad4b26e912c2b3218a75114f5c76b64aa84fdbc3054d3a1d9bf96635c6212b'
356 '964a3ba277821e570aec2127f0d1ae9898da6976c360deb6b196345a50bd3c2c55cb399527507006d8fddef868069032a30b083f23987d5050f185c74dd9de35')
357

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