{ 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 = "16614-5b973448b"; rpcs3Version = "0.0.32-16614-5b973448b"; rpcs3Revision = "5b973448bf75a239f34fd9c7698c8a02b04e2ea9"; rpcs3Hash = "sha256-6rDHOK3KZkLaDcdG6dFlicWLFeuQUhCiRG1Y0grOvmA="; 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 <