diff options
Diffstat (limited to 'nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix')
-rw-r--r-- | nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix index 4a7fd114829a..dfe28cc334b5 100644 --- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix +++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix @@ -49,7 +49,9 @@ let filename = if lib.any (x: x == "lib" || x == "rlib") dep.crateType then "${dep.metadata}.rlib" - else "${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}"; + # 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}" ) |