diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/misc/emulators/pcsx2/default.nix index 1924452e2abe..6f28c5777ca1 100644 --- a/pkgs/misc/emulators/pcsx2/default.nix +++ b/pkgs/misc/emulators/pcsx2/default.nix @@ -1,58 +1,66 @@ -{ alsaLib, cmake, fetchFromGitHub, glib, gtk2, gettext, libaio, libpng -, makeWrapper, perl, pkgconfig, portaudio, SDL2, soundtouch, stdenv -, wxGTK30, zlib }: +{ alsaLib, cmake, fetchFromGitHub, glib, gettext, gtk2, harfbuzz, lib, libaio +, libpng, libpcap, libxml2, makeWrapper, perl, pkgconfig, portaudio +, SDL2, soundtouch, stdenv, udev, wxGTK, zlib +}: stdenv.mkDerivation rec { pname = "pcsx2"; - version = "1.4.0"; + version = "unstable-2020-01-05"; src = fetchFromGitHub { owner = "PCSX2"; repo = "pcsx2"; - rev = "v${version}"; - sha256 = "0s7mxq2cgzwjfsq0vhpz6ljk7wr725nxg48128iyirf85585l691"; + rev = "9c12937351c51b921e1f28d44b019bc52e747c51"; + sha256 = "0y1f5v99a6njmf6hyvl4z5xnrm7351rkyw2fn4f09hqn92r7zmi5"; }; postPatch = "sed '1i#include \"x86intrin.h\"' -i common/src/x86emitter/cpudetect.cpp"; - configurePhase = '' - mkdir -p build - cd build - - cmake \ - -DBIN_DIR="$out/bin" \ - -DCMAKE_BUILD_PO=TRUE \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX="$out" \ - -DDISABLE_ADVANCE_SIMD=TRUE \ - -DDISABLE_PCSX2_WRAPPER=TRUE \ - -DDOC_DIR="$out/share/doc/pcsx2" \ - -DGAMEINDEX_DIR="$out/share/pcsx2" \ - -DGLSL_SHADER_DIR="$out/share/pcsx2" \ - -DGTK2_GLIBCONFIG_INCLUDE_DIR='${glib.out}/lib/glib-2.0/include' \ - -DGTK2_GDKCONFIG_INCLUDE_DIR='${gtk2.out}/lib/gtk-2.0/include' \ - -DGTK2_INCLUDE_DIRS='${gtk2.dev}/include/gtk-2.0' \ - -DPACKAGE_MODE=TRUE \ - -DPLUGIN_DIR="$out/lib/pcsx2" \ - -DREBUILD_SHADER=TRUE \ - -DXDG_STD=TRUE \ - .. - ''; + cmakeFlags = [ + "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" + "-DDISABLE_ADVANCE_SIMD=TRUE" + "-DDISABLE_PCSX2_WRAPPER=TRUE" + "-DDOC_DIR=${placeholder "out"}/share/doc/pcsx2" + "-DGAMEINDEX_DIR=${placeholder "out"}/share/pcsx2" + "-DGLSL_SHADER_DIR=${placeholder "out"}/share/pcsx2" + "-DwxWidgets_LIBRARIES=${wxGTK}/lib" + "-DwxWidgets_INCLUDE_DIRS=${wxGTK}/include" + "-DwxWidgets_CONFIG_EXECUTABLE=${wxGTK}/bin/wx-config" + "-DPACKAGE_MODE=TRUE" + "-DPLUGIN_DIR=${placeholder "out"}/lib/pcsx2" + "-DREBUILD_SHADER=TRUE" + "-DXDG_STD=TRUE" + "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" + "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" + "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0" + "-DGTK3_API=FALSE" + ]; postFixup = '' wrapProgram $out/bin/PCSX2 \ --set __GL_THREADED_OPTIMIZATIONS 1 ''; - nativeBuildInputs = [ cmake perl pkgconfig ]; + nativeBuildInputs = [ cmake makeWrapper perl pkgconfig ]; buildInputs = [ - alsaLib glib gettext gtk2 libaio libpng makeWrapper portaudio SDL2 - soundtouch wxGTK30 zlib + alsaLib + glib + gettext + gtk2 + harfbuzz + libaio + libpcap + libpng + libxml2 + portaudio + SDL2 + soundtouch + udev + wxGTK + zlib ]; - enableParallelBuilding = true; - meta = with stdenv.lib; { description = "Playstation 2 emulator"; longDescription= '' @@ -62,7 +70,7 @@ stdenv.mkDerivation rec { 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; + homepage = "https://pcsx2.net"; maintainers = with maintainers; [ hrdinka ]; # PCSX2's source code is released under LGPLv3+. It However ships diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 157e6fb06f86..97578383ee71 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20674,7 +20674,9 @@ in ffmpeg = ffmpeg_2; }; - pcsx2 = pkgsi686Linux.callPackage ../misc/emulators/pcsx2 { }; + pcsx2 = pkgsi686Linux.callPackage ../misc/emulators/pcsx2 { + wxGTK = pkgsi686Linux.wxGTK30; + }; pekwm = callPackage ../applications/window-managers/pekwm { };