aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/dependency_collector.rb1
-rw-r--r--Library/Homebrew/requirements.rb1
-rw-r--r--Library/Homebrew/requirements/macos_requirement.rb16
3 files changed, 18 insertions, 0 deletions
diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb
index 539cd2f73..91bcb85a3 100644
--- a/Library/Homebrew/dependency_collector.rb
+++ b/Library/Homebrew/dependency_collector.rb
@@ -87,6 +87,7 @@ class DependencyCollector
# so just return a standard formula dependency.
Dependency.new(spec.to_s, tags)
when :xcode then XcodeDependency.new(tags)
+ when :macos then MinimumMacOSRequirement.new(tags)
when :mysql then MysqlDependency.new(tags)
when :postgresql then PostgresqlDependency.new(tags)
when :tex then TeXDependency.new(tags)
diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb
index 0aafc0a8c..627fb1f9e 100644
--- a/Library/Homebrew/requirements.rb
+++ b/Library/Homebrew/requirements.rb
@@ -3,6 +3,7 @@ require 'requirements/language_module_dependency'
require 'requirements/x11_dependency'
require 'requirements/mpi_dependency'
require 'requirements/python_dependency'
+require 'requirements/macos_requirement'
class XcodeDependency < Requirement
fatal true
diff --git a/Library/Homebrew/requirements/macos_requirement.rb b/Library/Homebrew/requirements/macos_requirement.rb
new file mode 100644
index 000000000..c172189ee
--- /dev/null
+++ b/Library/Homebrew/requirements/macos_requirement.rb
@@ -0,0 +1,16 @@
+require 'requirement'
+
+class MinimumMacOSRequirement < Requirement
+ fatal true
+
+ def initialize(tags)
+ @version = MacOS::Version.from_symbol(tags.first)
+ super
+ end
+
+ satisfy { MacOS.version >= @version }
+
+ def message
+ "OS X #{@version.pretty_name} or newer is required."
+ end
+end