From 804393efc466e72ea07b3e38b09d39a5a64d1b78 Mon Sep 17 00:00:00 2001 From: Shaun Jackman Date: Thu, 7 Dec 2017 08:44:20 -0800 Subject: Implement X11Requirement for Linux Move the XQuartz implementation to extend/os/mac/requirements. --- .../extend/os/mac/requirements/x11_requirement.rb | 42 ++++++++++++++++++++++ .../extend/os/requirements/x11_requirement.rb | 1 + 2 files changed, 43 insertions(+) create mode 100644 Library/Homebrew/extend/os/mac/requirements/x11_requirement.rb create mode 100644 Library/Homebrew/extend/os/requirements/x11_requirement.rb (limited to 'Library/Homebrew/extend') diff --git a/Library/Homebrew/extend/os/mac/requirements/x11_requirement.rb b/Library/Homebrew/extend/os/mac/requirements/x11_requirement.rb new file mode 100644 index 000000000..ae4f5b8ed --- /dev/null +++ b/Library/Homebrew/extend/os/mac/requirements/x11_requirement.rb @@ -0,0 +1,42 @@ +require "requirement" + +class XQuartzRequirement < Requirement + include Comparable + + fatal true + cask "xquartz" + download "https://xquartz.macosforge.org" + + env { ENV.x11 } + + def initialize(name = "x11", tags = []) + @name = name + # no-op on version specified as a tag argument + tags.shift if /(\d\.)+\d/ =~ tags.first + super(tags) + end + + def min_version + MacOS::XQuartz.minimum_version + end + + satisfy build_env: false do + next false unless MacOS::XQuartz.installed? + min_version <= MacOS::XQuartz.version + end + + def message + "XQuartz #{min_version} (or newer) is required to install this formula. #{super}" + end + + def <=>(other) + return unless other.is_a? X11Requirement + 0 + end + + def inspect + "#<#{self.class.name}: #{name.inspect} #{tags.inspect}>" + end +end + +X11Requirement = XQuartzRequirement diff --git a/Library/Homebrew/extend/os/requirements/x11_requirement.rb b/Library/Homebrew/extend/os/requirements/x11_requirement.rb new file mode 100644 index 000000000..664b6c7c0 --- /dev/null +++ b/Library/Homebrew/extend/os/requirements/x11_requirement.rb @@ -0,0 +1 @@ +require "extend/os/mac/requirements/x11_requirement" if OS.mac? -- cgit v1.2.3