aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula_installer.rb
diff options
context:
space:
mode:
authorMike McQuaid2017-07-30 16:56:24 +0100
committerMike McQuaid2017-07-30 16:56:24 +0100
commita83baba8b50e29e680b89588ca19347ac0133608 (patch)
tree4566834d29ee6d553cc9d5367f7e6592bc2ac7f3 /Library/Homebrew/formula_installer.rb
parentac2cbd2137006ebfe84d8584ccdcb5d78c1130d9 (diff)
downloadbrew-a83baba8b50e29e680b89588ca19347ac0133608.tar.bz2
formula_installer: use default_formula for bottles
This was the original, intended functionality before this was broken in fe117bf79b244c42b7e4049d353c3c003eae4880. Fixes https://github.com/Homebrew/homebrew-core/issues/13680.
Diffstat (limited to 'Library/Homebrew/formula_installer.rb')
-rw-r--r--Library/Homebrew/formula_installer.rb19
1 files changed, 10 insertions, 9 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index a0c091e7f..d1c2bd08d 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -402,14 +402,13 @@ class FormulaInstaller
raise UnsatisfiedRequirements, fatals
end
- def install_requirement_formula?(req, dependent, build)
- req_dependency = req.to_dependency
+ def install_requirement_formula?(req_dependency, req, install_bottle_for_dependent)
return false unless req_dependency
return true unless req.satisfied?
return false if req.run?
return true if build_bottle?
return true if req.satisfied_by_formula?
- install_bottle_for?(dependent, build)
+ install_bottle_for_dependent
end
def runtime_requirements(formula)
@@ -429,19 +428,21 @@ class FormulaInstaller
runtime_requirements = runtime_requirements(f)
f.recursive_requirements do |dependent, req|
build = effective_build_options_for(dependent)
+ install_bottle_for_dependent = install_bottle_for?(dependent, build)
+ use_default_formula = install_bottle_for_dependent || build_bottle?
+ req_dependency = req.to_dependency(use_default_formula: use_default_formula)
if (req.optional? || req.recommended?) && build.without?(req)
Requirement.prune
- elsif req.build? && install_bottle_for?(dependent, build)
+ elsif req.build? && install_bottle_for_dependent
Requirement.prune
- elsif install_requirement_formula?(req, dependent, build)
- dep = req.to_dependency
- deps.unshift(dep)
- formulae.unshift(dep.to_formula)
+ elsif install_requirement_formula?(req_dependency, req, install_bottle_for_dependent)
+ deps.unshift(req_dependency)
+ formulae.unshift(req_dependency.to_formula)
Requirement.prune
elsif req.satisfied?
Requirement.prune
- elsif !runtime_requirements.include?(req) && install_bottle_for?(dependent, build)
+ elsif !runtime_requirements.include?(req) && install_bottle_for_dependent
Requirement.prune
else
unsatisfied_reqs[dependent] << req