{ alsa-lib , fetchFromGitHub , makeWrapper , openssl , pkg-config , python3 , rustPlatform , lib , wayland , xorg , vulkan-loader , jre_minimal , cairo , gtk3 , wrapGAppsHook , gsettings-desktop-schemas , glib }: rustPlatform.buildRustPackage rec { pname = "ruffle"; version = "nightly-2022-09-26"; src = fetchFromGitHub { owner = "ruffle-rs"; repo = pname; rev = version; sha256 = "sha256-o0geKXODFRPKN4JgW+Sg16uPhBS5rrlMCmFSc9AcNPQ="; }; nativeBuildInputs = [ glib gsettings-desktop-schemas jre_minimal makeWrapper pkg-config python3 wrapGAppsHook ]; buildInputs = [ alsa-lib cairo gtk3 openssl wayland xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi xorg.libxcb xorg.libXrender vulkan-loader ]; dontWrapGApps = true; postFixup = '' # This name is too generic mv $out/bin/exporter $out/bin/ruffle_exporter vulkanWrapperArgs+=( --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib ) wrapProgram $out/bin/ruffle_exporter \ "''${vulkanWrapperArgs[@]}" wrapProgram $out/bin/ruffle_desktop \ "''${vulkanWrapperArgs[@]}" \ "''${gappsWrapperArgs[@]}" ''; cargoSha256 = "sha256-erqBuU66k7SGG9ueyYEINjeXbyC7A2I/r1bBqdsJemY="; meta = with lib; { description = "An Adobe Flash Player emulator written in the Rust programming language."; homepage = "https://ruffle.rs/"; license = with licenses; [ mit asl20 ]; maintainers = with maintainers; [ govanify ]; platforms = platforms.linux; }; }