{ gcc11Stdenv, lib, 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 , pulseaudioSupport ? true, libpulseaudio , waylandSupport ? true, wayland , alsaSupport ? true, alsa-lib }: let # Keep these separate so the update script can regex them rpcs3GitVersion = "14358-a00f9e421"; rpcs3Version = "0.0.25-14358-a00f9e421"; rpcs3Revision = "a00f9e42115527aa9654870f194cf2c64329f2ef"; rpcs3Sha256 = "0avajihbs02nbfqs4kzgckl0v2z4z8h8fgcjs5m4zxvkgj5701nv"; ittapi = fetchFromGitHub { owner = "intel"; repo = "ittapi"; rev = "v3.18.12"; sha256 = "0c3g30rj1y8fbd2q4kwlpg1jdy02z4w5ryhj3yr9051pdnf4kndz"; }; in gcc11Stdenv.mkDerivation { pname = "rpcs3"; version = rpcs3Version; src = fetchFromGitHub { owner = "RPCS3"; repo = "rpcs3"; rev = rpcs3Revision; fetchSubmodules = true; sha256 = rpcs3Sha256; }; patches = [ ./0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch ]; passthru.updateScript = ./update.sh; preConfigure = '' cat > ./rpcs3/git-version.h <