summary refs log tree commit diff
path: root/pkgs/applications/emulators/pcsx2/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/emulators/pcsx2/default.nix')
-rw-r--r--pkgs/applications/emulators/pcsx2/default.nix93
1 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/applications/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
new file mode 100644
index 00000000000..2e22e7d9053
--- /dev/null
+++ b/pkgs/applications/emulators/pcsx2/default.nix
@@ -0,0 +1,93 @@
+{ alsa-lib
+, cmake
+, fetchFromGitHub
+, fmt
+, gettext
+, glib
+, gtk3
+, harfbuzz
+, lib
+, libaio
+, libpcap
+, libpng
+, libpulseaudio
+, libsamplerate
+, libxml2
+, perl
+, pkg-config
+, portaudio
+, SDL2
+, soundtouch
+, stdenv
+, udev
+, wrapGAppsHook
+, wxGTK
+, zlib
+, wayland
+}:
+
+stdenv.mkDerivation rec {
+  pname = "pcsx2";
+  version = "1.7.2105";
+
+  src = fetchFromGitHub {
+    owner = "PCSX2";
+    repo = "pcsx2";
+    fetchSubmodules = true;
+    rev = "v${version}";
+    hash = "sha256-/A8u7oDIVs0Zmne0ebaXxOeIQbM9pr62KEH6FJR2umk=";
+  };
+
+  cmakeFlags = [
+    "-DDISABLE_ADVANCE_SIMD=TRUE"
+    "-DDISABLE_PCSX2_WRAPPER=TRUE"
+    "-DPACKAGE_MODE=TRUE"
+    "-DWAYLAND_API=TRUE"
+    "-DXDG_STD=TRUE"
+  ];
+
+  nativeBuildInputs = [ cmake perl pkg-config wrapGAppsHook ];
+
+  buildInputs = [
+    alsa-lib
+    fmt
+    gettext
+    glib
+    gtk3
+    harfbuzz
+    libaio
+    libpcap
+    libpng
+    libpulseaudio
+    libsamplerate
+    libxml2
+    portaudio
+    SDL2
+    soundtouch
+    udev
+    wayland
+    wxGTK
+    zlib
+  ];
+
+  meta = with lib; {
+    description = "Playstation 2 emulator";
+    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.
+    '';
+    homepage = "https://pcsx2.net";
+    maintainers = with maintainers; [ hrdinka govanify ];
+    mainProgram = "PCSX2";
+
+    # PCSX2's source code is released under LGPLv3+. It However ships
+    # additional data files and code that are licensed differently.
+    # This might be solved in future, for now we should stick with
+    # license.free
+    license = licenses.free;
+    platforms = platforms.x86;
+  };
+}