From af93b7d5847592effa67bde3d99fb68b18c91abe Mon Sep 17 00:00:00 2001 From: daimond113 Date: Sun, 9 Mar 2025 17:13:23 +0100 Subject: [PATCH] fix: correctly get aliases for bin linkers Fixes two issues with getting the aliases. The first was that direct dependency aliases weren't collected. The second is that these aliases would be handled in a case-insensitive matter which is incorrect. --- src/cli/install.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cli/install.rs b/src/cli/install.rs index 9d3be39..c7588a6 100644 --- a/src/cli/install.rs +++ b/src/cli/install.rs @@ -56,7 +56,13 @@ impl DownloadAndLinkHooks for InstallHooks { let aliases = graph .iter() .flat_map(|(_, node)| node.node.dependencies.iter()) - .filter_map(|(id, alias)| binary_packages.contains(id).then_some(alias)) + .filter_map(|(id, alias)| binary_packages.contains(id).then_some(alias.as_str())) + .chain( + graph + .iter() + .filter_map(|(_, node)| node.node.direct.as_ref()) + .map(|(alias, _, _)| alias.as_str()), + ) .collect::>(); let curr_exe: Arc = std::env::current_exe() @@ -69,7 +75,7 @@ impl DownloadAndLinkHooks for InstallHooks { .map(|alias| { let bin_exec_file = self .bin_folder - .join(alias.as_str()) + .join(alias) .with_extension(std::env::consts::EXE_EXTENSION); let curr_exe = curr_exe.clone();