ruffle: build on darwin

This commit is contained in:
Liam Murphy
2024-05-23 13:55:19 +10:00
parent 25361ae824
commit a1950a3a32
+47 -39
View File
@@ -6,6 +6,7 @@
pkg-config,
python3,
rustPlatform,
stdenv,
lib,
wayland,
xorg,
@@ -18,6 +19,7 @@
gsettings-desktop-schemas,
glib,
libxkbcommon,
darwin,
}:
let
@@ -34,56 +36,62 @@ rustPlatform.buildRustPackage {
hash = "sha256-WfoYQku1NFhvWyqeSVKtsMMEyUA97YFD7cvdn4XYIPI=";
};
nativeBuildInputs = [
glib
gsettings-desktop-schemas
jre_minimal
makeWrapper
pkg-config
python3
wrapGAppsHook3
];
nativeBuildInputs =
[ jre_minimal ]
++ lib.optionals stdenv.isLinux [
glib
gsettings-desktop-schemas
makeWrapper
pkg-config
python3
wrapGAppsHook3
]
++ lib.optionals stdenv.isDarwin [ rustPlatform.bindgenHook ];
buildInputs = [
alsa-lib
cairo
gtk3
openssl
wayland
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libxcb
xorg.libXrender
vulkan-loader
udev
];
buildInputs =
lib.optionals stdenv.isLinux [
alsa-lib
cairo
gtk3
openssl
wayland
xorg.libX11
xorg.libXcursor
xorg.libXrandr
xorg.libXi
xorg.libxcb
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 = ''
# This name is too generic
mv $out/bin/exporter $out/bin/ruffle_exporter
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
)
vulkanWrapperArgs+=(
--prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
)
wrapProgram $out/bin/ruffle_exporter \
"''${vulkanWrapperArgs[@]}"
wrapProgram $out/bin/ruffle_exporter \
"''${vulkanWrapperArgs[@]}"
wrapProgram $out/bin/ruffle_desktop \
"''${vulkanWrapperArgs[@]}" \
"''${gappsWrapperArgs[@]}"
'';
wrapProgram $out/bin/ruffle_desktop \
"''${vulkanWrapperArgs[@]}" \
"''${gappsWrapperArgs[@]}"
'';
cargoBuildFlags = [ "--workspace" ];
@@ -109,7 +117,7 @@ rustPlatform.buildRustPackage {
govanify
jchw
];
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
mainProgram = "ruffle_desktop";
};
}