Merge pull request #3270 from sjackman/os-requirement
Add depends_on :linux and :macos
This commit is contained in:
commit
c7d21dadfe
@ -17,3 +17,4 @@ PythonDependency = PythonRequirement
|
|||||||
TuntapDependency = TuntapRequirement
|
TuntapDependency = TuntapRequirement
|
||||||
X11Dependency = X11Requirement
|
X11Dependency = X11Requirement
|
||||||
ConflictsWithBinaryOsxfuse = NonBinaryOsxfuseRequirement
|
ConflictsWithBinaryOsxfuse = NonBinaryOsxfuseRequirement
|
||||||
|
MinimumMacOSRequirement = MacOSRequirement
|
||||||
|
|||||||
@ -105,7 +105,8 @@ class DependencyCollector
|
|||||||
case spec
|
case spec
|
||||||
when :x11 then X11Requirement.new(spec.to_s, tags)
|
when :x11 then X11Requirement.new(spec.to_s, tags)
|
||||||
when :xcode then XcodeRequirement.new(tags)
|
when :xcode then XcodeRequirement.new(tags)
|
||||||
when :macos then MinimumMacOSRequirement.new(tags)
|
when :linux then LinuxRequirement.new(tags)
|
||||||
|
when :macos then MacOSRequirement.new(tags)
|
||||||
when :mysql then MysqlRequirement.new(tags)
|
when :mysql then MysqlRequirement.new(tags)
|
||||||
when :postgresql then PostgresqlRequirement.new(tags)
|
when :postgresql then PostgresqlRequirement.new(tags)
|
||||||
when :gpg then GPG2Requirement.new(tags)
|
when :gpg then GPG2Requirement.new(tags)
|
||||||
|
|||||||
@ -2,7 +2,8 @@ require "requirement"
|
|||||||
require "requirements/fortran_requirement"
|
require "requirements/fortran_requirement"
|
||||||
require "requirements/gpg2_requirement"
|
require "requirements/gpg2_requirement"
|
||||||
require "requirements/language_module_requirement"
|
require "requirements/language_module_requirement"
|
||||||
require "requirements/minimum_macos_requirement"
|
require "requirements/linux_requirement"
|
||||||
|
require "requirements/macos_requirement"
|
||||||
require "requirements/maximum_macos_requirement"
|
require "requirements/maximum_macos_requirement"
|
||||||
require "requirements/mpi_requirement"
|
require "requirements/mpi_requirement"
|
||||||
require "requirements/osxfuse_requirement"
|
require "requirements/osxfuse_requirement"
|
||||||
|
|||||||
9
Library/Homebrew/requirements/linux_requirement.rb
Normal file
9
Library/Homebrew/requirements/linux_requirement.rb
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
class LinuxRequirement < Requirement
|
||||||
|
fatal true
|
||||||
|
|
||||||
|
satisfy(build_env: false) { OS.linux? }
|
||||||
|
|
||||||
|
def message
|
||||||
|
"Linux is required."
|
||||||
|
end
|
||||||
|
end
|
||||||
31
Library/Homebrew/requirements/macos_requirement.rb
Normal file
31
Library/Homebrew/requirements/macos_requirement.rb
Normal file
@ -0,0 +1,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
|
||||||
@ -1,20 +0,0 @@
|
|||||||
require "requirement"
|
|
||||||
|
|
||||||
class MinimumMacOSRequirement < Requirement
|
|
||||||
fatal true
|
|
||||||
|
|
||||||
def initialize(tags)
|
|
||||||
@version = MacOS::Version.from_symbol(tags.first)
|
|
||||||
super
|
|
||||||
end
|
|
||||||
|
|
||||||
satisfy(build_env: false) { MacOS.version >= @version }
|
|
||||||
|
|
||||||
def message
|
|
||||||
"macOS #{@version.pretty_name} or newer is required."
|
|
||||||
end
|
|
||||||
|
|
||||||
def display_s
|
|
||||||
"macOS >= #{@version}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
18
Library/Homebrew/test/os_requirement_spec.rb
Normal file
18
Library/Homebrew/test/os_requirement_spec.rb
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
require "requirements/linux_requirement"
|
||||||
|
require "requirements/macos_requirement"
|
||||||
|
|
||||||
|
describe LinuxRequirement do
|
||||||
|
describe "#satisfied?" do
|
||||||
|
it "returns true if OS is Linux" do
|
||||||
|
expect(subject.satisfied?).to eq(OS.linux?)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe MacOSRequirement do
|
||||||
|
describe "#satisfied?" do
|
||||||
|
it "returns true if OS is macOS" do
|
||||||
|
expect(subject.satisfied?).to eq(OS.mac?)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
x
Reference in New Issue
Block a user