diff options
| author | Mike McQuaid | 2017-06-23 17:34:34 +0100 |
|---|---|---|
| committer | GitHub | 2017-06-23 17:34:34 +0100 |
| commit | f4f1f1a6108970bf646aad82305978262c671ee2 (patch) | |
| tree | b050ee0c148585e11c7b485e924ef714536ae855 /Library | |
| parent | 8a5f12076bec42c0305c1121b82d81c455ab1501 (diff) | |
| parent | 301a6dc1d9d0f91038a3b2bf7f727a5012f6079a (diff) | |
| download | brew-f4f1f1a6108970bf646aad82305978262c671ee2.tar.bz2 | |
Merge pull request #2815 from ilovezfs/runtime-requirements
formula_installer: make unsatisifed recursive build reqs non-fatal for bottles
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formula_installer.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index 2a5120342..a365c967a 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -409,12 +409,21 @@ class FormulaInstaller install_bottle_for?(dependent, build) end + def runtime_requirements(formula) + runtime_deps = formula.runtime_dependencies.map(&:to_formula) + recursive_requirements = formula.recursive_requirements do |dependent, _| + Requirement.prune unless runtime_deps.include?(dependent) + end + (recursive_requirements.to_a + formula.requirements.to_a).reject(&:build?).uniq + end + def expand_requirements unsatisfied_reqs = Hash.new { |h, k| h[k] = [] } deps = [] formulae = [formula] while f = formulae.pop + runtime_requirements = runtime_requirements(f) f.recursive_requirements do |dependent, req| build = effective_build_options_for(dependent) @@ -429,6 +438,8 @@ class FormulaInstaller Requirement.prune elsif req.satisfied? Requirement.prune + elsif !runtime_requirements.include?(req) && install_bottle_for?(dependent, build) + Requirement.prune else unsatisfied_reqs[dependent] << req end |
