From a413388ed2389817b8a64a3fac3455cb57a9891b Mon Sep 17 00:00:00 2001 From: Todd Persen Date: Thu, 14 Nov 2013 15:25:56 -0500 Subject: Ensure build-time deps are installed when bottle installation fails Fixes #22245. Closes #24324. Signed-off-by: Jack Nagel --- Library/Homebrew/formula_installer.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'Library') diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 7a59338bf..156e1737f 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -32,6 +32,7 @@ class FormulaInstaller end def pour_bottle? install_bottle_options={:warn=>false} + return false if @pour_failed tab.used_options.empty? && options.empty? && \ install_bottle?(f, install_bottle_options) end @@ -131,12 +132,14 @@ class FormulaInstaller end rescue raise if ARGV.homebrew_developer? + @pour_failed = true opoo "Bottle installation failed: building from source." end build_bottle_preinstall if ARGV.build_bottle? unless @poured_bottle + install_dependencies if @pour_failed && !ignore_deps build clean end @@ -236,6 +239,8 @@ class FormulaInstaller end def install_dependencies + @effective_deps = nil if @pour_failed + if effective_deps.length > 1 oh1 "Installing dependencies for #{f}: #{Tty.green}#{effective_deps*", "}#{Tty.reset}" end -- cgit v1.2.3