diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb
index 09c832203ccf47d24035542f81ca944c465452b1..6f242039ccfbbb4223ac19ccd0d04df36aa496ce 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 89487fec35f70397e58aacefbb5cd2909e9fa7fc..5bc4b9a2b78351380765f114caca45a0efcd35ee 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 c868e0f3f8f92fd9f19ea447c9787b45a1e41c3b..33fc01229991dbb07ff7a50c8e6019365fa9e6a6 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 7091a690a79206a881decc7cf78eef56531e1135..e20f48361990223ac6cb6ff552ce8b15a769dea3 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 ceaa5184bce0a1b0c4af45347741646c0069c0f0..6e798b478e650cb87523828420696adf6f87cad2 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 8f82001ea13f23123de6711277e2f57d96f737fc..2cb63f740a8f2aa19e516704e3628a626b5aa3a4 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 007134191d59cab5437706ceaa8f55a8c3ab5826..06e36ac0d6328c60b6c786c16bd64785baa49bc9 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 873f285bffdb59c0e7f7e24ef9e88ba997bf7a8d..a890435a58389414924c7c9b28704b4ce90124e4 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