From aef6d4b9a1004e9ab11428633810ce27a1df6cc7 Mon Sep 17 00:00:00 2001 From: xJayMorex Date: Tue, 18 Aug 2026 18:55:26 +0200 Subject: [PATCH] protonplus: update to 0.6.4. --- .../fix-invalid-universal-character.patch | 70 +++++++++++++++ .../protonplus/patches/fix-redefinition.patch | 87 +++++++++++++++++++ srcpkgs/protonplus/template | 9 +- 3 files changed, 162 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/protonplus/patches/fix-invalid-universal-character.patch create mode 100644 srcpkgs/protonplus/patches/fix-redefinition.patch diff --git a/srcpkgs/protonplus/patches/fix-invalid-universal-character.patch b/srcpkgs/protonplus/patches/fix-invalid-universal-character.patch new file mode 100644 index 00000000000000..c4705d3873e932 --- /dev/null +++ b/srcpkgs/protonplus/patches/fix-invalid-universal-character.patch @@ -0,0 +1,70 @@ +diff --git a/src/models/steam-change-receipt.vala b/src/models/steam-change-receipt.vala +index 8e1faf4e..8f9a29a1 100644 +--- a/src/models/steam-change-receipt.vala ++++ b/src/models/steam-change-receipt.vala +@@ -76,7 +76,7 @@ namespace ProtonPlus.Models { + + public static string fingerprint (string value, bool present) { + var checksum = new Checksum (ChecksumType.SHA256); +- var material = (present ? "present\u001f" : "absent\u001f") + value; ++ var material = (present ? "present\x1f" : "absent\x1f") + value; + checksum.update (material.data, material.length); + return checksum.get_string (); + } +@@ -139,7 +139,7 @@ namespace ProtonPlus.Models { + var identity = configuration_intent != null + ? "configuration-intent" + : kind_to_identifier (kind); +- return "%s\u001f%s\u001f%s".printf (target.id, identity, resource_key); ++ return "%s\x1f%s\x1f%s".printf (target.id, identity, resource_key); + } + } + +diff --git a/src/services/steam-configuration-service.vala b/src/services/steam-configuration-service.vala +index b78b7ac3..9f2ca943 100644 +--- a/src/services/steam-configuration-service.vala ++++ b/src/services/steam-configuration-service.vala +@@ -37,7 +37,7 @@ namespace ProtonPlus.Services { + } + + public class SteamConfigurationService : Object, SteamConfigurationReconciler { +- private const string ABSENT = "\u001eprotonplus-absent"; ++ private const string ABSENT = "\x1eprotonplus-absent"; + private SteamSessionService sessions; + private SteamRestartManager manager; + private SteamShortcutMutator shortcut_mutator; +diff --git a/src/services/steam-restart-state-store.vala b/src/services/steam-restart-state-store.vala +index 82df1b39..2aa1a52b 100644 +--- a/src/services/steam-restart-state-store.vala ++++ b/src/services/steam-restart-state-store.vala +@@ -233,7 +233,7 @@ namespace ProtonPlus.Services { + if (schema_version == 1) { + if (!object.has_member ("baseline")) return null; + var baseline = object.get_string_member ("baseline"); +- const string legacy_absent = "\u001eprotonplus-absent"; ++ const string legacy_absent = "\x1eprotonplus-absent"; + var baseline_present = baseline != legacy_absent; + var desired_present = desired != legacy_absent; + return new SteamConfigurationIntent (file, operation, path, field_id, +diff --git a/tests/steam_test.vala b/tests/steam_test.vala +index 2be60379..64023df5 100644 +--- a/tests/steam_test.vala ++++ b/tests/steam_test.vala +@@ -120,7 +120,7 @@ namespace AppTests.SteamTest { + assert (ProtonPlus.Utils.Filesystem.create_directory (windows_directory)); + assert (ProtonPlus.Utils.Filesystem.create_directory (native_directory)); + create_executable_fixture (Path.build_filename (windows_directory, "game.exe"), "MZfixture"); +- create_executable_fixture (Path.build_filename (native_directory, "game"), "\u007fELFfixture"); ++ create_executable_fixture (Path.build_filename (native_directory, "game"), "\x7f" + "ELFfixture"); + + var steam = fixture_steam (root); + steam.games = new List (); +@@ -188,7 +188,7 @@ namespace AppTests.SteamTest { + var game_directory = Path.build_filename (root, "steamapps", "common", "NativeGame"); + assert (ProtonPlus.Utils.Filesystem.create_directory (config_directory)); + assert (ProtonPlus.Utils.Filesystem.create_directory (game_directory)); +- create_executable_fixture (Path.build_filename (game_directory, "game"), "\u007fELFfixture"); ++ create_executable_fixture (Path.build_filename (game_directory, "game"), "\x7f" + "ELFfixture"); + assert (ProtonPlus.Utils.Filesystem.modify_file ( + Path.build_filename (config_directory, "config.vdf"), + "\"InstallConfigStore\"\n{\n\t\"Software\"\n\t{\n\t\t\"Valve\"\n\t\t{\n\t\t\t\"Steam\"\n\t\t\t{\n\t\t\t}\n\t\t}\n\t}\n}\n" diff --git a/srcpkgs/protonplus/patches/fix-redefinition.patch b/srcpkgs/protonplus/patches/fix-redefinition.patch new file mode 100644 index 00000000000000..1f308f209e012b --- /dev/null +++ b/srcpkgs/protonplus/patches/fix-redefinition.patch @@ -0,0 +1,87 @@ +diff --git a/src/utils/cpu-probe.h b/src/utils/cpu-probe.h +index df7af7c0..e0564998 100644 +--- a/src/utils/cpu-probe.h ++++ b/src/utils/cpu-probe.h +@@ -2,37 +2,6 @@ + + #include + +-typedef struct _ProtonPlusCpuFeatureProbe { +- gboolean available; +- gboolean cmpxchg16b; +- gboolean lahf_sahf; +- gboolean popcnt; +- gboolean sse3; +- gboolean sse4_1; +- gboolean sse4_2; +- gboolean ssse3; +- gboolean avx; +- gboolean avx2; +- gboolean bmi1; +- gboolean bmi2; +- gboolean f16c; +- gboolean fma; +- gboolean lzcnt; +- gboolean movbe; +- gboolean osxsave; +- gboolean xcr0_xmm; +- gboolean xcr0_ymm; +- gboolean avx512f; +- gboolean avx512bw; +- gboolean avx512cd; +- gboolean avx512dq; +- gboolean avx512vl; +- gboolean xcr0_opmask; +- gboolean xcr0_zmm_hi256; +- gboolean xcr0_hi16_zmm; +- gboolean aarch64_crc32; +- gboolean aarch64_lse_atomics; +- gboolean aarch64_rdma; +-} ProtonPlusCpuFeatureProbe; ++typedef struct _ProtonPlusCpuFeatureProbe ProtonPlusCpuFeatureProbe; + + void protonplus_cpu_get_feature_probe (ProtonPlusCpuFeatureProbe *out_probe); +diff --git a/src/utils/cpu-probe.c b/src/utils/cpu-probe.c +index 48ab7fa2..b3b5f872 100644 +--- a/src/utils/cpu-probe.c ++++ b/src/utils/cpu-probe.c +@@ -2,6 +2,39 @@ + + #include + ++struct _ProtonPlusCpuFeatureProbe { ++ gboolean available; ++ gboolean cmpxchg16b; ++ gboolean lahf_sahf; ++ gboolean popcnt; ++ gboolean sse3; ++ gboolean sse4_1; ++ gboolean sse4_2; ++ gboolean ssse3; ++ gboolean avx; ++ gboolean avx2; ++ gboolean bmi1; ++ gboolean bmi2; ++ gboolean f16c; ++ gboolean fma; ++ gboolean lzcnt; ++ gboolean movbe; ++ gboolean osxsave; ++ gboolean xcr0_xmm; ++ gboolean xcr0_ymm; ++ gboolean avx512f; ++ gboolean avx512bw; ++ gboolean avx512cd; ++ gboolean avx512dq; ++ gboolean avx512vl; ++ gboolean xcr0_opmask; ++ gboolean xcr0_zmm_hi256; ++ gboolean xcr0_hi16_zmm; ++ gboolean aarch64_crc32; ++ gboolean aarch64_lse_atomics; ++ gboolean aarch64_rdma; ++}; ++ + #if defined(__aarch64__) && defined(__linux__) + #include + #include diff --git a/srcpkgs/protonplus/template b/srcpkgs/protonplus/template index 48db78686b6b62..4f08ddd4199341 100644 --- a/srcpkgs/protonplus/template +++ b/srcpkgs/protonplus/template @@ -1,13 +1,14 @@ # Template file for 'protonplus' pkgname=protonplus -version=0.5.22 +version=0.6.4 revision=1 +archs="~*-musl" build_style=meson -hostmakedepends="vala pkg-config glib-devel cmake gettext desktop-file-utils appstream-glib gtk4-update-icon-cache" -makedepends="gtk4-devel libadwaita-devel libsoup3-devel libgee-devel libarchive-devel" +hostmakedepends="vala pkg-config cmake glib-devel gettext desktop-file-utils appstream-glib gtk4-update-icon-cache" +makedepends="SDL3-devel AppStream gtk4-devel libadwaita-devel libsoup3-devel libgee-devel libarchive-devel libnotify-devel" short_desc="Modern compatibility tools manager" maintainer="xJayMorex " license="GPL-3.0-or-later" homepage="https://github.com/Vysp3r/protonplus" distfiles="https://github.com/Vysp3r/protonplus/archive/refs/tags/v${version/+/-}.tar.gz" -checksum=85c3af2bec31852b36b687c1f802404d9568250627c9fe5340f53ffbc49d5b1e +checksum=46665282ea7ed65f3c1d7cc06afd0bb71be47b6b895105cd5e7c1af8a18370b1