From 227ac4d95ab24e20b05d44a31ff424b4f57009ba Mon Sep 17 00:00:00 2001 From: Sam Pointon Date: Tue, 26 Aug 2025 19:46:43 +0100 Subject: [PATCH] buildRustCrate: fix wasm bins with hyphenated names These are currently broken because buildRustCrate will try to mv from an underscored name to a hyphenated name, but will only try to move an unsuffixed name; rustc generates wasm binaries with a .wasm suffix. --- pkgs/build-support/rust/build-rust-crate/lib.sh | 6 +++++- .../rust/build-rust-crate/test/default.nix | 13 +++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/rust/build-rust-crate/lib.sh b/pkgs/build-support/rust/build-rust-crate/lib.sh index 36ddc9ac23c4..8082c3e92dc0 100644 --- a/pkgs/build-support/rust/build-rust-crate/lib.sh +++ b/pkgs/build-support/rust/build-rust-crate/lib.sh @@ -60,7 +60,11 @@ build_bin() { --color ${colors} \ if [ "$crate_name_" != "$crate_name" ]; then - mv target/bin/$crate_name_ target/bin/$crate_name + if [ -f "target/bin/$crate_name_.wasm" ]; then + mv target/bin/$crate_name_.wasm target/bin/$crate_name.wasm + else + mv target/bin/$crate_name_ target/bin/$crate_name + fi fi } diff --git a/pkgs/build-support/rust/build-rust-crate/test/default.nix b/pkgs/build-support/rust/build-rust-crate/test/default.nix index b0551c314638..e2e89d1fa338 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/default.nix @@ -838,6 +838,19 @@ rec { ]; }; + crateWasm32BinHyphens = assertOutputs { + name = "wasm32-crate-bin-hyphens"; + mkCrate = mkCrate pkgsCross.wasm32-unknown-none.buildRustCrate; + crateArgs = { + crateName = "wasm32-crate-bin-hyphens"; + crateBin = [ { name = "wasm32-crate-bin-hyphens"; } ]; + src = mkBin "src/main.rs"; + }; + expectedFiles = [ + "./bin/wasm32-crate-bin-hyphens.wasm" + ]; + }; + brotliTest = let pkg = brotliCrates.brotli_2_5_0 { };