diff options
| -rw-r--r-- | Library/Homebrew/dependency.rb | 12 | ||||
| -rw-r--r-- | Library/Homebrew/dependency_collector.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/testing_env.rb | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index f2da14a06..dd92cc4fc 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -131,3 +131,15 @@ class Dependency end end end + +class TapDependency < Dependency + def initialize(name, tags=[], env_proc=DEFAULT_ENV_PROC, option_name=name) + super(name, tags, env_proc, name.split("/").last) + end + + def installed? + super + rescue FormulaUnavailableError + false + end +end diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index 2b5cfc704..7982b841e 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -89,6 +89,8 @@ class DependencyCollector Dependency.new(spec, tags) elsif (tag = tags.first) && LANGUAGE_MODULES.include?(tag) LanguageModuleDependency.new(tag, spec) + elsif HOMEBREW_TAP_FORMULA_REGEX === spec + TapDependency.new(spec, tags) else Dependency.new(spec, tags) end diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index d77477bbc..fc5039491 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -27,6 +27,8 @@ HOMEBREW_WWW = 'http://example.com' HOMEBREW_CURL_ARGS = '-fsLA' HOMEBREW_VERSION = '0.9-test' +HOMEBREW_TAP_FORMULA_REGEX = %r{^(\w+)/(\w+)/([^/]+)$} + RUBY_BIN = Pathname.new(RbConfig::CONFIG['bindir']) RUBY_PATH = RUBY_BIN + RbConfig::CONFIG['ruby_install_name'] + RbConfig::CONFIG['EXEEXT'] |
