From 8aad5230630c04c231c2d90406780deeb7a65109 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 5 Jun 2015 22:42:56 -0400 Subject: [PATCH] Formula_installer: only attempt relocation install once Check @@attempted for cctools so that we only attempt the relocation install once, skip cxxstdlib check in cctools to prevent otool execution prior to installation, skip fixing install names if relocation is not required --- Library/Homebrew/formula_installer.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 8377e25f6d..5855297eec 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -330,9 +330,11 @@ class FormulaInstaller def install_relocation_tools cctools = CctoolsRequirement.new - return if cctools.satisfied? + dependency = cctools.to_dependency + formula = dependency.to_formula + return if cctools.satisfied? || @@attempted.include?(formula) - install_dependency(cctools.to_dependency, inherited_options_for(cctools)) + install_dependency(dependency, inherited_options_for(cctools)) end class DependencyInstaller < FormulaInstaller @@ -407,7 +409,10 @@ class FormulaInstaller keg = Keg.new(formula.prefix) link(keg) - fix_install_names(keg) + + # this needs to be changed to a test against build_bottle? and + # formula.bottle.needs_relocation? + fix_install_names(keg) unless formula.name == 'cctools' if build_bottle? && formula.post_install_defined? ohai "Not running post_install as we're building a bottle"