aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/keg.rb
diff options
context:
space:
mode:
authorMike McQuaid2016-12-31 18:39:55 +0000
committerGitHub2016-12-31 18:39:55 +0000
commitad593cf42cfcd4bb795b457d6787cf89382017d8 (patch)
tree3341c3dea5617faae1e31131baea517a0f1e7d34 /Library/Homebrew/keg.rb
parent4b5489e1721c6cb3fd3b9a7aeb988eb3b381ec41 (diff)
parent524d9ce8f3b8553a62da7223a012b4e332bd02b3 (diff)
downloadbrew-ad593cf42cfcd4bb795b457d6787cf89382017d8.tar.bz2
Merge pull request #1757 from alyssais/moved_formula
keg: handle dependencies of moved/renamed formulae
Diffstat (limited to 'Library/Homebrew/keg.rb')
-rw-r--r--Library/Homebrew/keg.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb
index e64fd9b33..74fd88c2e 100644
--- a/Library/Homebrew/keg.rb
+++ b/Library/Homebrew/keg.rb
@@ -126,7 +126,18 @@ class Keg
end
keg_names = kegs.map(&:name)
- kegs_by_source = kegs.group_by { |k| [k.name, Tab.for_keg(k).tap] }
+ kegs_by_source = kegs.group_by do |keg|
+ begin
+ # First, attempt to resolve the keg to a formula
+ # to get up-to-date name and tap information.
+ f = keg.to_formula
+ [f.name, f.tap]
+ rescue FormulaUnavailableError
+ # If the formula for the keg can't be found,
+ # fall back to the information in the tab.
+ [keg.name, Tab.for_keg(keg).tap]
+ end
+ end
remaining_formulae.each do |dependent|
required = dependent.missing_dependencies(hide: keg_names)