Make brew-leaves respect optional deps

This commit is contained in:
Jack Nagel 2013-11-16 14:10:23 -06:00
parent 6eef992741
commit 4366b7956f

View File

@ -4,11 +4,26 @@
require 'formula'
require 'set'
require 'tab'
installed = Formula.installed
deps_of_installed = Set.new
Formula.installed.each do |f|
deps_of_installed.merge f.deps.map(&:name)
end.each do |f|
installed.each do |f|
deps = []
f.deps.each do |dep|
if dep.optional? || dep.recommended?
tab = Tab.for_formula(f)
deps << dep.name if tab.with?(dep.name)
else
deps << dep.name
end
end
deps_of_installed.merge(deps)
end
installed.each do |f|
puts f.name unless deps_of_installed.include? f.name
end