-
Notifications
You must be signed in to change notification settings - Fork 19
/
org.winepak.Sdk.yml
286 lines (261 loc) · 8.87 KB
/
org.winepak.Sdk.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
build-runtime: true
id: org.winepak.Sdk
id-platform: org.winepak.Platform
branch: 3.0
runtime: org.freedesktop.Platform
runtime-version: 1.6
sdk: org.freedesktop.Sdk
add-extensions:
org.winepak.Platform.Compat32:
directory: lib/32bit
version: 3.0
versions: 3.0
add-ld-path: lib
subdirectories: false
autodelete: false
no-autodownload: false
org.freedesktop.Platform.GL32:
directory: lib/32bit/lib/GL
version: 1.4
versions: 1.6;1.4
subdirectories: true
no-autodownload: true
autodelete: false
add-ld-path: lib
merge-dirs: vulkan/icd.d;glvnd/egl_vendor.d
download-if: active-gl-driver
enable-if: active-gl-driver
org.winepak.Platform.Wine:
directory: lib/wine
version: 3.0
versions: 3.0
add-ld-path: lib
subdirectories: false
autodelete: false
org.winepak.Platform.Extension:
directory: lib/extension
version: 3.0
subdirectories: true
autodelete: true
no-autodownload: true
org.winepak.Sdk.Extension:
directory: lib/sdk
version: 3.0
subdirectories: true
autodelete: true
no-autodownload: true
platform-extensions:
- org.freedesktop.Platform.Locale
inherit-extensions:
- org.freedesktop.Platform.GL
- org.freedesktop.Platform.Timezones
- org.freedesktop.Platform.GStreamer
- org.freedesktop.Platform.VAAPI.Intel
- org.freedesktop.Sdk.Extension
finish-args:
- --sdk=org.winepak.Sdk//3.0
- --runtime=org.winepak.Platform//3.0
- --allow=multiarch
- --env=PATH=/app/bin:/app/lib/wine/bin:/app/lib/wine-32bit/bin:/app/lib/32bit/wine:/usr/lib/wine/bin:/usr/lib/wine-32bit/bin:/usr/bin:/usr/lib/32bit/bin
- --env=XDG_DATA_DIRS=/app/share:/usr/share:/usr/share/runtime/share:/run/host/share
- --env=WINEDEBUG=-all
- --env=WINEPREFIX=/var/data/wine
cleanup:
- /man
- /share/man
cleanup-commands:
# Important for Compat32/32bit/WoW64!
#
# The `/usr/libexec/freedesktop-post.sh` is a special script for setting-up
# multiple tweaks to a runtime. It's espically critical for winepak as it
# sets-up a `/lib/ld-linux.so.2` symlink to `/app/lib/ld-linux.so.2`.
# `org.freedesktop.Platform//1.6` creates a number of symlinks in
# `/usr/lib/extra-links`. This scripts copies those to `/usr/lib` at the end
# of the build process (aka this section). If this is not done then binaries
# and libraries looking for the 32bit linker (a.k.a `/lib/ld-linux.so.2`) in
# a 64bit enviroment won't find what it needs and return an error like
#
# sh /path/to/bin/program No such file or directory
#
# `org.freedesktop.Platform//1.8` should make this obsolote, but till then
# it's critical for winepak to work.
- /usr/libexec/freedesktop-post.sh
cleanup-platform:
- /include
- /share/aclocal
- /share/pkgconfig
- /lib/pkgconfig
cleanup-platform-commands:
# Important for Compat32/32bit/WoW64!
#
# The `/usr/libexec/freedesktop-post.sh` is a special script for setting-up
# multiple tweaks to a runtime. It's espically critical for winepak as it
# sets-up a `/lib/ld-linux.so.2` symlink to `/app/lib/ld-linux.so.2`.
# `org.freedesktop.Platform//1.6` creates a number of symlinks in
# `/usr/lib/extra-links`. This scripts copies those to `/usr/lib` at the end
# of the build process (aka this section). If this is not done then binaries
# and libraries looking for the 32bit linker (a.k.a `/lib/ld-linux.so.2`) in
# a 64bit enviroment won't find what it needs and return an error like
#
# sh /path/to/bin/program No such file or directory
#
# `org.freedesktop.Platform//1.8` should make this obsolote, but till then
# it's critical for winepak to work.
- /usr/libexec/freedesktop-post.sh
build-options:
cflags: -O2 -g -fstack-protector-strong -D_FORTIFY_SOURCE=2
cxxflags: -O2 -g -fstack-protector-strong -D_FORTIFY_SOURCE=2
ldflags: -fstack-protector-strong -Wl,-z,relro,-z,now
env:
V: '1'
modules:
- name: platform-setup
buildsystem: simple
build-commands:
- mkdir -p /usr/lib/32bit
- mkdir -p /usr/lib/wine
- mkdir -p /usr/lib/extension
- mkdir -p /usr/lib/sdk
- name: openldap
config-opts:
- --disable-static
sources:
# OpenLDAP required for Wine
# Due to the licencing of BDB v6.* we must stick with OpenLDAP 2.4.46
# FTP isn't support in flatpak & flatpak-builder so we use he https mirror
# https://www.openldap.org/software/download/OpenLDAP/openldap-release/
- type: archive
url: https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.46.tgz
sha256: 9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d
modules:
- name: BDB
config-opts:
- --enable-compat185
- --enable-shared
- --enable-static
- --enable-cxx
- --enable-dbm
- --enable-stl
make-install-args:
- LIBSO_LIBS=-lpthread
sources:
# Bereley DB required for OpenLDAP
# Due to licencing v6.* will not work with later versions of OpenLDAP
# and for that matter a lot of other software. Stick to v5.3.28
# http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html
- type: archive
url: http://download.oracle.com/berkeley-db/db-5.3.28.tar.gz
sha256: e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628
- type: script
dest-filename: configure
commands:
- "./dist/configure $@"
- name: wine-win64
only-arches:
- x86_64
config-opts:
- --enable-win64
- --disable-win16
- --disable-tests
- --with-x
- --with-ldap
- --without-cups
- --without-curses
- --without-capi
- --without-glu
- --without-gphoto
- --without-gsm
- --without-hal
- --without-netapi
- --without-opencl
- --without-pcap
- --without-udev
- --without-v4l
cleanup:
- /share/man
- /share/applications
sources:
- type: archive
url: https://dl.winehq.org/wine/source/3.0/wine-3.0.1.tar.xz
sha256: bad00d7ddac6652795a2ed52ce02a544ff4e891499b29ac71d28d20b8e1d26f3
- name: wine-win32
only-arches:
- i386
config-opts:
- --disable-win64
- --disable-win16
- --disable-tests
- --with-x
- --with-ldap
- --without-cups
- --without-curses
- --without-capi
- --without-glu
- --without-gphoto
- --without-gsm
- --without-hal
- --without-netapi
- --without-opencl
- --without-pcap
- --without-udev
- --without-v4l
cleanup:
- /bin/function_grep.pl
- /include
- /share/man
- /share/applications
sources:
- type: archive
url: https://dl.winehq.org/wine/source/3.0/wine-3.0.1.tar.xz
sha256: bad00d7ddac6652795a2ed52ce02a544ff4e891499b29ac71d28d20b8e1d26f3
- name: wine-gecko
buildsystem: simple
build-commands:
- install -D --target-directory=/usr/share/wine/gecko/ wine_gecko-*.msi
no-make-install: true
sources:
- type: file
only-arches:
- x86_64
url: https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
sha256: c565ea25e50ea953937d4ab01299e4306da4a556946327d253ea9b28357e4a7d
- type: file
url: https://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
sha256: 3b8a361f5d63952d21caafd74e849a774994822fb96c5922b01d554f1677643a
- name: wine-mono
buildsystem: simple
build-commands:
- install -D --target-directory=/usr/share/wine/mono/ wine-mono-*.msi
no-make-install: true
sources:
- type: file
url: https://dl.winehq.org/wine/wine-mono/4.7.1/wine-mono-4.7.1.msi
sha256: 2c8d5db7f833c3413b2519991f5af1f433d59a927564ec6f38a3f1f8b2c629aa
- name: cabextract
buildsystem: autotools
sources:
- type: archive
url: https://www.cabextract.org.uk/cabextract-1.6.tar.gz
sha256: cee661b56555350d26943c5e127fc75dd290b7f75689d5ebc1f04957c4af55fb
- name: winetricks
buildsystem: simple
build-commands:
- make
- make install
sources:
- type: archive
url: https://github.com/Winetricks/winetricks/archive/20180513.tar.gz
sha256: 626aff64e3d93698704b0b668225d5504fd8ef556e3834f569058deaeafada8e
- name: metainfo
buildsystem: simple
build-commands:
- mkdir -p /usr/share/appdata
- install org.winepak.Platform.appdata.xml /usr/share/appdata
- install org.winepak.Sdk.appdata.xml /usr/share/appdata
- appstream-compose --basename=org.winepak.Platform --prefix=/usr --origin=flatpak org.winepak.Platform
- appstream-compose --basename=org.winepak.Sdk --prefix=/usr --origin=flatpak org.winepak.Sdk
sources:
- type: file
path: org.winepak.Sdk.appdata.xml
- type: file
path: org.winepak.Platform.appdata.xml