aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/cmd/info.rb17
-rw-r--r--Library/Homebrew/requirement.rb4
-rw-r--r--Library/Homebrew/requirements/java_requirement.rb15
-rw-r--r--Library/Homebrew/requirements/language_module_requirement.rb4
-rw-r--r--Library/Homebrew/requirements/maximum_macos_requirement.rb4
-rw-r--r--Library/Homebrew/requirements/minimum_macos_requirement.rb4
-rw-r--r--Library/Homebrew/requirements/perl_requirement.rb8
-rw-r--r--Library/Homebrew/requirements/ruby_requirement.rb8
8 files changed, 64 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb
index 09c832203..6f242039c 100644
--- a/Library/Homebrew/cmd/info.rb
+++ b/Library/Homebrew/cmd/info.rb
@@ -143,6 +143,15 @@ module Homebrew
end
end
+ unless f.requirements.to_a.empty?
+ ohai "Requirements"
+ %w[build required recommended optional].map do |type|
+ reqs = f.requirements.select(&:"#{type}?")
+ next if reqs.to_a.empty?
+ puts "#{type.capitalize}: #{decorate_requirements(reqs)}"
+ end
+ end
+
unless f.options.empty?
ohai "Options"
Homebrew.dump_options_for_formula f
@@ -158,4 +167,12 @@ module Homebrew
end
deps_status * ", "
end
+
+ def decorate_requirements(requirements)
+ req_status = requirements.collect do |req|
+ req_s = req.display_s
+ req.satisfied? ? pretty_installed(req_s) : pretty_uninstalled(req_s)
+ end
+ req_status.join(", ")
+ end
end
diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb
index 89487fec3..5bc4b9a2b 100644
--- a/Library/Homebrew/requirement.rb
+++ b/Library/Homebrew/requirement.rb
@@ -121,6 +121,10 @@ class Requirement
end
end
+ def display_s
+ name
+ end
+
private
def infer_name
diff --git a/Library/Homebrew/requirements/java_requirement.rb b/Library/Homebrew/requirements/java_requirement.rb
index c868e0f3f..33fc01229 100644
--- a/Library/Homebrew/requirements/java_requirement.rb
+++ b/Library/Homebrew/requirements/java_requirement.rb
@@ -42,4 +42,19 @@ class JavaRequirement < Requirement
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end
+
+ def display_s
+ if @version
+ if @version[-1] == "+"
+ op = ">="
+ version = @version[0, @version.length-1]
+ else
+ op = "="
+ version = @version
+ end
+ "#{name} #{op} #{version}"
+ else
+ name
+ end
+ end
end
diff --git a/Library/Homebrew/requirements/language_module_requirement.rb b/Library/Homebrew/requirements/language_module_requirement.rb
index 7091a690a..e20f48361 100644
--- a/Library/Homebrew/requirements/language_module_requirement.rb
+++ b/Library/Homebrew/requirements/language_module_requirement.rb
@@ -51,4 +51,8 @@ class LanguageModuleRequirement < Requirement
when :ruby then "gem install"
end
end
+
+ def display_s
+ "#{@module_name} (#{@language} module)"
+ end
end
diff --git a/Library/Homebrew/requirements/maximum_macos_requirement.rb b/Library/Homebrew/requirements/maximum_macos_requirement.rb
index ceaa5184b..6e798b478 100644
--- a/Library/Homebrew/requirements/maximum_macos_requirement.rb
+++ b/Library/Homebrew/requirements/maximum_macos_requirement.rb
@@ -16,4 +16,8 @@ class MaximumMacOSRequirement < Requirement
versions newer than #{@version.pretty_name} due to an upstream incompatibility.
EOS
end
+
+ def display_s
+ "macOS <= #{@version}"
+ end
end
diff --git a/Library/Homebrew/requirements/minimum_macos_requirement.rb b/Library/Homebrew/requirements/minimum_macos_requirement.rb
index 8f82001ea..2cb63f740 100644
--- a/Library/Homebrew/requirements/minimum_macos_requirement.rb
+++ b/Library/Homebrew/requirements/minimum_macos_requirement.rb
@@ -13,4 +13,8 @@ class MinimumMacOSRequirement < Requirement
def message
"macOS #{@version.pretty_name} or newer is required."
end
+
+ def display_s
+ "macOS >= #{@version}"
+ end
end
diff --git a/Library/Homebrew/requirements/perl_requirement.rb b/Library/Homebrew/requirements/perl_requirement.rb
index 007134191..06e36ac0d 100644
--- a/Library/Homebrew/requirements/perl_requirement.rb
+++ b/Library/Homebrew/requirements/perl_requirement.rb
@@ -25,4 +25,12 @@ class PerlRequirement < Requirement
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end
+
+ def display_s
+ if @version
+ "#{name} >= #{@version}"
+ else
+ name
+ end
+ end
end
diff --git a/Library/Homebrew/requirements/ruby_requirement.rb b/Library/Homebrew/requirements/ruby_requirement.rb
index 873f285bf..a890435a5 100644
--- a/Library/Homebrew/requirements/ruby_requirement.rb
+++ b/Library/Homebrew/requirements/ruby_requirement.rb
@@ -25,4 +25,12 @@ class RubyRequirement < Requirement
def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} version=#{@version.inspect}>"
end
+
+ def display_s
+ if @version
+ "#{name} >= #{@version}"
+ else
+ name
+ end
+ end
end