From 453d6b714ecbb28a38bc5c26d85b60ae52eb0227 Mon Sep 17 00:00:00 2001 From: aleksana Date: Wed, 25 Jun 2025 01:18:58 +0800 Subject: [PATCH] rustPlatform.rustVendorSrc: init This is needed when compiling against rustLibSrc, for example when using wasm-pack. The upstream Cargo.lock may not include those dependencies. --- pkgs/development/compilers/rust/make-rust-platform.nix | 6 ++++++ pkgs/development/compilers/rust/rust-vendor-src.nix | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 pkgs/development/compilers/rust/rust-vendor-src.nix diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 29a7e5f95194..1f69bb92e213 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -51,6 +51,12 @@ inherit runCommand rustc; }; + # Useful when rebuilding std + # e.g. when building wasm with wasm-pack + rustVendorSrc = callPackage ./rust-vendor-src.nix { + inherit runCommand rustc; + }; + # Hooks inherit (callPackages ../../../build-support/rust/hooks { diff --git a/pkgs/development/compilers/rust/rust-vendor-src.nix b/pkgs/development/compilers/rust/rust-vendor-src.nix new file mode 100644 index 000000000000..18d9922e1c6c --- /dev/null +++ b/pkgs/development/compilers/rust/rust-vendor-src.nix @@ -0,0 +1,6 @@ +{ runCommand, rustc }: + +runCommand "rust-vendor-src" { } '' + tar --strip-components=1 -xzf ${rustc.src} + mv vendor $out +''