Unverified Commit a1950a3a authored by Liam Murphy's avatar Liam Murphy
Browse files

ruffle: build on darwin

parent 25361ae8
Loading
Loading
Loading
Loading
+47 −39
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
  pkg-config,
  python3,
  rustPlatform,
  stdenv,
  lib,
  wayland,
  xorg,
@@ -18,6 +19,7 @@
  gsettings-desktop-schemas,
  glib,
  libxkbcommon,
  darwin,
}:

let
@@ -34,17 +36,20 @@ rustPlatform.buildRustPackage {
    hash = "sha256-WfoYQku1NFhvWyqeSVKtsMMEyUA97YFD7cvdn4XYIPI=";
  };

  nativeBuildInputs = [
  nativeBuildInputs =
    [ jre_minimal ]
    ++ lib.optionals stdenv.isLinux [
      glib
      gsettings-desktop-schemas
    jre_minimal
      makeWrapper
      pkg-config
      python3
      wrapGAppsHook3
  ];
    ]
    ++ lib.optionals stdenv.isDarwin [ rustPlatform.bindgenHook ];

  buildInputs = [
  buildInputs =
    lib.optionals stdenv.isLinux [
      alsa-lib
      cairo
      gtk3
@@ -58,21 +63,24 @@ rustPlatform.buildRustPackage {
      xorg.libXrender
      vulkan-loader
      udev
  ];
    ]
    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];

  dontWrapGApps = true;

  preFixup = ''
  preFixup = lib.optionalString stdenv.isLinux ''
    patchelf $out/bin/ruffle_desktop \
      --add-needed libxkbcommon-x11.so \
      --add-needed libwayland-client.so \
      --add-rpath ${libxkbcommon}/lib:${wayland}/lib
  '';

  postFixup = ''
  postFixup =
    ''
      # This name is too generic
      mv $out/bin/exporter $out/bin/ruffle_exporter

    ''
    + lib.optionalString stdenv.isLinux ''
      vulkanWrapperArgs+=(
        --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
      )
@@ -109,7 +117,7 @@ rustPlatform.buildRustPackage {
      govanify
      jchw
    ];
    platforms = platforms.linux;
    platforms = platforms.linux ++ platforms.darwin;
    mainProgram = "ruffle_desktop";
  };
}