about summary refs log tree commit diff
path: root/pkgs/by-name/pc/pcsx2-bin/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/pc/pcsx2-bin/package.nix')
-rw-r--r--pkgs/by-name/pc/pcsx2-bin/package.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/by-name/pc/pcsx2-bin/package.nix b/pkgs/by-name/pc/pcsx2-bin/package.nix
new file mode 100644
index 0000000000000..db8ddcb957db8
--- /dev/null
+++ b/pkgs/by-name/pc/pcsx2-bin/package.nix
@@ -0,0 +1,57 @@
+{
+  lib,
+  stdenvNoCC,
+  fetchurl,
+  makeWrapper,
+  nix-update-script,
+}:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "pcsx2-bin";
+  version = "2.1.17";
+
+  src = fetchurl {
+    url = "https://github.com/PCSX2/pcsx2/releases/download/v${finalAttrs.version}/pcsx2-v${finalAttrs.version}-macos-Qt.tar.xz";
+    hash = "sha256-WuxvMcGuCyTAc99JkUjG0qcV7SXWy9fmaZR0+8iGepQ=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  dontPatch = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/Applications
+    cp -r "PCSX2-v${finalAttrs.version}.app" $out/Applications/PCSX2.app
+    runHook postInstall
+  '';
+
+  passthru = {
+    updateScript = nix-update-script { };
+  };
+
+  meta = {
+    homepage = "https://pcsx2.net";
+    description = "Playstation 2 emulator (precompiled binary, repacked from official website)";
+    longDescription = ''
+      PCSX2 is an open-source PlayStation 2 (AKA PS2) emulator. Its purpose is
+      to emulate the PS2 hardware, using a combination of MIPS CPU Interpreters,
+      Recompilers and a Virtual Machine which manages hardware states and PS2
+      system memory. This allows you to play PS2 games on your PC, with many
+      additional features and benefits.
+    '';
+    changelog = "https://github.com/PCSX2/pcsx2/releases/tag/v${finalAttrs.version}";
+    downloadPage = "https://github.com/PCSX2/pcsx2";
+    license = with lib.licenses; [
+      gpl3Plus
+      lgpl3Plus
+    ];
+    maintainers = with lib.maintainers; [ matteopacini ];
+    platforms = [ "x86_64-darwin" ];
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})