From 1c0e78c92b1d03232e00f40ecb41c5725f5543ac Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 11:17:17 -0400 Subject: [PATCH 1/7] python312Packages.vdf: add patch to support appinfo.vdf v29 --- pkgs/development/python-modules/vdf/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/vdf/default.nix b/pkgs/development/python-modules/vdf/default.nix index e74f735538e5..e528cab1b559 100644 --- a/pkgs/development/python-modules/vdf/default.nix +++ b/pkgs/development/python-modules/vdf/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + fetchpatch2, mock, pytestCheckHook, }: @@ -18,6 +19,14 @@ buildPythonPackage rec { hash = "sha256-6ozglzZZNKDtADkHwxX2Zsnkh6BE8WbcRcC9HkTTgPU="; }; + patches = [ + # Support appinfo.vdf v29 (required by protontricks 1.12.0) + (fetchpatch2 { + url = "https://github.com/Matoking/vdf/commit/981cad270c2558aeb8eccaf42cfcf9fabbbed199.patch"; + hash = "sha256-kLAbbB0WHjxq4rokLoGTPx43BU44EshteR59Ey9JnXo="; + }) + ]; + nativeCheckInputs = [ mock pytestCheckHook From 5a9adeb2c9dd078f87b3b9ad3113671b7697d06d Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 13:04:00 -0400 Subject: [PATCH 2/7] python312Packages.vdf: avoid using pname for src.repo --- pkgs/development/python-modules/vdf/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/vdf/default.nix b/pkgs/development/python-modules/vdf/default.nix index e528cab1b559..0a19c0b6380e 100644 --- a/pkgs/development/python-modules/vdf/default.nix +++ b/pkgs/development/python-modules/vdf/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "ValvePython"; - repo = pname; + repo = "vdf"; rev = "v${version}"; hash = "sha256-6ozglzZZNKDtADkHwxX2Zsnkh6BE8WbcRcC9HkTTgPU="; }; From 41ea55435a70dd7d65b37c4cfdfac3bfeb136d3a Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 13:05:18 -0400 Subject: [PATCH 3/7] python312Packages.vdf: explicitly use tag for rev --- pkgs/development/python-modules/vdf/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/vdf/default.nix b/pkgs/development/python-modules/vdf/default.nix index 0a19c0b6380e..afa238688f70 100644 --- a/pkgs/development/python-modules/vdf/default.nix +++ b/pkgs/development/python-modules/vdf/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "ValvePython"; repo = "vdf"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; hash = "sha256-6ozglzZZNKDtADkHwxX2Zsnkh6BE8WbcRcC9HkTTgPU="; }; From b67916b2904b84513a56aa7c59240ba2a8c7d395 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 13:06:04 -0400 Subject: [PATCH 4/7] python312Packages.vdf: add updateScript --- pkgs/development/python-modules/vdf/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/vdf/default.nix b/pkgs/development/python-modules/vdf/default.nix index afa238688f70..28f08948fce1 100644 --- a/pkgs/development/python-modules/vdf/default.nix +++ b/pkgs/development/python-modules/vdf/default.nix @@ -5,6 +5,7 @@ fetchpatch2, mock, pytestCheckHook, + nix-update-script, }: buildPythonPackage rec { @@ -31,8 +32,13 @@ buildPythonPackage rec { mock pytestCheckHook ]; + pythonImportsCheck = [ "vdf" ]; + # Use nix-update-script instead of the default python updater + # The python updater requires GitHub releases, but vdf only uses tags + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Library for working with Valve's VDF text format"; homepage = "https://github.com/ValvePython/vdf"; From 8482aefb4f11a002f73ee36a4badf650cd2375b2 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 11:00:25 -0400 Subject: [PATCH 5/7] protontricks: 1.11.1 -> 1.12.0 --- .../protontricks/default.nix | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix index 468a1ca75b3f..f10876a03020 100644 --- a/pkgs/tools/package-management/protontricks/default.nix +++ b/pkgs/tools/package-management/protontricks/default.nix @@ -8,6 +8,7 @@ , substituteAll , writeShellScript , steam-run +, fetchpatch2 , winetricks , yad , pytestCheckHook @@ -17,13 +18,13 @@ buildPythonApplication rec { pname = "protontricks"; - version = "1.11.1"; + version = "1.12.0"; src = fetchFromGitHub { owner = "Matoking"; - repo = pname; - rev = version; - sha256 = "sha256-a40IAFrzQ0mogMoXKb+Lp0fPc1glYophqtftigk3nAc="; + repo = "protontricks"; + rev = "refs/tags/${version}"; + hash = "sha256-dCb8mcwXoxD4abJjLEwk5tGp65XkvepmOX+Kc9Dl7fQ="; }; patches = [ @@ -35,6 +36,19 @@ buildPythonApplication rec { exec ${lib.getExe steam-run} bash "$@" ''; }) + + # Revert vendored vdf since our vdf includes `appinfo.vdf` v29 support + (fetchpatch2 { + url = "https://github.com/Matoking/protontricks/commit/4198b7ea82369a91e3084d6e185f9b370f78eaec.patch"; + revert = true; + hash = "sha256-1U/LiAliKtk3ygbIBsmoavXN0RSykiiegtml+bO8CnI="; + }) + + # Fix test_run_no_args test + (fetchpatch2 { + url = "https://github.com/Matoking/protontricks/commit/ff2381ad379a612e73f0d4604f1c9c3a012b3355.patch"; + hash = "sha256-aiafLbiqS6TBBiQpfTYPVqhQs2OXYg/4yCtbuTv6Ug8="; + }) ]; nativeBuildInputs = [ setuptools-scm ]; From 7af4120e302dca65f1f451d1c8513d88424e4012 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 11:32:23 -0400 Subject: [PATCH 6/7] protontricks: format using nixfmt-rfc-style --- .../protontricks/default.nix | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix index f10876a03020..13b7158e7969 100644 --- a/pkgs/tools/package-management/protontricks/default.nix +++ b/pkgs/tools/package-management/protontricks/default.nix @@ -1,19 +1,20 @@ -{ lib -, buildPythonApplication -, fetchFromGitHub -, setuptools-scm -, setuptools -, vdf -, pillow -, substituteAll -, writeShellScript -, steam-run -, fetchpatch2 -, winetricks -, yad -, pytestCheckHook -, nix-update-script -, extraCompatPaths ? "" +{ + lib, + buildPythonApplication, + fetchFromGitHub, + substituteAll, + writeShellScript, + steam-run, + fetchpatch2, + setuptools-scm, + setuptools, + vdf, + pillow, + winetricks, + yad, + pytestCheckHook, + nix-update-script, + extraCompatPaths ? "", }: buildPythonApplication rec { @@ -59,14 +60,18 @@ buildPythonApplication rec { pillow ]; - makeWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ - winetricks - yad - ]}" - # Steam Runtime does not work outside of steam-run, so don't use it - "--set STEAM_RUNTIME 0" - ] ++ lib.optional (extraCompatPaths != "") "--set STEAM_EXTRA_COMPAT_TOOLS_PATHS ${extraCompatPaths}"; + makeWrapperArgs = + [ + "--prefix PATH : ${ + lib.makeBinPath [ + winetricks + yad + ] + }" + # Steam Runtime does not work outside of steam-run, so don't use it + "--set STEAM_RUNTIME 0" + ] + ++ lib.optional (extraCompatPaths != "") "--set STEAM_EXTRA_COMPAT_TOOLS_PATHS ${extraCompatPaths}"; nativeCheckInputs = [ pytestCheckHook ]; @@ -85,6 +90,9 @@ buildPythonApplication rec { homepage = "https://github.com/Matoking/protontricks"; license = licenses.gpl3Only; maintainers = with maintainers; [ kira-bruneau ]; - platforms = [ "x86_64-linux" "i686-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; }; } From f70d7e0485606451733921ec9eb4f8a773bf049a Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Thu, 19 Sep 2024 12:21:48 -0400 Subject: [PATCH 7/7] protontricks: use steam-run-free --- pkgs/top-level/all-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72a2be0f2dff..70cc4d82083b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35687,7 +35687,8 @@ with pkgs; steamback = python311.pkgs.callPackage ../tools/games/steamback { }; protontricks = python3Packages.callPackage ../tools/package-management/protontricks { - inherit winetricks steam-run yad; + steam-run = steam-run-free; + inherit winetricks yad; }; protonup-ng = with python3Packages; toPythonApplication protonup-ng;