fix: update universal_gamepad

This commit is contained in:
edde746
2026-02-17 07:51:18 +01:00
parent 71bfd3ca2f
commit 544fccf82d
6 changed files with 32 additions and 23 deletions
+4 -4
View File
@@ -429,13 +429,13 @@ jobs:
- name: Cache APT packages - name: Cache APT packages
uses: awalsh128/cache-apt-pkgs-action@latest uses: awalsh128/cache-apt-pkgs-action@latest
with: with:
packages: clang cmake meson ninja-build pkg-config nasm libgtk-3-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick packages: clang cmake meson ninja-build pkg-config nasm libgtk-3-dev libevdev-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick
version: 1.1 version: 1.1
- name: Install Linux dependencies - name: Install Linux dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y clang cmake meson ninja-build pkg-config nasm libgtk-3-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick sudo apt-get install -y clang cmake meson ninja-build pkg-config nasm libgtk-3-dev libevdev-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick
- name: Cache libmpv build - name: Cache libmpv build
id: libmpv-cache id: libmpv-cache
@@ -537,13 +537,13 @@ jobs:
- name: Cache APT packages - name: Cache APT packages
uses: awalsh128/cache-apt-pkgs-action@latest uses: awalsh128/cache-apt-pkgs-action@latest
with: with:
packages: clang cmake meson ninja-build pkg-config nasm libgtk-3-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick packages: clang cmake meson ninja-build pkg-config nasm libgtk-3-dev libevdev-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick
version: 1.1 version: 1.1
- name: Install Linux dependencies - name: Install Linux dependencies
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y clang cmake meson ninja-build pkg-config nasm libgtk-3-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick sudo apt-get install -y clang cmake meson ninja-build pkg-config nasm libgtk-3-dev libevdev-dev liblzma-dev libstdc++-12-dev libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev libepoxy-dev libegl-dev libgl-dev libgnutls28-dev libpipewire-0.3-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxss-dev libxpresent-dev libxkbcommon-dev libpulse-dev libdbus-1-dev libdrm-dev libgbm-dev libwayland-dev wayland-protocols liblcms2-dev ruby ruby-dev rubygems build-essential rpm libarchive-tools imagemagick
- name: Cache libmpv build - name: Cache libmpv build
id: libmpv-cache id: libmpv-cache
+3
View File
@@ -43,6 +43,7 @@ DISTROS = {
"libmpv2 | libmpv1", "libmpv2 | libmpv1",
"libepoxy0", "libepoxy0",
"libasound2", "libasound2",
"libevdev2",
"libglib2.0-0", "libglib2.0-0",
], ],
}, },
@@ -56,6 +57,7 @@ DISTROS = {
"mpv-libs", "mpv-libs",
"libepoxy", "libepoxy",
"alsa-lib", "alsa-lib",
"libevdev",
"glib2", "glib2",
], ],
}, },
@@ -69,6 +71,7 @@ DISTROS = {
"mpv", "mpv",
"libepoxy", "libepoxy",
"alsa-lib", "alsa-lib",
"libevdev",
"glib2", "glib2",
], ],
}, },
+2 -2
View File
@@ -1263,10 +1263,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: universal_gamepad name: universal_gamepad
sha256: ab16fd55ad164101cd36ff5ea2252006aa2ba2a4929c63e6e68206795ef16084 sha256: afd3106195aa2052ec23fe61069cad8d0caed255c7e2e6ed33a403e0a94f365e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.1" version: "1.4.4"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
+1 -1
View File
@@ -38,7 +38,7 @@ dependencies:
path: wakelock_plus path: wakelock_plus
path_provider: ^2.1.0 path_provider: ^2.1.0
path: ^1.9.0 path: ^1.9.0
universal_gamepad: ^1.1.1 universal_gamepad: ^1.4.4
drift: ^2.28.2 drift: ^2.28.2
sqlite3_flutter_libs: ^0.5.41 sqlite3_flutter_libs: ^0.5.41
workmanager: ^0.9.0+3 workmanager: ^0.9.0+3
+21 -15
View File
@@ -10,31 +10,37 @@ LIBMPV_DIR=$(dirname "$(find /build/libmpv-prefix -name libmpv.so | head -1)")
cp -a "$LIBMPV_DIR"/libmpv.so* "$BUNDLE_LIB/" cp -a "$LIBMPV_DIR"/libmpv.so* "$BUNDLE_LIB/"
cp -a /build/libmpv-prefix/lib/libshaderc_shared.so* "$BUNDLE_LIB/" cp -a /build/libmpv-prefix/lib/libshaderc_shared.so* "$BUNDLE_LIB/"
# Bundle libmpv's runtime deps that the Steam Runtime doesn't ship. # Bundle runtime deps that the Steam Runtime doesn't ship.
# /steam-rt-libs.txt was snapshot before we built anything (see Dockerfile). # /steam-rt-libs.txt was snapshot before we built anything (see Dockerfile).
# Iteratively resolve the main binary + all bundled .so files until no new deps appear.
echo "" echo ""
echo "==> Bundling libmpv runtime dependencies..." echo "==> Bundling runtime dependencies..."
RT_LIBS="/steam-rt-libs.txt" RT_LIBS="/steam-rt-libs.txt"
ldd "$LIBMPV_DIR/libmpv.so" 2>/dev/null | grep "=> /" | awk '{print $3}' | while read dep; do while true; do
dep_name=$(basename "$dep") new_count=0
if ! grep -qF "$dep_name" "$RT_LIBS"; then while read dep; do
if [ ! -f "$BUNDLE_LIB/$dep_name" ]; then dep_name=$(basename "$dep")
echo " Bundling $dep_name" if ! grep -qF "$dep_name" "$RT_LIBS"; then
cp -a "$dep" "$BUNDLE_LIB/" if [ ! -f "$BUNDLE_LIB/$dep_name" ]; then
# Also copy any symlink variants echo " Bundling $dep_name"
dep_dir=$(dirname "$dep") cp -a "$dep" "$BUNDLE_LIB/"
dep_base=$(echo "$dep_name" | sed 's/\.so.*//') dep_dir=$(dirname "$dep")
cp -a "$dep_dir"/${dep_base}.so* "$BUNDLE_LIB/" 2>/dev/null || true dep_base=$(echo "$dep_name" | sed 's/\.so.*//')
cp -a "$dep_dir"/${dep_base}.so* "$BUNDLE_LIB/" 2>/dev/null || true
new_count=$((new_count + 1))
fi
fi fi
done < <({ ldd "$BUNDLE/plezy" 2>/dev/null; find "$BUNDLE_LIB" -name '*.so*' -type f -exec ldd {} \; 2>/dev/null; } | grep "=> /" | awk '{print $3}' | sort -u)
if [ "$new_count" -eq 0 ]; then
break
fi fi
echo " Bundled $new_count new libraries, re-scanning..."
done done
# Verify all deps resolve # Verify all deps resolve
echo "" echo ""
echo "==> Checking dependencies..." echo "==> Checking dependencies..."
MISSING=$(LD_LIBRARY_PATH="$BUNDLE_LIB" ldd "$BUNDLE/plezy" 2>&1 | grep "not found" || true) MISSING=$({ LD_LIBRARY_PATH="$BUNDLE_LIB" ldd "$BUNDLE/plezy" 2>&1; find "$BUNDLE_LIB" -name '*.so*' -type f -exec env LD_LIBRARY_PATH="$BUNDLE_LIB" ldd {} \; 2>&1; } | grep "not found" | sort -u || true)
MISSING_MPV=$(LD_LIBRARY_PATH="$BUNDLE_LIB" ldd "$BUNDLE_LIB/libmpv.so" 2>&1 | grep "not found" || true)
MISSING="$MISSING$MISSING_MPV"
if [[ -n "$MISSING" ]]; then if [[ -n "$MISSING" ]]; then
echo "WARNING: Unresolved dependencies (will need Steam runtime):" echo "WARNING: Unresolved dependencies (will need Steam runtime):"
echo "$MISSING" echo "$MISSING"
+1 -1
View File
@@ -8,7 +8,7 @@ COPY --from=runtime-snapshot /steam-rt-libs.txt /steam-rt-libs.txt
# ─── Layer 1: apt deps (cached unless this block changes) ───────────────────── # ─── Layer 1: apt deps (cached unless this block changes) ─────────────────────
RUN apt-get update -qq && apt-get install -y -qq \ RUN apt-get update -qq && apt-get install -y -qq \
clang cmake meson ninja-build pkg-config nasm git curl unzip xz-utils \ clang cmake meson ninja-build pkg-config nasm git curl unzip xz-utils \
libgtk-3-dev liblzma-dev \ libgtk-3-dev libevdev-dev liblzma-dev \
libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev \ libasound2-dev libass-dev libfreetype-dev libfontconfig-dev libfribidi-dev libharfbuzz-dev \
libepoxy-dev libegl-dev libgl-dev libgnutls28-dev \ libepoxy-dev libegl-dev libgl-dev libgnutls28-dev \
libpipewire-0.3-dev libva-dev libvdpau-dev \ libpipewire-0.3-dev libva-dev libvdpau-dev \