Merge pull request #3523 from MikeMcQuaid/x11-requirement-no-custom-minimum-version

x11_requirement: remove custom minimum version.
This commit is contained in:
Mike McQuaid 2017-12-03 14:37:27 +00:00 committed by GitHub
commit c37d4b85b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 30 additions and 25 deletions

View File

@ -51,6 +51,15 @@ module OS
end end
end end
def minimum_version
version = guess_system_version
return version unless version == "dunno"
# Update this a little later than latest_version to give people
# time to upgrade.
"2.7.11"
end
# https://xquartz.macosforge.org/trac/wiki # https://xquartz.macosforge.org/trac/wiki
# https://xquartz.macosforge.org/trac/wiki/Releases # https://xquartz.macosforge.org/trac/wiki/Releases
def latest_version def latest_version

View File

@ -2,7 +2,6 @@ require "requirement"
class X11Requirement < Requirement class X11Requirement < Requirement
include Comparable include Comparable
attr_reader :min_version
fatal true fatal true
cask "xquartz" cask "xquartz"
@ -12,36 +11,38 @@ class X11Requirement < Requirement
def initialize(name = "x11", tags = []) def initialize(name = "x11", tags = [])
@name = name @name = name
if /(\d\.)+\d/ =~ tags.first # no-op on version specified as a tag argument
@min_version = Version.create(tags.shift) tags.shift if /(\d\.)+\d/ =~ tags.first
@min_version_string = " #{@min_version}"
else
@min_version = Version.create("0.0.0")
@min_version_string = ""
end
super(tags) super(tags)
end end
def min_version
# TODO: remove in https://github.com/Homebrew/brew/pull/3483
return Version::NULL unless OS.mac?
MacOS::XQuartz.minimum_version
end
satisfy build_env: false do satisfy build_env: false do
MacOS::XQuartz.installed? && min_version <= Version.create(MacOS::XQuartz.version) # TODO: remove in https://github.com/Homebrew/brew/pull/3483
next false unless OS.mac?
next false unless MacOS::XQuartz.installed?
min_version <= MacOS::XQuartz.version
end end
def message def message
s = "XQuartz#{@min_version_string} is required to install this formula." s = "XQuartz #{min_version} (or newer) is required to install this formula."
s += super s += super
s s
end end
def <=>(other) def <=>(other)
return unless other.is_a? X11Requirement return unless other.is_a? X11Requirement
min_version <=> other.min_version 0
end
def eql?(other)
super && min_version == other.min_version
end end
def inspect def inspect
"#<#{self.class.name}: #{name.inspect} #{tags.inspect} min_version=#{min_version}>" "#<#{self.class.name}: #{name.inspect} #{tags.inspect}>"
end end
end end

View File

@ -49,9 +49,9 @@ describe DependencyCollector do
expect(find_requirement(X11Requirement).tags).to be_empty expect(find_requirement(X11Requirement).tags).to be_empty
end end
specify "x11 with minimum version" do specify "x11 with (ignored) minimum version" do
subject.add x11: "2.5.1" subject.add x11: "2.5.1"
expect(find_requirement(X11Requirement).min_version.to_s).to eq("2.5.1") expect(find_requirement(X11Requirement).min_version.to_s).to_not eq("2.5.1")
end end
specify "x11 with tag" do specify "x11 with tag" do
@ -59,10 +59,10 @@ describe DependencyCollector do
expect(find_requirement(X11Requirement)).to be_optional expect(find_requirement(X11Requirement)).to be_optional
end end
specify "x11 with minimum version and tag" do specify "x11 with (ignored) minimum version and tag" do
subject.add x11: ["2.5.1", :optional] subject.add x11: ["2.5.1", :optional]
dep = find_requirement(X11Requirement) dep = find_requirement(X11Requirement)
expect(dep.min_version.to_s).to eq("2.5.1") expect(dep.min_version.to_s).to_not eq("2.5.1")
expect(dep).to be_optional expect(dep).to be_optional
end end

View File

@ -19,11 +19,6 @@ describe X11Requirement do
other = described_class.new("foo") other = described_class.new("foo")
expect(subject).not_to eql(other) expect(subject).not_to eql(other)
end end
it "returns false if the minimum version differs" do
other = described_class.new(default_name, ["2.5"])
expect(subject).not_to eql(other)
end
end end
describe "#modify_build_environment" do describe "#modify_build_environment" do