diff --git a/Library/Homebrew/os/mac/xquartz.rb b/Library/Homebrew/os/mac/xquartz.rb index 221bf771994f24472463f680f29df7b4163470fe..108ac1e608dcee7ab1583d0bf6c425e856436d3f 100644 --- a/Library/Homebrew/os/mac/xquartz.rb +++ b/Library/Homebrew/os/mac/xquartz.rb @@ -14,9 +14,7 @@ module MacOS::XQuartz extend self elsif prefix.to_s == "/usr/X11" guess_system_version else - # Finally, try to find it via pkgutil. This is slow, and only works - # for the upstream XQuartz package, so use it as a last resort. - MacOS.pkgutil_info(FORGE_PKG_ID)[/version: (\d\.\d\.\d).+$/, 1] + version_from_pkgutil end end end @@ -45,6 +43,14 @@ module MacOS::XQuartz extend self end end + # Upstream XQuartz *does* have a pkg-info entry, so if we can't get it + # from mdls, we can try pkgutil. This is very slow. + # NOTE: this sacrifices correctness, as it returns an internal version + # that may not always match the "user-facing" version string. + def version_from_pkgutil + MacOS.pkgutil_info(FORGE_PKG_ID)[/version: (\d\.\d\.\d).+$/, 1] + end + def provided_by_apple? [FORGE_BUNDLE_ID, APPLE_BUNDLE_ID].find do |id| MacOS.app_with_bundle_id(id)