aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/requirements/macos_requirement.rb
blob: c89144d2c215618634407ab275f51f6819dd12f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
require "requirement"

class MacOSRequirement < Requirement
  fatal true

  def initialize(tags = [])
    @version = MacOS::Version.from_symbol(tags.first) unless tags.empty?
    super
  end

  def minimum_version_specified?
    OS.mac? && @version
  end

  satisfy(build_env: false) do
    next MacOS.version >= @version if minimum_version_specified?
    next true if OS.mac?
    next true if @version
    false
  end

  def message
    return "macOS is required." unless minimum_version_specified?
    "macOS #{@version.pretty_name} or newer is required."
  end

  def display_s
    return "macOS is required" unless minimum_version_specified?
    "macOS >= #{@version}"
  end
end