snapshot: fix cross compilation (#437708)

Changed files
+11
pkgs
by-name
sn
snapshot
+11
pkgs/by-name/sn/snapshot/package.nix
···
ninja,
pkg-config,
rustc,
+
rustPlatform,
wrapGAppsHook4,
glib,
gst_all_1,
···
# Fix paths in glycin library
glycin-loaders.passthru.glycinPathsPatch
];
+
+
cargoVendorDir = "vendor";
nativeBuildInputs = [
cargo
···
ninja
pkg-config
rustc
+
rustPlatform.cargoSetupHook
wrapGAppsHook4
];
···
'.files."src/sandbox.rs" = $hash' \
vendor/glycin/.cargo-checksum.json \
| sponge vendor/glycin/.cargo-checksum.json
+
+
substituteInPlace src/meson.build --replace-fail \
+
"'src' / rust_target / meson.project_name()" \
+
"'src' / '${stdenv.hostPlatform.rust.cargoShortTarget}' / rust_target / meson.project_name()"
'';
preFixup = ''
···
--prefix XDG_DATA_DIRS : "${glycin-loaders}/share"
)
'';
+
+
# For https://gitlab.gnome.org/GNOME/snapshot/-/blob/34236a6dded23b66fdc4e4ed613e5b09eec3872c/src/meson.build#L57
+
env.CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec;
passthru.updateScript = gnome.updateScript {
packageName = "snapshot";