aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorAdam Vandenberg2013-05-24 08:37:16 -0700
committerAdam Vandenberg2013-06-16 20:36:50 -0700
commit32f637d5900a11a3868745cdf70f35a20373457f (patch)
treea33a592d0d6420b6eae58569a86925c99587e6d9 /Library/Homebrew
parent45d3e436ee6f4bfcc7d5658a062feb64a184695a (diff)
downloadbrew-32f637d5900a11a3868745cdf70f35a20373457f.tar.bz2
Add minimum OS X version requirement
Closes Homebrew/homebrew#19998. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Homebrew')
-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