diff --git a/src/cook/cook_build.rs b/src/cook/cook_build.rs index 24657a527..28e6b4908 100644 --- a/src/cook/cook_build.rs +++ b/src/cook/cook_build.rs @@ -377,7 +377,7 @@ fn build_auto_deps( recipe: &Recipe, target_dir: &Path, stage_dir: &PathBuf, - dep_pkgars: BTreeSet<(PackageName, PathBuf)>, + mut dep_pkgars: BTreeSet<(PackageName, PathBuf)>, logger: &PtyOut, ) -> Result, String> { let auto_deps_path = target_dir.join("auto_deps.toml"); @@ -393,6 +393,7 @@ fn build_auto_deps( wrapper.packages } else { let mut dynamic_deps = auto_deps_from_dynamic_linking(stage_dir, &dep_pkgars, logger); + dep_pkgars.retain(|x| recipe.build.dependencies.contains(&x.0)); let (package_deps, static_deps) = auto_deps_from_static_package_deps(&dep_pkgars, &dynamic_deps).unwrap_or_default(); dynamic_deps.extend(package_deps); diff --git a/src/cook/pty.rs b/src/cook/pty.rs index c2aed74cd..aec8869b0 100644 --- a/src/cook/pty.rs +++ b/src/cook/pty.rs @@ -20,9 +20,9 @@ macro_rules! log_to_pty { ($logger:expr, $($arg:tt)+) => { if $logger.is_some() { use std::io::Write; - let logfd = $logger.as_ref().unwrap().1.try_clone().unwrap(); + let mut logfd = $logger.as_ref().unwrap().1.try_clone().unwrap(); let _ = logfd.write(format!($($arg)+).as_bytes()); - let _ = logfd.write(b'\n'); + let _ = logfd.write(&[b'\n']); } else { eprintln!($($arg)+); }