diff options
Diffstat (limited to 'pkgs/applications/emulators/rpcs3/default.nix')
-rw-r--r-- | pkgs/applications/emulators/rpcs3/default.nix | 68 |
1 files changed, 44 insertions, 24 deletions
diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix index b035c7b0d17fa..cc38ad1fbcda6 100644 --- a/pkgs/applications/emulators/rpcs3/default.nix +++ b/pkgs/applications/emulators/rpcs3/default.nix @@ -1,24 +1,43 @@ -{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, pkg-config, git -, qtbase, qtquickcontrols, qtmultimedia, openal, glew, vulkan-headers, vulkan-loader, libpng -, ffmpeg, libevdev, libusb1, zlib, curl, wolfssl, python3, pugixml, faudio, flatbuffers -, sdl2Support ? true, SDL2 -, cubebSupport ? true, cubeb -, waylandSupport ? true, wayland +{ lib +, stdenv +, fetchFromGitHub +, wrapQtAppsHook +, cmake +, pkg-config +, git +, qtbase +, qtquickcontrols +, qtmultimedia +, openal +, glew +, vulkan-headers +, vulkan-loader +, libpng +, libSM +, ffmpeg +, libevdev +, libusb1 +, zlib +, curl +, wolfssl +, python3 +, pugixml +, flatbuffers +, llvm_16 +, cubeb +, faudioSupport ? true +, faudio +, SDL2 +, waylandSupport ? true +, wayland }: let # Keep these separate so the update script can regex them - rpcs3GitVersion = "14840-842edbcbe"; - rpcs3Version = "0.0.27-14840-842edbcbe"; - rpcs3Revision = "842edbcbe795941981993c667c2d8a866126b5b0"; - rpcs3Sha256 = "1al4dx93f02k56k62dxjqqb46cwg0nkpjax1xnjc8v3bx4gsp6f6"; - - ittapi = fetchFromGitHub { - owner = "intel"; - repo = "ittapi"; - rev = "v3.18.12"; - sha256 = "0c3g30rj1y8fbd2q4kwlpg1jdy02z4w5ryhj3yr9051pdnf4kndz"; - }; + rpcs3GitVersion = "15372-38a5313ed"; + rpcs3Version = "0.0.28-15372-38a5313ed"; + rpcs3Revision = "38a5313ed2c4ebb626017a4f7f28ed0c0a89f931"; + rpcs3Hash = "sha256-tiByoxPf++TK/Xowo2VQ+OEojoYIpX/B8caDyaMZ3Qc="; in stdenv.mkDerivation { pname = "rpcs3"; @@ -29,11 +48,9 @@ stdenv.mkDerivation { repo = "rpcs3"; rev = rpcs3Revision; fetchSubmodules = true; - sha256 = rpcs3Sha256; + hash = rpcs3Hash; }; - patches = [ ./0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch ]; - passthru.updateScript = ./update.sh; preConfigure = '' @@ -55,17 +72,20 @@ stdenv.mkDerivation { "-DUSE_SYSTEM_FAUDIO=ON" "-DUSE_SYSTEM_PUGIXML=ON" "-DUSE_SYSTEM_FLATBUFFERS=ON" + "-DUSE_SYSTEM_SDL=ON" + "-DWITH_LLVM=ON" + "-DBUILD_LLVM=OFF" "-DUSE_NATIVE_INSTRUCTIONS=OFF" - "-DITTAPI_SOURCE_DIR=${ittapi}" + "-DUSE_FAUDIO=${if faudioSupport then "ON" else "OFF"}" ]; nativeBuildInputs = [ cmake pkg-config git wrapQtAppsHook ]; buildInputs = [ qtbase qtquickcontrols qtmultimedia openal glew vulkan-headers vulkan-loader libpng ffmpeg - libevdev zlib libusb1 curl wolfssl python3 pugixml faudio flatbuffers - ] ++ lib.optional sdl2Support SDL2 - ++ lib.optionals cubebSupport cubeb.passthru.backendLibs + libevdev zlib libusb1 curl wolfssl python3 pugixml flatbuffers llvm_16 libSM + ] ++ cubeb.passthru.backendLibs + ++ lib.optionals faudioSupport [ faudio SDL2 ] ++ lib.optional waylandSupport wayland; postInstall = '' |