aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2017-12-03 13:33:16 +0000
committerMike McQuaid2017-12-03 13:33:16 +0000
commit8b9ac2b2e030a70bd6ee99ac8b0c9b9f92fd621b (patch)
tree023397ab8671d77b1591522423831fb59e65b4c0
parent0d53831b902e2c9df5e6540822d1a8fd4672577d (diff)
downloadbrew-8b9ac2b2e030a70bd6ee99ac8b0c9b9f92fd621b.tar.bz2
x11_requirement: remove custom minimum version.
This isn't desired or needed. Ensure older code still works, though.
-rw-r--r--Library/Homebrew/os/mac/xquartz.rb9
-rw-r--r--Library/Homebrew/requirements/x11_requirement.rb33
-rw-r--r--Library/Homebrew/test/dependency_collector_spec.rb8
-rw-r--r--Library/Homebrew/test/x11_requirement_spec.rb5
4 files changed, 30 insertions, 25 deletions
diff --git a/Library/Homebrew/os/mac/xquartz.rb b/Library/Homebrew/os/mac/xquartz.rb
index efbb5b738..9148e178b 100644
--- a/Library/Homebrew/os/mac/xquartz.rb
+++ b/Library/Homebrew/os/mac/xquartz.rb
@@ -51,6 +51,15 @@ module OS
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/Releases
def latest_version
diff --git a/Library/Homebrew/requirements/x11_requirement.rb b/Library/Homebrew/requirements/x11_requirement.rb
index 03d0382c5..e0974107a 100644
--- a/Library/Homebrew/requirements/x11_requirement.rb
+++ b/Library/Homebrew/requirements/x11_requirement.rb
@@ -2,7 +2,6 @@ require "requirement"
class X11Requirement < Requirement
include Comparable
- attr_reader :min_version
fatal true
cask "xquartz"
@@ -12,36 +11,38 @@ class X11Requirement < Requirement
def initialize(name = "x11", tags = [])
@name = name
- if /(\d\.)+\d/ =~ tags.first
- @min_version = Version.create(tags.shift)
- @min_version_string = " #{@min_version}"
- else
- @min_version = Version.create("0.0.0")
- @min_version_string = ""
- end
+ # no-op on version specified as a tag argument
+ tags.shift if /(\d\.)+\d/ =~ tags.first
super(tags)
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
- 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
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
end
def <=>(other)
return unless other.is_a? X11Requirement
- min_version <=> other.min_version
- end
-
- def eql?(other)
- super && min_version == other.min_version
+ 0
end
def inspect
- "#<#{self.class.name}: #{name.inspect} #{tags.inspect} min_version=#{min_version}>"
+ "#<#{self.class.name}: #{name.inspect} #{tags.inspect}>"
end
end
diff --git a/Library/Homebrew/test/dependency_collector_spec.rb b/Library/Homebrew/test/dependency_collector_spec.rb
index 8feeac4a2..3905717ad 100644
--- a/Library/Homebrew/test/dependency_collector_spec.rb
+++ b/Library/Homebrew/test/dependency_collector_spec.rb
@@ -49,9 +49,9 @@ describe DependencyCollector do
expect(find_requirement(X11Requirement).tags).to be_empty
end
- specify "x11 with minimum version" do
+ specify "x11 with (ignored) minimum version" do
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
specify "x11 with tag" do
@@ -59,10 +59,10 @@ describe DependencyCollector do
expect(find_requirement(X11Requirement)).to be_optional
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]
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
end
diff --git a/Library/Homebrew/test/x11_requirement_spec.rb b/Library/Homebrew/test/x11_requirement_spec.rb
index bc02dc75a..ef50fdc76 100644
--- a/Library/Homebrew/test/x11_requirement_spec.rb
+++ b/Library/Homebrew/test/x11_requirement_spec.rb
@@ -19,11 +19,6 @@ describe X11Requirement do
other = described_class.new("foo")
expect(subject).not_to eql(other)
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
describe "#modify_build_environment" do