From aa51c2f1d329b0509c47f340dd9ae7a1c30f73d5 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 17 Jun 2014 14:09:51 +0100 Subject: [PATCH] formula_installer: bottle against Homebrew Python. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When Python is required or recommended then always bottle against the Homebrew provided Python rather than the system one. This will allow bottling of packages that have a hard dependency on Python bindings (which can’t be shared between system and Homebrew Pythons). Closes Homebrew/homebrew#27112. --- Library/Homebrew/formula_installer.rb | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index e96ac69e9f..657599636c 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -58,14 +58,6 @@ class FormulaInstaller return true if f.local_bottle_path return false unless f.bottle && f.pour_bottle? - f.requirements.each do |req| - next if req.optional? || req.pour_bottle? - if install_bottle_options[:warn] - ohai "Building source; bottle blocked by #{req} requirement" - end - return false - end - unless f.bottle.compatible_cellar? if install_bottle_options[:warn] opoo "Building source; cellar of #{f}'s bottle is #{f.bottle.cellar}" @@ -265,7 +257,8 @@ class FormulaInstaller Requirement.prune elsif req.build? && dependent != f && install_bottle_for_dep?(dependent, build) Requirement.prune - elsif req.satisfied? + elsif req.satisfied? && !(pour_bottle? || build_bottle?) \ + && !(!req.optional? && req.default_formula?) Requirement.prune elsif req.default_formula? dep = req.to_dependency