{ lib , stdenv , fetchFromGitHub , cmake , pkg-config , git , qt6Packages , openal , glew , vulkan-headers , vulkan-loader , libpng , libSM , ffmpeg , libevdev , libusb1 , zlib , curl , wolfssl , python3 , pugixml , flatbuffers , llvm_16 , cubeb , enableDiscordRpc ? false , faudioSupport ? true , faudio , SDL2 , waylandSupport ? true , wayland }: let # Keep these separate so the update script can regex them rpcs3GitVersion = "15726-ebf48800e"; rpcs3Version = "0.0.29-15726-ebf48800e"; rpcs3Revision = "ebf48800e6bf2569fa0a59974ab2daaeb3a92f23"; rpcs3Hash = "sha256-HJQ+DCZy8lwMCfq0N9StKD8bP1hCBxGMAucbQ9esy/I="; inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland; in stdenv.mkDerivation { pname = "rpcs3"; version = rpcs3Version; src = fetchFromGitHub { owner = "RPCS3"; repo = "rpcs3"; rev = rpcs3Revision; fetchSubmodules = true; hash = rpcs3Hash; }; passthru.updateScript = ./update.sh; preConfigure = '' cat > ./rpcs3/git-version.h <