diff --git a/Library/Homebrew/blacklist.rb b/Library/Homebrew/blacklist.rb index 958c4154c630b5937716d3d06ba37b8fb1bd5ead..4f981fa8ba30e7e782cb0ce605ddce7e658a5135 100644 --- a/Library/Homebrew/blacklist.rb +++ b/Library/Homebrew/blacklist.rb @@ -40,10 +40,16 @@ def blacklisted? name EOS when /(lib)?lzma/ "lzma is now part of the xz formula." - when 'xcode' then <<-EOS.undent - Xcode can be installed via the App Store (on Lion or newer), or from: - https://developer.apple.com/downloads/ - EOS + when 'xcode' + if MacOS.version >= :lion + <<-EOS.undent + Xcode can be installed from the App Store. + EOS + else + <<-EOS.undent + Xcode can be installed from https://developer.apple.com/downloads/ + EOS + end when 'gtest', 'googletest', 'google-test' then <<-EOS.undent Installing gtest system-wide is not recommended; it should be vendored in your projects that use it. diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 059e6f28407a6c7fec952699ce354795d7f8ff23..47ad62027b6e9df834fe5b755fde4b08688f9db4 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -193,34 +193,68 @@ end def check_xcode_clt if MacOS::Xcode.installed? __check_xcode_up_to_date - elsif MacOS.version >= "10.7" + elsif MacOS.version >= :lion __check_clt_up_to_date else <<-EOS.undent - Xcode not installed - Most stuff needs Xcode to build: http://developer.apple.com/xcode/ + Xcode is not installed + Most formulae need Xcode to build. + It can be installed from https://developer.apple.com/downloads/ EOS end end def __check_xcode_up_to_date - if MacOS::Xcode.outdated? then <<-EOS.undent - Your Xcode (#{MacOS::Xcode.version}) is outdated - Please install Xcode #{MacOS::Xcode.latest_version}. + if MacOS::Xcode.outdated? + message = <<-EOS.undent + Your Xcode (#{MacOS::Xcode.version}) is outdated + Please update to Xcode #{MacOS::Xcode.latest_version}. EOS + if MacOS.version >= :lion + message += <<-EOS.undent + Xcode can be updated from the App Store. + EOS + else + message += <<-EOS.undent + Xcode can be updated from https://developer.apple.com/downloads/ + EOS + end + message end end def __check_clt_up_to_date - if not MacOS::CLT.installed? then <<-EOS.undent - No developer tools installed - You should install the Command Line Tools: - https://developer.apple.com/downloads/ + if not MacOS::CLT.installed? + message = <<-EOS.undent + No developer tools installed. + You should install the Command Line Tools. EOS - elsif MacOS::CLT.outdated? then <<-EOS.undent - A newer Command Line Tools release is available - You should install the latest version from: - https://developer.apple.com/downloads + if MacOS.version >= :mavericks + message += <<-EOS.undent + Run `xcode-select --install` to install them. + EOS + else + message += <<-EOS.undent + The standalone package can be obtained from + https://developer.apple.com/downloads/, + or it can be installed via Xcode's preferences. + EOS + end + message + elsif MacOS::CLT.outdated? + message = <<-EOS.undent + A newer Command Line Tools release is available EOS + if MacOS.version >= :mavericks + message += <<-EOS.undent + Update them from Software Update in the App Store. + EOS + else + message += <<-EOS.undent + The standalone package can be obtained from + https://developer.apple.com/downloads/, + or it can be installed via Xcode's preferences. + EOS + end end end diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb index b195af98e13e124411f936c18c9d1ff934353895..73e0860b7664e0a8067f96b754c36a7176c56b56 100644 --- a/Library/Homebrew/requirements.rb +++ b/Library/Homebrew/requirements.rb @@ -12,10 +12,20 @@ class XcodeDependency < Requirement satisfy(:build_env => false) { MacOS::Xcode.installed? } - def message; <<-EOS.undent - A full installation of Xcode.app is required to compile this software. - Installing just the Command Line Tools is not sufficient. + def message + message = <<-EOS.undent + A full installation of Xcode.app is required to compile this software. + Installing just the Command Line Tools is not sufficient. EOS + if MacOS.version >= :lion + message += <<-EOS.undent + Xcode can be installed from the App Store. + EOS + else + message += <<-EOS.undent + Xcode can be installed from https://developer.apple.com/downloads/ + EOS + end end end @@ -58,12 +68,21 @@ class CLTDependency < Requirement satisfy(:build_env => false) { MacOS::CLT.installed? } - def message; <<-EOS.undent - The Command Line Tools are required to compile this software. - The standalone package can be obtained from - https://developer.apple.com/downloads/, - or it can be installed via Xcode's preferences. + def message + message = <<-EOS.undent + The Command Line Tools are required to compile this software. EOS + if MacOS.version >= :mavericks + message += <<-EOS.undent + Run `xcode-select --install` to install them. + EOS + else + message += <<-EOS.undent + The standalone package can be obtained from + https://developer.apple.com/downloads/, + or it can be installed via Xcode's preferences. + EOS + end end end