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
7
pkgname=proton-ge-bin
8
pkgdesc='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/##')
13
pkgver=${_latesttag//-/_}
14
pkgrel=1
15
epoch=1
16
arch=('x86_64')
17
license=('BSD' 'LGPL' 'zlib' 'MIT' 'MPL' 'custom')
18
url="${_repourl}"
19
20
provides=('proton' "proton-ge-custom=${pkgver/_/.}")
21
conflicts=('proton-ge-custom' 'proton-ge-custom-bin')
22
23
depends=('python')
24
optdepends=(
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
53
options=(!strip !debug emptydirs pestrip)
54
install=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
62
backup=("${_protoncfg}")
63
64
# Обрати внимание: файл конфига указан как 'proton-ge-custom-bin.conf',
65
# чтобы скрипт нашел его в твоей текущей папке без переименования.
66
source=("${_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')
72
sha512sums=('SKIP'
73
'SKIP'
74
'09b6523516b07ec40b895867ef3cdb5dfb1eda6b188d0edf0acea9c3141583f43b2b5c1a396f4d52eb2ddb3ae6f111b4a7bc6409c003f09ff8c505b81f2a7297'
75
'78ede6d50f9c43407da511c8b37dcf60aae2ddbd461c0081f0d0ce3de08ace3a84dee86e9253acbac829b47c5818ef4e1a354ccb05feaa9853ce279dc3f903fd'
76
'ac2bd634838ffe6b90f2637e229013f0993fc1013271dbeefd216dc262a8bb79e4a5ce15a75cbfcb0c3b521d32f4ebe1ed25a6b066b99cc327b60bd6d7212e6f'
77
'60bcb1ad899d108fca9c6267321d11871feae96b696e44607ef533becc6decb493e93cbe699382e8163ad83f35cfa003a059499c37278f31afeba4700be6e356')
78
79
prepare() {
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
91
build() {
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
106
package() {
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) | 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 19:39:35 | LOW | 2 |