{ 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-12-16"; src = fetchFromGitHub { owner = "ruffle-rs"; repo = pname; rev = version; sha256 = "sha256-VOaXn/dJB0AbuZ8owBbUYEPrL/H8DM73MhwhBjxq2Pg="; }; 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-h5qshincT48zYvbNLMXcvxw7Ovupnn9c93lpqY7oNtc="; 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; }; }