From d18a0c4b3616e87f2941f2b3ee27ff392e17fad8 Mon Sep 17 00:00:00 2001 From: "JS (normalc/ea)" Date: Fri, 16 May 2025 16:39:59 -0400 Subject: [PATCH] ruffle: refactor to correct dependencies --- pkgs/by-name/ru/ruffle/package.nix | 76 ++++++++++++++---------------- 1 file changed, 36 insertions(+), 40 deletions(-) diff --git a/pkgs/by-name/ru/ruffle/package.nix b/pkgs/by-name/ru/ruffle/package.nix index 70276d790f80..69f03de5e5a0 100644 --- a/pkgs/by-name/ru/ruffle/package.nix +++ b/pkgs/by-name/ru/ruffle/package.nix @@ -1,16 +1,15 @@ { lib, - stdenvNoCC, + stdenv, rustPlatform, withRuffleTools ? false, fetchFromGitHub, jre_minimal, pkg-config, - wrapGAppsHook3, + autoPatchelfHook, alsa-lib, - gtk3, - openssl, wayland, + xorg, vulkan-loader, udev, libxkbcommon, @@ -49,19 +48,43 @@ rustPlatform.buildRustPackage (finalAttrs: { nativeBuildInputs = [ jre_minimal ] - ++ lib.optionals stdenvNoCC.hostPlatform.isLinux [ + ++ lib.optionals stdenv.hostPlatform.isLinux [ pkg-config - wrapGAppsHook3 + autoPatchelfHook ] - ++ lib.optionals stdenvNoCC.hostPlatform.isDarwin [ rustPlatform.bindgenHook ]; + ++ lib.optionals stdenv.hostPlatform.isDarwin [ rustPlatform.bindgenHook ]; - buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [ + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib - gtk3 - openssl - wayland - vulkan-loader udev + (lib.getLib stdenv.cc.cc) + ]; + + # Prevents ruffle from downloading openh264 at runtime for Linux + openh264-241 = + if stdenv.hostPlatform.isLinux then + openh264.overrideAttrs (_: rec { + version = "2.4.1"; + src = fetchFromGitHub { + owner = "cisco"; + repo = "openh264"; + tag = "v${version}"; + hash = "sha256-ai7lcGcQQqpsLGSwHkSs7YAoEfGCIbxdClO6JpGA+MI="; + }; + }) + else + null; + + runtimeDependencies = [ + wayland + xorg.libXcursor + xorg.libXrandr + xorg.libXi + xorg.libX11 + xorg.libxcb + libxkbcommon + vulkan-loader + finalAttrs.openh264-241 ]; postInstall = @@ -70,7 +93,7 @@ rustPlatform.buildRustPackage (finalAttrs: { install -Dm644 LICENSE.md -t $out/share/doc/ruffle install -Dm644 README.md -t $out/share/doc/ruffle '' - + lib.optionalString stdenvNoCC.hostPlatform.isLinux '' + + lib.optionalString stdenv.hostPlatform.isLinux '' install -Dm644 desktop/packages/linux/rs.ruffle.Ruffle.desktop \ -t $out/share/applications/ @@ -81,33 +104,6 @@ rustPlatform.buildRustPackage (finalAttrs: { -t $out/share/metainfo/ ''; - # Prevents ruffle from downloading openh264 at runtime for Linux - openh264-241 = - if stdenvNoCC.hostPlatform.isLinux then - openh264.overrideAttrs (_: rec { - version = "2.4.1"; - src = fetchFromGitHub { - owner = "cisco"; - repo = "openh264"; - tag = "v${version}"; - hash = "sha256-ai7lcGcQQqpsLGSwHkSs7YAoEfGCIbxdClO6JpGA+MI="; - }; - postPatch = null; - }) - else - null; - - preFixup = lib.optionalString stdenvNoCC.hostPlatform.isLinux '' - gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${ - lib.makeLibraryPath [ - libxkbcommon - finalAttrs.openh264-241 - vulkan-loader - wayland - ] - }) - ''; - passthru = { updateScript = lib.getExe (writeShellApplication { name = "ruffle-update";