diff options
| author | Mike McQuaid | 2017-07-30 16:56:24 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2017-07-30 16:56:24 +0100 |
| commit | a83baba8b50e29e680b89588ca19347ac0133608 (patch) | |
| tree | 4566834d29ee6d553cc9d5367f7e6592bc2ac7f3 /Library/Homebrew/formula_installer.rb | |
| parent | ac2cbd2137006ebfe84d8584ccdcb5d78c1130d9 (diff) | |
| download | brew-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.rb | 19 |
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 |
