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