proton-ge-bin

maintainer varwq · 1 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged Package builds from a legitimate project's GitHub releases with proper checksum verification, installs only project files and configuration, and has no malicious payloads; low risk due to untrusted host and SKIP'd checksums despite plausible provenance.

Triggered rules

LOW Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

LOW AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): Package builds from a legitimate project's GitHub releases with proper checksum verification, installs only project files and configuration, and has no malicious payloads; low risk due to untrusted host and SKIP'd checksums despite plausible provenance.

PKGBUILD

1# Maintainer: Zoopotik <zoopotik123467@gmail.com>
2# Contributor: Jaja <jaja@mailbox.org>
3# Contributor: floriplum <floriplum@mailbox.org>
4# Contributor: various people submitting to 'chaotic-aur' repo
5# Contributor: barfin (aka RogueGirl) <barfin@protonmail.com>
6
7pkgname=proton-ge-bin
8pkgdesc='A fancy custom distribution of Valves Proton with various patches (auto-tracks latest release)'
9_repourl='https://github.com/GloriousEggroll/proton-ge-custom'
10
11# Авто-определение последнего релиза
12_latesttag=$(curl -s --max-time 10 --retry 2 -o /dev/null -w '%{url_effective}' -L "${_repourl}/releases/latest" | sed 's#.*/tag/##')
13pkgver=${_latesttag//-/_}
14pkgrel=1
15epoch=1
16arch=('x86_64')
17license=('BSD' 'LGPL' 'zlib' 'MIT' 'MPL' 'custom')
18url="${_repourl}"
19
20provides=('proton' "proton-ge-custom=${pkgver/_/.}")
21conflicts=('proton-ge-custom' 'proton-ge-custom-bin')
22
23depends=('python')
24optdepends=(
25 'vulkan-icd-loader'
26 'lib32-vulkan-icd-loader: dxvk dependency for 32bit prefixes'
27 'vulkan-driver: driver to be used by dxvk'
28 'lib32-openal'
29 'lib32-vkd3d'
30 'lib32-libva'
31 'lib32-speex'
32 'lib32-libtheora'
33 'lib32-libvdpau'
34 'gst-plugins-bad-libs'
35 'lib32-gst-plugins-base-libs'
36 'libjpeg-turbo'
37 'lib32-libjpeg-turbo'
38 'graphene'
39 'lib32-libgudev'
40 'lib32-mpg123'
41 'libsoup'
42 'lib32-openssl'
43 'lib32-libusb'
44 'kdialog: KDE splash dialog support'
45 'zenity: GNOME splash dialog support'
46 'python-kivy: splash dialog support (big picture mode)'
47 'steam: use proton with steam like intended'
48 'winetricks: protonfixes backend - highly recommended'
49 'wine: support for 32bit prefixes'
50 'xboxdrv: gamepad driver service'
51)
52
53options=(!strip !debug emptydirs pestrip)
54install=pleasenote.install
55
56_pkgver=${pkgver//_/-}
57_protondir=usr/share/steam/compatibilitytools.d/${pkgname}
58_licensedir=usr/share/licenses/${pkgname}
59_execfile=usr/bin/proton-ge
60_protoncfg=${_protondir}/user_settings.py
61
62backup=("${_protoncfg}")
63
64# Обрати внимание: файл конфига указан как 'proton-ge-custom-bin.conf',
65# чтобы скрипт нашел его в твоей текущей папке без переименования.
66source=("${_pkgver}_${pkgrel}.tar.gz::${url}/releases/download/${_pkgver}/${_pkgver}.tar.gz"
67 "${_pkgver}.sha512sum::${url}/releases/download/${_pkgver}/${_pkgver}.sha512sum"
68 'user_settings.py'
69 'launcher.sh'
70 'proton-ge-custom-bin.conf'
71 'pam_limits.conf')
72sha512sums=('SKIP'
73 'SKIP'
74 '09b6523516b07ec40b895867ef3cdb5dfb1eda6b188d0edf0acea9c3141583f43b2b5c1a396f4d52eb2ddb3ae6f111b4a7bc6409c003f09ff8c505b81f2a7297'
75 '78ede6d50f9c43407da511c8b37dcf60aae2ddbd461c0081f0d0ce3de08ace3a84dee86e9253acbac829b47c5818ef4e1a354ccb05feaa9853ce279dc3f903fd'
76 'ac2bd634838ffe6b90f2637e229013f0993fc1013271dbeefd216dc262a8bb79e4a5ce15a75cbfcb0c3b521d32f4ebe1ed25a6b066b99cc327b60bd6d7212e6f'
77 '60bcb1ad899d108fca9c6267321d11871feae96b696e44607ef533becc6decb493e93cbe699382e8163ad83f35cfa003a059499c37278f31afeba4700be6e356')
78
79prepare() {
80 cd "${srcdir}"
81 local _expected _actual
82 _expected=$(awk '{print $1}' "${_pkgver}.sha512sum")
83 _actual=$(sha512sum "${_pkgver}_${pkgrel}.tar.gz" | awk '{print $1}')
84 if [[ "${_expected}" != "${_actual}" ]]; then
85 error "sha512 mismatch: expected ${_expected}, got ${_actual}"
86 return 1
87 fi
88 msg2 "sha512 verified: ${_expected}"
89}
90
91build() {
92 cd "${srcdir}"
93 sed -i "s|_proton=echo|_proton=/${_protondir}/proton|" "launcher.sh"
94 sed -i -r 's|"GE-Proton.*"|"Proton-GE"|' "${_pkgver}/compatibilitytool.vdf"
95
96 # Агрессивный параллельный стрип ВСЕХ бинарников (даже без расширений) > 1MB
97 find "${_pkgver}/files" -type f -size +1M -print0 \
98 | xargs -0 -P "$(nproc)" -I {} bash -c '
99 case "$(file -b "$1" 2>/dev/null)" in
100 *ELF*|*PE32*|*PE32+*) strip --preserve-dates --strip-unneeded "$1" 2>/dev/null ;;
101 esac
102 ' _ {} \
103 || true
104}
105
106package() {
107 local _src="${srcdir}/${_pkgver}"
108 local _dest="${pkgdir}/${_protondir}"
109
110 # Установка (reflink=auto делает мгновенное копирование на BTRFS/XFS)
111 install -d "${_dest}"
112 cp -a --reflink=auto "${_src}"/. "${_dest}/" 2>/dev/null || cp -a "${_src}"/. "${_dest}/"
113
114 cd "${_dest}"
115
116 # Удаление мусора
117 rm -rf ./docs ./doc ./man ./tests ./test ./.github ./.gitlab-ci.yml
118 rm -f ./README* ./CHANGELOG* ./CONTRIBUTING* ./.gitignore ./.gitmodules
119
120 find . -type d \( -name '__pycache__' -o -name '.git*' \) -prune -exec rm -rf {} + 2>/dev/null || true
121 find . -type f \( -name '*.pyc' -o -name '*.pyo' -o -name '*.orig' \
122 -o -name '*.bak' -o -name '*.rej' -o -name '.DS_Store' \) -delete
123 find . -type d -empty -delete 2>/dev/null || true
124
125 # Лицензии
126 install -d "${pkgdir}/${_licensedir}"
127 [[ -f ./LICENSE ]] && mv ./LICENSE "${pkgdir}/${_licensedir}/license"
128 [[ -f ./LICENSE.OFL ]] && mv ./LICENSE.OFL "${pkgdir}/${_licensedir}/license_OFL"
129 [[ -f ./PATENTS.AV1 ]] && mv ./PATENTS.AV1 "${pkgdir}/${_licensedir}/license_AV1"
130
131 # Конфиги (берем proton-ge-custom-bin.conf, сохраняем как proton-ge-bin.conf)
132 install -Dm0775 -g 50 "${srcdir}/user_settings.py" "${pkgdir}/${_protoncfg}"
133 install -Dm0644 "${srcdir}/pam_limits.conf" "${pkgdir}/etc/security/limits.d/10-games.conf"
134 install -Dm0644 "${srcdir}/proton-ge-custom-bin.conf" "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf"
135
136 # Лаунчер
137 install -Dm0755 "${srcdir}/launcher.sh" "${pkgdir}/${_execfile}"
138}
139

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 19:39:35 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