aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula_installer.rb
diff options
context:
space:
mode:
authorMike McQuaid2014-08-11 15:32:19 +0100
committerMike McQuaid2014-08-11 15:33:35 +0100
commit4790d4cba9fccc3f7e2683ed905968890e3c63d1 (patch)
tree3ccd59d05cb0bd052feeec1c7582cc34ef8c21a1 /Library/Homebrew/formula_installer.rb
parent045a02aa74bf4924ae7d2d2108a2cb89d75a6897 (diff)
downloadbrew-4790d4cba9fccc3f7e2683ed905968890e3c63d1.tar.bz2
formula_installer: default_formula using build.
Use the build options instead of whether the requirement is optional to work out if it is needed. This handles the case of an optional requirement becoming needed because it's a dependency for another formula. Closes Homebrew/homebrew#31476.
Diffstat (limited to 'Library/Homebrew/formula_installer.rb')
-rw-r--r--Library/Homebrew/formula_installer.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index 9e26a78be..2b064107b 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -239,9 +239,9 @@ class FormulaInstaller
raise UnsatisfiedRequirements.new(f, fatals) unless fatals.empty?
end
- def install_requirement_default_formula?(req)
+ def install_requirement_default_formula?(req, build)
return false unless req.default_formula?
- return false if req.optional?
+ return false if build.without?(req)
return true unless req.satisfied?
pour_bottle? || build_bottle?
end
@@ -262,7 +262,7 @@ class FormulaInstaller
Requirement.prune
elsif req.build? && dependent != f && install_bottle_for_dep?(dependent, build)
Requirement.prune
- elsif install_requirement_default_formula?(req)
+ elsif install_requirement_default_formula?(req, build)
dep = req.to_dependency
deps.unshift(dep)
formulae.unshift(dep.to_formula)