diff --git a/pkgs/by-name/ps/ps2patchelf/deps.json b/pkgs/by-name/ps/ps2patchelf/deps.json new file mode 100644 index 000000000000..fe51488c7066 --- /dev/null +++ b/pkgs/by-name/ps/ps2patchelf/deps.json @@ -0,0 +1 @@ +[] diff --git a/pkgs/by-name/ps/ps2patchelf/package.nix b/pkgs/by-name/ps/ps2patchelf/package.nix new file mode 100644 index 000000000000..409592dc5353 --- /dev/null +++ b/pkgs/by-name/ps/ps2patchelf/package.nix @@ -0,0 +1,40 @@ +{ + fetchFromGitHub, + buildDotnetModule, + dotnetCorePackages, + lib, +}: + +buildDotnetModule rec { + version = "1.0.0"; + pname = "PS2PatchElf"; + + src = fetchFromGitHub { + owner = "CaptainSwag101"; + repo = "PS2PatchElf"; + tag = "v${version}"; + hash = "sha256-iQL3tT71UOEFIYBdf9BNLUM4++Fm9qEhr77NkMCZdrU="; + }; + + patches = [ + ./patches/target_net8.0.patch + ./patches/fix_arg_check.patch + ]; + + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; + + dotnetFlags = [ "-p:TargetFramework=net8.0" ]; + + nugetDeps = ./deps.json; + + projectFile = "PS2PatchElf/PS2PatchElf.csproj"; + + meta = { + homepage = "https://github.com/CaptainSwag101/PS2PatchElf/"; + description = "Very basic tool for converting PCSX2 .pnach cheats to game executable patches"; + maintainers = [ lib.maintainers.gigahawk ]; + mainProgram = "PS2PatchElf"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/by-name/ps/ps2patchelf/patches/fix_arg_check.patch b/pkgs/by-name/ps/ps2patchelf/patches/fix_arg_check.patch new file mode 100644 index 000000000000..5e846eabe43c --- /dev/null +++ b/pkgs/by-name/ps/ps2patchelf/patches/fix_arg_check.patch @@ -0,0 +1,14 @@ +diff --git a/PS2PatchElf/Program.cs b/PS2PatchElf/Program.cs +index 8c0f1b4..78f4042 100644 +--- a/PS2PatchElf/Program.cs ++++ b/PS2PatchElf/Program.cs +@@ -9,7 +9,7 @@ namespace PS2PatchElf + { + static void Main(string[] args) + { +- if (args.Length is not 2 or 3) ++ if (args.Length != 2 && args.Length != 3) + { + Console.WriteLine("Improper number of arguments specified.\nPlease pass an input ELF/SLUS, a PNACH file, and optionally the patched ELF/SLUS's output path, in that order!"); + return; + diff --git a/pkgs/by-name/ps/ps2patchelf/patches/target_net8.0.patch b/pkgs/by-name/ps/ps2patchelf/patches/target_net8.0.patch new file mode 100644 index 000000000000..420dfe7502c0 --- /dev/null +++ b/pkgs/by-name/ps/ps2patchelf/patches/target_net8.0.patch @@ -0,0 +1,26 @@ +diff --git a/PS2PatchElf/PS2PatchElf.csproj b/PS2PatchElf/PS2PatchElf.csproj +index 3bfd30f..bb0c835 100644 +--- a/PS2PatchElf/PS2PatchElf.csproj ++++ b/PS2PatchElf/PS2PatchElf.csproj +@@ -2,7 +2,7 @@ + + + Exe +- net6.0 ++ net8.0 + enable + + +diff --git a/PS2PatchLib/PS2PatchLib.csproj b/PS2PatchLib/PS2PatchLib.csproj +index 4de8048..8d2b232 100644 +--- a/PS2PatchLib/PS2PatchLib.csproj ++++ b/PS2PatchLib/PS2PatchLib.csproj +@@ -1,7 +1,7 @@ + + + +- net6.0 ++ net8.0 + enable + +