diff options
| author | Xu Cheng | 2015-05-19 21:57:45 +0800 | 
|---|---|---|
| committer | Xu Cheng | 2015-05-20 16:29:15 +0800 | 
| commit | 8b5787122061d115b1360f5e462f619e93af9a93 (patch) | |
| tree | 9b0fa50e2485109151ade7f9064347816289ab8f | |
| parent | cacad69a8e6cd7d5fa747dfc9e081e51a987d9b4 (diff) | |
| download | brew-8b5787122061d115b1360f5e462f619e93af9a93.tar.bz2 | |
uses/deps: fix for recursive deps/reqs
Closes Homebrew/homebrew#39906.
Signed-off-by: Xu Cheng <xucheng@me.com>
| -rw-r--r-- | Library/Homebrew/cmd/deps.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/uses.rb | 8 | 
2 files changed, 8 insertions, 8 deletions
diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index cffeb4205..9cbdafe97 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -34,11 +34,11 @@ module Homebrew      ignores << "optional?" if ARGV.include? "--skip-optional"      if recursive -      deps = f.recursive_dependencies.reject do |dep| -        ignores.any? { |ignore| dep.send(ignore) } +      deps = f.recursive_dependencies do |dependent, dep| +        Dependency.prune if ignores.any? { |ignore| dep.send(ignore) } && !dependent.build.with?(dep)        end -      reqs = f.recursive_requirements.reject do |req| -        ignores.any? { |ignore| req.send(ignore) } +      reqs = f.recursive_requirements do |dependent, req| +        Requirement.prune if ignores.any? { |ignore| req.send(ignore) } && !dependent.build.with?(req)        end      else        deps = f.deps.reject do |dep| diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 8f4ead126..6d42f8e54 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -19,11 +19,11 @@ module Homebrew        used_formulae.all? do |ff|          begin            if recursive -            deps = f.recursive_dependencies.reject do |dep| -              ignores.any? { |ignore| dep.send(ignore) } +            deps = f.recursive_dependencies do |dependent, dep| +              Dependency.prune if ignores.any? { |ignore| dep.send(ignore) } && !dependent.build.with?(dep)              end -            reqs = f.recursive_requirements.reject do |req| -              ignores.any? { |ignore| req.send(ignore) } +            reqs = f.recursive_requirements do |dependent, req| +              Requirement.prune if ignores.any? { |ignore| req.send(ignore) } && !dependent.build.with?(req)              end              deps.any? { |dep| dep.to_formula.name == ff.name } ||                reqs.any? { |req| req.name == ff.name || req.class.default_formula == ff.name }  | 
