mirror of
https://github.com/bottlesdevs/Bottles.git
synced 2026-10-16 21:51:15 +08:00
fix: prepare Flatpak for Wine 26.08
This commit is contained in:
committed by
Mirko Brombin
parent
acdfb23369
commit
b0d063458b
@@ -17,7 +17,7 @@ jobs:
|
|||||||
bundle: bottles.flatpak
|
bundle: bottles.flatpak
|
||||||
manifest-path: build-aux/com.usebottles.bottles.Devel.json
|
manifest-path: build-aux/com.usebottles.bottles.Devel.json
|
||||||
cache-key: flatpak-builder-${{ github.sha }}
|
cache-key: flatpak-builder-${{ github.sha }}
|
||||||
- name: Test 32-bit media codecs
|
- name: Test multiarch runtime
|
||||||
run: |
|
run: |
|
||||||
curl -fL https://deb.debian.org/debian/pool/main/g/gstreamer1.0/gstreamer1.0-tools_1.26.2-2_i386.deb -o /tmp/gstreamer-tools-i386.deb
|
curl -fL https://deb.debian.org/debian/pool/main/g/gstreamer1.0/gstreamer1.0-tools_1.26.2-2_i386.deb -o /tmp/gstreamer-tools-i386.deb
|
||||||
echo 'cca853f66856ec889891e3d509786c3fd7169469a5c92c7751851e53b2b9fa3c /tmp/gstreamer-tools-i386.deb' | sha256sum -c -
|
echo 'cca853f66856ec889891e3d509786c3fd7169469a5c92c7751851e53b2b9fa3c /tmp/gstreamer-tools-i386.deb' | sha256sum -c -
|
||||||
@@ -25,7 +25,44 @@ jobs:
|
|||||||
cd /tmp/gstreamer-tools-i386
|
cd /tmp/gstreamer-tools-i386
|
||||||
ar x /tmp/gstreamer-tools-i386.deb data.tar.xz
|
ar x /tmp/gstreamer-tools-i386.deb data.tar.xz
|
||||||
tar -xf data.tar.xz
|
tar -xf data.tar.xz
|
||||||
|
curl -fL https://github.com/bottlesdevs/wine/releases/download/soda-11.0-8/soda-11.0-8-x86_64.tar.xz -o /tmp/soda.tar.xz
|
||||||
|
echo 'd764aa6697f06fffb4f883930d265f45546381dfc10da17e419ac3ea0b0b8041 /tmp/soda.tar.xz' | sha256sum -c -
|
||||||
|
mkdir /tmp/soda
|
||||||
|
tar -xJf /tmp/soda.tar.xz -C /tmp/soda
|
||||||
|
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||||
|
install_ref() {
|
||||||
|
attempts=0
|
||||||
|
until flatpak install --user --noninteractive flathub "$1"; do
|
||||||
|
attempts=$((attempts + 1))
|
||||||
|
test "$attempts" -lt 5 || return 1
|
||||||
|
sleep $((attempts * 5))
|
||||||
|
done
|
||||||
|
}
|
||||||
|
install_ref org.freedesktop.Platform.Compat.i386//26.08
|
||||||
|
install_ref org.freedesktop.Platform.codecs_extra.i386//26.08-extra
|
||||||
flatpak install --user --noninteractive "$GITHUB_WORKSPACE/bottles.flatpak"
|
flatpak install --user --noninteractive "$GITHUB_WORKSPACE/bottles.flatpak"
|
||||||
|
flatpak run --user --command=sh com.usebottles.bottles.Devel -ec '
|
||||||
|
grep -Fx /app/lib32 /app/etc/ld.so.conf
|
||||||
|
grep -Fx /app/lib/i386-linux-gnu/codecs-extra/lib /app/etc/ld.so.conf
|
||||||
|
grep -Fx /app/lib/i386-linux-gnu /app/etc/ld.so.conf
|
||||||
|
test -r /app/lib/i386-linux-gnu/libc.so.6
|
||||||
|
test -d /app/lib/i386-linux-gnu/dri/intel-vaapi-driver
|
||||||
|
test -d /app/i386/nvidia-vaapi-driver
|
||||||
|
gst-inspect-1.0 avdec_wmv3
|
||||||
|
'
|
||||||
|
flatpak run --user \
|
||||||
|
--filesystem=/tmp/soda:ro \
|
||||||
|
--command=sh \
|
||||||
|
com.usebottles.bottles.Devel -ec '
|
||||||
|
export WINEDEBUG=-all
|
||||||
|
export WINEPREFIX=/tmp/soda-prefix
|
||||||
|
runner=/tmp/soda/soda-11.0-8-x86_64/bin/wine
|
||||||
|
wineserver=/tmp/soda/soda-11.0-8-x86_64/bin/wineserver
|
||||||
|
timeout 120 "$runner" wineboot -u
|
||||||
|
timeout 30 "$runner" "$WINEPREFIX/drive_c/windows/system32/cmd.exe" /c exit
|
||||||
|
timeout 30 "$runner" "$WINEPREFIX/drive_c/windows/syswow64/cmd.exe" /c exit
|
||||||
|
"$wineserver" -k
|
||||||
|
'
|
||||||
flatpak run --user \
|
flatpak run --user \
|
||||||
--filesystem=/tmp/gstreamer-tools-i386:ro \
|
--filesystem=/tmp/gstreamer-tools-i386:ro \
|
||||||
--command=/tmp/gstreamer-tools-i386/usr/bin/gst-inspect-1.0 \
|
--command=/tmp/gstreamer-tools-i386/usr/bin/gst-inspect-1.0 \
|
||||||
|
|||||||
@@ -3,8 +3,11 @@
|
|||||||
"sdk": "org.gnome.Sdk",
|
"sdk": "org.gnome.Sdk",
|
||||||
"runtime": "org.gnome.Platform",
|
"runtime": "org.gnome.Platform",
|
||||||
"base": "org.winehq.Wine",
|
"base": "org.winehq.Wine",
|
||||||
"base-version": "stable-25.08",
|
"base-version": "stable-26.08",
|
||||||
"runtime-version": "49",
|
"runtime-version": "50",
|
||||||
|
"x-gl-version": "1.4",
|
||||||
|
"x-gl-versions": "26.08;26.08-extra;1.4",
|
||||||
|
"x-gl-merge-dirs": "vulkan/icd.d;glvnd/egl_vendor.d;egl/egl_external_platform.d;OpenCL/vendors;lib/dri;lib/d3d;lib/gbm;vulkan/explicit_layer.d;vulkan/implicit_layer.d;vdpau",
|
||||||
"command": "bottles",
|
"command": "bottles",
|
||||||
"finish-args": [
|
"finish-args": [
|
||||||
"--allow=devel",
|
"--allow=devel",
|
||||||
@@ -24,27 +27,69 @@
|
|||||||
"--system-talk-name=org.freedesktop.UDisks2",
|
"--system-talk-name=org.freedesktop.UDisks2",
|
||||||
"--env=LD_LIBRARY_PATH=/usr/lib/extensions/vulkan/gamescope/lib:/app/lib/i386-linux-gnu/codecs-extra/lib:/app/lib:/app/lib/i386-linux-gnu",
|
"--env=LD_LIBRARY_PATH=/usr/lib/extensions/vulkan/gamescope/lib:/app/lib/i386-linux-gnu/codecs-extra/lib:/app/lib:/app/lib/i386-linux-gnu",
|
||||||
"--env=PATH=/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin/:/usr/bin:/usr/lib/extensions/vulkan/OBSVkCapture/bin/:/usr/lib/extensions/vulkan/gamescope/bin/",
|
"--env=PATH=/app/bin:/app/utils/bin:/usr/bin:/usr/lib/extensions/vulkan/MangoHud/bin/:/usr/bin:/usr/lib/extensions/vulkan/OBSVkCapture/bin/:/usr/lib/extensions/vulkan/gamescope/bin/",
|
||||||
"--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0:/app/lib/i386-linux-gnu/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/i386-linux-gnu/gstreamer-1.0",
|
"--env=GST_PLUGIN_SYSTEM_PATH=/app/lib/gstreamer-1.0:/app/lib32/gstreamer-1.0:/app/lib/i386-linux-gnu/codecs-extra/lib/gstreamer-1.0:/app/lib/i386-linux-gnu/gstreamer-1.0:/usr/lib/extensions/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/codecs-extra/lib/gstreamer-1.0:/usr/lib/i386-linux-gnu/codecs-extra/lib/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:/usr/lib/i386-linux-gnu/gstreamer-1.0",
|
||||||
"--require-version=1.1.2"
|
"--require-version=1.1.2"
|
||||||
],
|
],
|
||||||
"inherit-extensions": [
|
"inherit-extensions": [
|
||||||
"org.freedesktop.Platform.GL32",
|
|
||||||
"org.winehq.Wine.gecko",
|
"org.winehq.Wine.gecko",
|
||||||
"org.winehq.Wine.mono"
|
"org.winehq.Wine.mono"
|
||||||
],
|
],
|
||||||
"add-extensions": {
|
"add-extensions": {
|
||||||
"org.freedesktop.Platform.Compat.i386": {
|
"org.freedesktop.Platform.Compat.i386": {
|
||||||
"directory": "lib/i386-linux-gnu",
|
"directory": "lib/i386-linux-gnu",
|
||||||
"version": "25.08"
|
"version": "26.08"
|
||||||
},
|
},
|
||||||
"org.freedesktop.Platform.Compat.i386.Debug": {
|
"org.freedesktop.Platform.Compat.i386.Debug": {
|
||||||
"directory": "lib/debug/lib/i386-linux-gnu",
|
"directory": "lib/debug/lib/i386-linux-gnu",
|
||||||
"version": "25.08",
|
"version": "26.08",
|
||||||
"no-autodownload": true
|
"no-autodownload": true
|
||||||
},
|
},
|
||||||
|
"org.freedesktop.Platform.GL32": {
|
||||||
|
"directory": "lib/i386-linux-gnu/GL",
|
||||||
|
"version": "1.4",
|
||||||
|
"versions": "26.08;26.08-extra;1.4",
|
||||||
|
"subdirectories": true,
|
||||||
|
"no-autodownload": true,
|
||||||
|
"autodelete": false,
|
||||||
|
"add-ld-path": "lib",
|
||||||
|
"merge-dirs": "vulkan/icd.d;glvnd/egl_vendor.d;egl/egl_external_platform.d;OpenCL/vendors;lib/dri;lib/d3d;lib/gbm;vulkan/explicit_layer.d;vulkan/implicit_layer.d;vdpau",
|
||||||
|
"download-if": "active-gl-driver",
|
||||||
|
"enable-if": "active-gl-driver",
|
||||||
|
"autoprune-unless": "active-gl-driver"
|
||||||
|
},
|
||||||
|
"org.freedesktop.Platform.GL32.Debug": {
|
||||||
|
"directory": "lib/debug/lib/i386-linux-gnu/GL",
|
||||||
|
"version": "1.4",
|
||||||
|
"versions": "26.08;26.08-extra;1.4",
|
||||||
|
"subdirectories": true,
|
||||||
|
"no-autodownload": true,
|
||||||
|
"merge-dirs": "vulkan/icd.d;glvnd/egl_vendor.d;egl/egl_external_platform.d;OpenCL/vendors;lib/dri;lib/d3d;lib/gbm;vulkan/explicit_layer.d;vulkan/implicit_layer.d;vdpau",
|
||||||
|
"enable-if": "active-gl-driver",
|
||||||
|
"autoprune-unless": "active-gl-driver"
|
||||||
|
},
|
||||||
|
"org.freedesktop.Platform.VAAPI.Intel.i386": {
|
||||||
|
"directory": "lib/i386-linux-gnu/dri/intel-vaapi-driver",
|
||||||
|
"version": "26.08",
|
||||||
|
"versions": "26.08",
|
||||||
|
"autodelete": false,
|
||||||
|
"no-autodownload": true,
|
||||||
|
"add-ld-path": "lib",
|
||||||
|
"download-if": "have-intel-gpu",
|
||||||
|
"autoprune-unless": "have-intel-gpu"
|
||||||
|
},
|
||||||
|
"org.freedesktop.Platform.VAAPI.nvidia.i386": {
|
||||||
|
"directory": "i386/nvidia-vaapi-driver",
|
||||||
|
"version": "26.08",
|
||||||
|
"versions": "26.08",
|
||||||
|
"autodelete": false,
|
||||||
|
"no-autodownload": true,
|
||||||
|
"add-ld-path": "lib",
|
||||||
|
"download-if": "have-kernel-module-nvidia",
|
||||||
|
"autoprune-unless": "have-kernel-module-nvidia"
|
||||||
|
},
|
||||||
"org.freedesktop.Platform.codecs_extra.i386": {
|
"org.freedesktop.Platform.codecs_extra.i386": {
|
||||||
"directory": "lib/i386-linux-gnu/codecs-extra",
|
"directory": "lib/i386-linux-gnu/codecs-extra",
|
||||||
"version": "25.08-extra",
|
"version": "26.08-extra",
|
||||||
"autodelete": false,
|
"autodelete": false,
|
||||||
"add-ld-path": "lib"
|
"add-ld-path": "lib"
|
||||||
},
|
},
|
||||||
@@ -344,6 +389,26 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "bundle-setup",
|
||||||
|
"buildsystem": "simple",
|
||||||
|
"build-commands": [
|
||||||
|
"install -Dm644 ld.so.conf -t /app/etc",
|
||||||
|
"mkdir -p /app/lib/i386-linux-gnu",
|
||||||
|
"mkdir -p /app/lib/debug/lib/i386-linux-gnu",
|
||||||
|
"mkdir -p /app/lib/i386-linux-gnu/GL",
|
||||||
|
"mkdir -p /app/lib/debug/lib/i386-linux-gnu/GL",
|
||||||
|
"mkdir -p /app/lib/i386-linux-gnu/dri/intel-vaapi-driver",
|
||||||
|
"mkdir -p /app/i386/nvidia-vaapi-driver",
|
||||||
|
"mkdir -p /app/lib/i386-linux-gnu/codecs-extra"
|
||||||
|
],
|
||||||
|
"sources": [
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"path": "ld.so.conf"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bottles",
|
"name": "bottles",
|
||||||
"builddir": true,
|
"builddir": true,
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
/app/lib32
|
||||||
|
/app/lib/i386-linux-gnu/codecs-extra/lib
|
||||||
|
/app/lib/i386-linux-gnu
|
||||||
Reference in New Issue
Block a user