Unverified Commit a8af21e4 authored by isabel's avatar isabel Committed by GitHub
Browse files

crosspatch: init at 1.1.5 (#494465)

parents 15cbb089 f050240f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -27252,6 +27252,12 @@
    githubId = 38566841;
    name = "Anthony Butt";
  };
  toodeluna = {
    email = "luna@toodeluna.net";
    github = "toodeluna";
    githubId = 112084382;
    name = "Luna Heyman";
  };
  toonn = {
    email = "nixpkgs@toonn.io";
    matrix = "@toonn:matrix.org";
+122 −0
Original line number Diff line number Diff line
[
  {
    "pname": "CUE4Parse",
    "version": "1.1.0",
    "hash": "sha256-OdcUExbfYsWKEveSjyRcYfKgUWh3dw+BHQlP94z6LDI="
  },
  {
    "pname": "DotNetZip",
    "version": "1.16.0",
    "hash": "sha256-RlzHkO7DxCvRkr+gpM8Abs34XbovmBTmXfO7LtnE75E="
  },
  {
    "pname": "Infrablack.UE4Config",
    "version": "0.7.2.97",
    "hash": "sha256-KoaJXzmFsaQxTRmGfDkFW1votjcmdDouYZANXK4kksw="
  },
  {
    "pname": "K4os.Compression.LZ4",
    "version": "1.3.6",
    "hash": "sha256-Vo2ofh0MNkxcvJZUkNPqft/IoA1QcU/awItB2i17rfs="
  },
  {
    "pname": "K4os.Compression.LZ4.Streams",
    "version": "1.3.6",
    "hash": "sha256-rnIDo/2WIlA7enlNxXMKyMjRu+VQPHtuCMqK3w1zQf4="
  },
  {
    "pname": "K4os.Hash.xxHash",
    "version": "1.0.8",
    "hash": "sha256-ILTWT8NFB7itGpDloJh65B5ZuWHrN2dOUQdm8gNy4W8="
  },
  {
    "pname": "LZMA-SDK",
    "version": "22.1.1",
    "hash": "sha256-PI79dMSrLSmoJzQLSFxgfhDqdkyNvdlzFhxWbdrMKXs="
  },
  {
    "pname": "Microsoft.NETCore.Platforms",
    "version": "3.1.0",
    "hash": "sha256-cnygditsEaU86bnYtIthNMymAHqaT/sf9Gjykhzqgb0="
  },
  {
    "pname": "Microsoft.NETCore.Platforms",
    "version": "3.1.1",
    "hash": "sha256-ByV7aEFjGR4L4Tudg4KaJ96lnzr7RhOxzWGE0p5XFRY="
  },
  {
    "pname": "Microsoft.Win32.SystemEvents",
    "version": "4.7.0",
    "hash": "sha256-GHxnD1Plb32GJWVWSv0Y51Kgtlb+cdKgOYVBYZSgVF4="
  },
  {
    "pname": "Newtonsoft.Json",
    "version": "13.0.3",
    "hash": "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="
  },
  {
    "pname": "Serilog",
    "version": "3.1.1",
    "hash": "sha256-L263y8jkn7dNFD2jAUK6mgvyRTqFe39i1tRhVZsNZTI="
  },
  {
    "pname": "Serilog.Sinks.Console",
    "version": "5.0.0",
    "hash": "sha256-UOVlegJLhs0vK1ml2DZCjFE5roDRZsGCAqD/53ZaZWI="
  },
  {
    "pname": "System.CommandLine",
    "version": "2.0.0-beta4.22272.1",
    "hash": "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc="
  },
  {
    "pname": "System.Drawing.Common",
    "version": "4.7.0",
    "hash": "sha256-D3qG+xAe78lZHvlco9gHK2TEAM370k09c6+SQi873Hk="
  },
  {
    "pname": "System.IO.Pipelines",
    "version": "6.0.3",
    "hash": "sha256-v+FOmjRRKlDtDW6+TfmyMiiki010YGVTa0EwXu9X7ck="
  },
  {
    "pname": "System.Memory",
    "version": "4.5.5",
    "hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="
  },
  {
    "pname": "System.Runtime.CompilerServices.Unsafe",
    "version": "6.0.0",
    "hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
  },
  {
    "pname": "System.Security.AccessControl",
    "version": "4.7.0",
    "hash": "sha256-/9ZCPIHLdhzq7OW4UKqTsR0O93jjHd6BRG1SRwgHE1g="
  },
  {
    "pname": "System.Security.Permissions",
    "version": "4.7.0",
    "hash": "sha256-BGgXMLUi5rxVmmChjIhcXUxisJjvlNToXlyaIbUxw40="
  },
  {
    "pname": "System.Security.Principal.Windows",
    "version": "4.7.0",
    "hash": "sha256-rWBM2U8Kq3rEdaa1MPZSYOOkbtMGgWyB8iPrpIqmpqg="
  },
  {
    "pname": "System.Text.Encoding.CodePages",
    "version": "4.7.1",
    "hash": "sha256-OUA8ttAKGgqD5KUwtnO2OewBF/tJI0nO3YcunK5qMPg="
  },
  {
    "pname": "System.Windows.Extensions",
    "version": "4.7.0",
    "hash": "sha256-yW+GvQranReaqPw5ZFv+mSjByQ5y1pRLl05JIEf3tYU="
  },
  {
    "pname": "ZstdSharp.Port",
    "version": "0.7.3",
    "hash": "sha256-uHmJzDeHPAr0u35lKwBDwWgoybM0ckP0gfSNDmTWcGk="
  }
]
+72 −0
Original line number Diff line number Diff line
{
  buildDotnetModule,
  copyDesktopItems,
  fetchFromGitHub,
  lib,
  makeDesktopItem,
  makeWrapper,
  python3,
  stdenv,
}:
let
  name = "crosspatch";
  version = "1.1.5";

  src = fetchFromGitHub {
    owner = "NickPlayzGITHUB";
    repo = "CrossPatch";
    hash = "sha256-Ux+tLP5Hv8ecnuITMqLiuX0YtF2ENZ7ezi2gNKfuNcM=";
    tag = version;
  };

  python = python3.withPackages (ps: [
    ps.patool
    ps.py7zr
    ps.pyqtdarktheme
    ps.pyside6
    ps.rarfile
    ps.requests
  ]);

  parser = buildDotnetModule rec {
    inherit version src;
    pname = "crosspatch-parser";
    sourceRoot = "${src.name}/tools/CrossPatchParser";
    nugetDeps = ./dependencies.json;
    meta.mainProgram = "CrossPatchParser";
  };
in
stdenv.mkDerivation {
  inherit version src;
  pname = name;
  buildInputs = [ makeWrapper ];
  nativeBuildInputs = [ copyDesktopItems ];

  postPatch = ''
    mkdir "$out"
    cp -r "$src/src" "$out/src"
    substituteInPlace "$out/src/PakInspector.py" --replace 'possible_paths = _possible_parser_paths()' 'possible_paths = ["${lib.getExe parser}"]'
  '';

  buildPhase = ''
    runHook preBuild
    mkdir -p "$out/bin"
    makeWrapper "${lib.getExe python}" "$out/bin/crosspatch" --add-flag "$out/src/CrossPatch.py"
    runHook postBuild
  '';

  desktopItems = lib.singleton (makeDesktopItem {
    inherit name;
    desktopName = "CrossPatch";
    exec = "crosspatch";
  });

  meta = {
    mainProgram = "crosspatch";
    description = "A mod Manager for Sonic Racing: CrossWorlds";
    homepage = "https://github.com/NickPlayzGITHUB/CrossPatch";
    license = lib.licenses.gpl3Plus;
    platforms = lib.platforms.linux;
    maintainers = with lib.maintainers; [ toodeluna ];
  };
}