about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorIlan Joselevich <personal@ilanjoselevich.com>2024-06-20 17:04:57 +0300
committerGitHub <noreply@github.com>2024-06-20 17:04:57 +0300
commitc5d75bb7f649b41bb4a59ccef454351db79cbab4 (patch)
tree962ffdb38d07287711c978c14035e8d4408f3a37 /pkgs/build-support
parent0abe6cae0cb7f63c2e966b1a3784d3935b539986 (diff)
parentfb927d5019d1c5111efcad5008ba10f53481f1d5 (diff)
Merge pull request #317755 from thehabbos007/master
 BuildRustCrate: proc macros must be built for build's platform 
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 9ceda041b6653..dfe28cc334b5e 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -49,6 +49,8 @@ let
           filename =
             if lib.any (x: x == "lib" || x == "rlib") dep.crateType
             then "${dep.metadata}.rlib"
+            # Adjust lib filename for crates of type proc-macro. Proc macros are compiled/run on the build platform architecture.
+            else if (lib.attrByPath [ "procMacro" ] false dep) then "${dep.metadata}${stdenv.buildPlatform.extensions.library}"
             else "${dep.metadata}${stdenv.hostPlatform.extensions.library}";
         in
         " --extern ${opts}${name}=${dep.lib}/lib/lib${extern}-${filename}"