From 5326eecb9d2fbe6ffe446dbaa7d8acda3fb341f9 Mon Sep 17 00:00:00 2001 From: Robin Kunde Date: Mon, 31 Oct 2016 00:42:10 -0400 Subject: [PATCH] Update macOS Xcode tool checks do use Version class for comparisons instead of strings --- Library/Homebrew/os/mac/xcode.rb | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 9f49162d5e..995784a5b3 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -27,15 +27,15 @@ module OS def prerelease? # TODO: bump to version >= "8.3" after Xcode 8.2 is stable. - version >= "8.2" + Version.create(version) >= Version.create("8.2") end def outdated? - version < latest_version + Version.create(version) < Version.create(latest_version) end def without_clt? - installed? && version >= "4.3" && !MacOS::CLT.installed? + installed? && Version.create(version) >= Version.create("4.3") && !MacOS::CLT.installed? end # Returns a Pathname object corresponding to Xcode.app's Developer @@ -56,7 +56,7 @@ module OS end def toolchain_path - Pathname.new("#{prefix}/Toolchains/XcodeDefault.xctoolchain") if installed? && version >= "4.3" + Pathname.new("#{prefix}/Toolchains/XcodeDefault.xctoolchain") if installed? && Version.create(version) >= Version.create("4.3") end # Ask Spotlight where Xcode is. If the user didn't install the @@ -71,7 +71,7 @@ module OS end def update_instructions - if MacOS.version >= "10.9" && !OS::Mac.prerelease? + if Version.create(MacOS.version) >= Version.create("10.9") && !OS::Mac.prerelease? <<-EOS.undent Xcode can be updated from the App Store. EOS @@ -145,15 +145,15 @@ module OS end def provides_gcc? - installed? && version < "4.3" + installed? && Version.create(version) < Version.create("4.3") end def provides_cvs? - installed? && version < "5.0" + installed? && Version.create(version) < Version.create("5.0") end def default_prefix? - if version < "4.3" + if Version.create(version) < Version.create("4.3") prefix.to_s.start_with? "/Developer" else prefix.to_s == "/Applications/Xcode.app/Contents/Developer" @@ -177,7 +177,7 @@ module OS end def update_instructions - if MacOS.version >= "10.9" + if Version.create(MacOS.version) >= Version.create("10.9") <<-EOS.undent Update them from Software Update in the App Store. EOS @@ -206,13 +206,13 @@ module OS end def outdated? - if MacOS.version >= :mavericks + if Version.create(MacOS.version) >= Version.create(:mavericks.to_s) version = Utils.popen_read("#{MAVERICKS_PKG_PATH}/usr/bin/clang --version") else version = Utils.popen_read("/usr/bin/clang --version") end version = version[/clang-(\d+\.\d+\.\d+(\.\d+)?)/, 1] || "0" - version < latest_version + Version.create(version) < Version.create(latest_version) end # Version string (a pretty long one) of the CLT package. @@ -228,7 +228,7 @@ module OS return MacOS::Xcode.version if MacOS::Xcode.installed? && MacOS::Xcode.version < "3.0" [MAVERICKS_PKG_ID, MAVERICKS_NEW_PKG_ID, STANDALONE_PKG_ID, FROM_XCODE_PKG_ID].find do |id| - if MacOS.version >= :mavericks + if Version.create(MacOS.version) >= Version.create(:mavericks.to_s) next unless File.exist?("#{MAVERICKS_PKG_PATH}/usr/bin/clang") end version = MacOS.pkgutil_info(id)[/version: (.+)$/, 1]