Skip to content

Commit

Permalink
doctor: check for beta XQuartz releases
Browse files Browse the repository at this point in the history
Beta versions of XQuartz have address sanitization enabled, which
breaks some software at runtime, including wine.

Closes Homebrew/homebrew-core#2481.

Closes Homebrew#459.

Signed-off-by: Misty De Meo <mistydemeo@github.com>
  • Loading branch information
mistydemeo authored and souvik1997 committed Jul 25, 2016
1 parent a4cec51 commit 380e388
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
12 changes: 12 additions & 0 deletions Library/Homebrew/extend/os/mac/diagnostic.rb
Expand Up @@ -312,6 +312,18 @@ def check_for_latest_xquartz
https://xquartz.macosforge.org
EOS
end

def check_for_beta_xquartz
return unless MacOS::XQuartz.version.include? "beta"

<<-EOS.undent
The following beta release of XQuartz is installed: #{MacOS::XQuartz.version}
XQuartz beta releases include address sanitization, and do not work with
all software; notably, wine will not work with beta releases of XQuartz.
We recommend only installing stable releases of XQuartz.
EOS
end
end
end
end
5 changes: 5 additions & 0 deletions Library/Homebrew/test/test_diagnostic.rb
Expand Up @@ -226,4 +226,9 @@ def test_check_for_external_cmd_name_conflict
end
end
end

def test_check_for_beta_xquartz
MacOS::XQuartz.stubs(:version).returns("2.7.10_beta2")
assert_match "The following beta release of XQuartz is installed: 2.7.10_beta2", @checks.check_for_beta_xquartz
end
end

0 comments on commit 380e388

Please sign in to comment.