diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index 8a19f78ae4..fe6484a025 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -80,12 +80,13 @@ module Homebrew return end - @only_installed_arg = args.installed? && - recursive && - !args.include_build? && - !args.include_test? && - !args.include_optional? && - !args.skip_recommended? + installed = args.installed? || ARGV.formulae.all?(&:opt_or_installed_prefix_keg) + + @use_runtime_dependencies = installed && recursive && + !args.include_build? && + !args.include_test? && + !args.include_optional? && + !args.skip_recommended? if args.remaining.empty? raise FormulaUnspecifiedError unless args.installed? @@ -137,7 +138,7 @@ module Homebrew def deps_for_formula(f, recursive = false) includes, ignores = argv_includes_ignores(ARGV) - deps = f.runtime_dependencies if @only_installed_arg + deps = f.runtime_dependencies if @use_runtime_dependencies if recursive deps ||= recursive_includes(Dependency, f, includes, ignores) diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index aeac273d3d..ef083c5055 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -58,15 +58,16 @@ module Homebrew ARGV.named.map { |name| OpenStruct.new name: name, full_name: name } end - only_installed_arg = args.installed? && - !args.include_build? && - !args.include_test? && - !args.include_optional? && - !args.skip_recommended? + use_runtime_dependents = args.installed? && + !args.include_build? && + !args.include_test? && + !args.include_optional? && + !args.skip_recommended? - uses = if only_installed_arg && !used_formulae_missing + uses = if use_runtime_dependents && !used_formulae_missing used_formulae.map(&:runtime_installed_formula_dependents) .reduce(&:&) + .select(&:any_version_installed?) else formulae = args.installed? ? Formula.installed : Formula recursive = args.recursive?