-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcom.github.Matoking.protontricks.yml
310 lines (286 loc) · 11.4 KB
/
com.github.Matoking.protontricks.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
id: com.github.Matoking.protontricks
runtime: org.freedesktop.Platform
runtime-version: &runtime-version '24.08'
x-gl-version: &gl-version '1.4'
x-gl-versions: &gl-versions 24.08;24.08extra;1.4
sdk: org.freedesktop.Sdk
separate-locales: false
command: protontricks
finish-args:
# Copy some args from Steam Flatpak to make the environment similar
# to Proton apps running under Steam Flatpak. Arguments only related to
# native titles or the Steam client are omitted.
- --share=ipc
- --socket=wayland
- --socket=x11
- --socket=pulseaudio
- --share=network
# Steam in -steamos mode uses Network Manager for network settings, e.g.
# connecting to wifi and so on.
# In normal mode, it probably just gets info about current connection status.
- --system-talk-name=org.freedesktop.NetworkManager
# Wine uses UDisks2 to enumerate disk drives
- --system-talk-name=org.freedesktop.UDisks2
- --device=all
- --allow=multiarch
- --allow=devel
- --allow=bluetooth
- --allow=per-app-dev-shm
- --env=LC_ADDRESS=C
- --env=LC_COLLATE=C
- --env=LC_MONETARY=C
- --env=LC_MEASUREMENT=C
- --env=LC_NAME=C
- --env=LC_NUMERIC=C
- --env=LC_TELEPHONE=C
- --env=ALSA_CONFIG_PATH=
- --unset-env=ALSA_CONFIG_PATH
- --env=MESA_GLSL_CACHE_DIR=
- --unset-env=MESA_GLSL_CACHE_DIR
- --env=STEAM_RUNTIME_PREFER_HOST_LIBRARIES=
- --unset-env=STEAM_RUNTIME_PREFER_HOST_LIBRARIES
- --env=STEAM_RUNTIME=
- --unset-env=STEAM_RUNTIME
- --env=STEAM_EXTRA_COMPAT_TOOLS_PATHS=/app/share/steam/compatibilitytools.d
- --env=PROTON_DEBUG_DIR=/var/tmp
- --env=XDG_CONFIG_DIRS=/etc/xdg:/usr/lib/x86_64-linux-gnu/GL:/usr/lib/i386-linux-gnu/GL
- --env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0:/app/lib32/gstreamer-1.0:/usr/lib/extensions/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/i386-linux-gnu/gstreamer-1.0
- --require-version=1.0.0
# Protontricks-specific permissions to grant access to Steam installation
- --filesystem=~/.var/app/com.valvesoftware.Steam
- --filesystem=~/.local/share/Steam
- --filesystem=~/.steam
- --filesystem=~/snap/steam
- --filesystem=~/.snap/data/steam # For 'experimental.hidden-snap-folder'
# Common home directories used by Wine and many Windows programs
- --filesystem=xdg-desktop
- --filesystem=xdg-documents
- --filesystem=xdg-pictures
- --filesystem=xdg-music
- --filesystem=xdg-videos
- --filesystem=xdg-download
add-extensions:
org.freedesktop.Platform.Compat.i386:
directory: lib/i386-linux-gnu
version: *runtime-version
org.freedesktop.Platform.Compat.i386.Debug:
directory: lib/debug/lib/i386-linux-gnu
version: *runtime-version
no-autodownload: true
org.freedesktop.Platform.GL32:
directory: lib/i386-linux-gnu/GL
version: *gl-version
versions: *gl-versions
subdirectories: true
no-autodownload: true
autodelete: false
add-ld-path: lib
merge-dirs: vulkan/icd.d;glvnd/egl_vendor.d;OpenCL/vendors;lib/dri;lib/d3d;vulkan/explicit_layer.d;vulkan/implicit_layer.d
download-if: active-gl-driver
enable-if: active-gl-driver
com.valvesoftware.Steam.CompatibilityTool:
subdirectories: true
directory: share/steam/compatibilitytools.d
version: stable
versions: stable;beta;test
no-autodownload: true
autodelete: true
cleanup:
- '*.a'
- '*.la'
- /include
- /lib/pkgconfig
- /share/aclocal
- /share/man
modules:
- python3-Pillow.json
- python3-setuptools-scm.json
- vdf.json
- name: protontricks
buildsystem: simple
build-commands:
- pip3 install --no-index --no-build-isolation --find-links=\"file://${PWD}\"
--prefix=${FLATPAK_DEST} .
# This manifest ships '.desktop' files properly, so no need to install
# 'protontricks-desktop-install'
- rm ${FLATPAK_DEST}/bin/protontricks-desktop-install
- install -Dm644 icon_scalable.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg
build-options:
env:
# Override setuptools-scm version detection.
# Required because of Flatpak specific patches.
SETUPTOOLS_SCM_PRETEND_VERSION: 1.12.0
post-install:
- install -Dm644 -t ${FLATPAK_DEST}/share/metainfo data/${FLATPAK_ID}.metainfo.xml
- rename protontricks ${FLATPAK_ID} ${FLATPAK_DEST}/share/applications/protontricks*.desktop
sources:
- type: git
url: https://github.com/Matoking/protontricks.git
tag: "1.12.0"
commit: e6bb313797a1345770f6937a50803095a6a07173
- type: patch
paths:
# Flathub does not support stock icons. Use a vendored icon from the
# KDE Breeze icon theme instead.
- patches/protontricks/replace-stock-icon.patch
- patches/protontricks/rename-launchable.patch
- patches/protontricks/amend-description.patch
# FIXME: Remove this patch once the D-Bus option works with Flatpak
- patches/protontricks/revert-bwrap-launcher-dbus.patch
- type: file
path: icon_scalable.svg
modules:
- name: yad
config-opts:
- --enable-standalone
sources:
- type: archive
url: https://github.com/v1cont/yad/releases/download/v14.1/yad-14.1.tar.xz
sha256: dde047a915cd8d3892c32b6ba031876f5cda673e01882c99613f043867c88133
x-checker-data:
type: anitya
project-id: 5280
url-template: https://github.com/v1cont/yad/releases/download/v$version/yad-$version.tar.xz
modules:
- name: intltool
cleanup:
- '*'
sources:
- type: archive
url: https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz
sha256: 67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd
# Protontricks specific Winetricks fork
- name: winetricks
no-autogen: true
make-install-args:
- PREFIX=$(FLATPAK_DEST)
sources:
- type: git
url: https://github.com/Matoking/winetricks.git
commit: fdd84f9ba3e36b5e8d115258ce6e41247523f593 # branch: 20250102-pt
modules:
# Used for terminals launched by Winetricks
- name: xterm
sources:
- type: git
url: https://github.com/ThomasDickey/xterm-snapshots.git
tag: xterm-394
commit: 47a95ffdc1bef07ec62836ed887536b5d92166af
x-checker-data:
type: anitya
project-id: 5272
tag-template: xterm-$version
is-main-source: true
modules:
- name: libXaw
sources:
- type: archive
url: https://xorg.freedesktop.org/releases/individual/lib/libXaw-1.0.16.tar.gz
sha256: 012f90adf8739f2f023d63a5fee1528949cf2aba92ef7ac1abcfc2ae9cf28798
x-checker-data:
type: anitya
project-id: 1766
url-template: https://xorg.freedesktop.org/releases/individual/lib/libXaw-$version.tar.gz
modules:
- name: xmu
sources:
- type: archive
url: https://www.x.org/archive/individual/lib/libXmu-1.2.1.tar.xz
sha256: fcb27793248a39e5fcc5b9c4aec40cc0734b3ca76aac3d7d1c264e7f7e14e8b2
x-checker-data:
type: anitya
project-id: 1785
url-template: https://www.x.org/archive/individual/lib/libXmu-$version.tar.xz
- name: ncurses
config-opts:
- --with-shared
- --without-manpageus
- --with-abi-version=5
cleanup:
- /bin
- /include
- /share
- '*.a'
sources:
- type: archive
url: https://invisible-mirror.net/archives/ncurses/current/ncurses-6.5-20240914.tgz
sha256: fe1c20f231c5a769ca6b1dbd5f367f6921082ce73417eb7d30db258d86822164
x-checker-data:
type: anitya
project-id: 2057
url-template: https://invisible-mirror.net/archives/ncurses/current/ncurses-$version.tgz
versions:
'>=': '6.5'
- name: 7zip
buildsystem: simple
subdir: CPP/7zip/Bundles/Alone2
build-commands:
- make -j -f makefile.gcc
- install -D ./_o/7zz -t /app/bin
- ln -s /app/bin/7zz /app/bin/7za
- ln -s /app/bin/7zz /app/bin/7z
sources:
- type: git
url: https://github.com/ip7z/7zip.git
tag: 24.09
strip-components: 0
x-checker-data:
type: git
tag-pattern: ^v([\\d.]+)$
- name: cabextract
build-options:
strip: true
sources:
- type: archive
url: https://www.cabextract.org.uk/cabextract-1.11.tar.gz
sha256: b5546db1155e4c718ff3d4b278573604f30dd64c3c5bfd4657cd089b823a3ac6
x-checker-data:
type: anitya
project-id: 245
url-template: https://www.cabextract.org.uk/cabextract-$version.tar.gz
- name: unrar-free
post-install:
- ln -s /app/bin/unrar-free /app/bin/unrar
sources:
- type: archive
url: https://gitlab.com/bgermann/unrar-free/-/archive/0.3.1/unrar-free-0.3.1.tar.gz
sha256: 16ecd4cf8b236d472413d179721e40b2270262f32844e10435fe45dd68053fb8
x-checker-data:
type: anitya
project-id: 243110
url-template: https://gitlab.com/bgermann/unrar-free/-/archive/$version/unrar-free-$version.tar.gz
- type: script
dest-filename: autogen.sh
commands:
- autoreconf -vfi
- name: binutils-ar
buildsystem: simple
build-options:
strip: true
build-commands:
- install -Dm755 /usr/bin/ar -t ${FLATPAK_DEST}/bin/
- install -Dm755 /usr/lib/$(gcc -print-multiarch)/libbfd-*.so -t ${FLATPAK_DEST}/lib/
- name: aria2
config-opts:
- --disable-libaria2
- --disable-websocket
- --without-sqlite3
sources:
- type: archive
sha256: 60a420ad7085eb616cb6e2bdf0a7206d68ff3d37fb5a956dc44242eb2f79b66b
url: https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0.tar.xz
x-checker-data:
type: anitya
project-id: 109
url-template: https://github.com/aria2/aria2/releases/download/release-$version/aria2-$version.tar.xz
- name: bundle-setup
buildsystem: simple
build-commands:
- mkdir -p /app/share/steam/compatibilitytools.d
- mkdir -p /app/lib/i386-linux-gnu
- mkdir -p /app/lib/debug/lib/i386-linux-gnu
- mkdir -p /app/lib/i386-linux-gnu/GL
- install -Dm644 ld.so.conf /app/etc/ld.so.conf
sources:
- type: file
path: ld.so.conf