diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 8f783aea1a..f37c550c88 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -27,9 +27,11 @@ module HomebrewArgvExtension @resolved_formulae ||= (downcased_unique_named - casks).map do |name| if name.include?("/") f = Formulary.factory(name, spec) - if spec(default=nil).nil? && f.any_version_installed? - installed_spec = Tab.for_formula(f).spec - f.set_active_spec(installed_spec) if f.send(installed_spec) + if f.any_version_installed? + tab = Tab.for_formula(f) + resolved_spec = spec(default=nil) || tab.spec + f.set_active_spec(resolved_spec) if f.send(resolved_spec) + f.build = tab end f else diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 38f71c85a5..c53262db93 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -227,7 +227,7 @@ class Formulary tap = tab.tap spec ||= tab.spec - if tap.nil? + f = if tap.nil? factory(rack.basename.to_s, spec) else begin @@ -237,6 +237,8 @@ class Formulary factory(rack.basename.to_s, spec) end end + f.build = tab + f end # Return a Formula instance directly from contents