diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 0786d7c999..39fed18d92 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -925,6 +925,16 @@ def check_os_version end end + def check_xcode_license_approved + # If the user installs Xcode-only, they have to approve the + # license or no "xc*" tool will work. + <<-EOS.undent if `/usr/bin/xcrun clang 2>&1` =~ /license/ and not $?.success? + You have not agreed to the Xcode license. + Builds will fail! Agree to the license by opening Xcode.app or running: + xcodebuild -license + EOS + end + end # end class Checks module Homebrew extend self diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 85b502d1df..b018669581 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -37,8 +37,11 @@ module Homebrew extend self def check_xcode require 'cmd/doctor' - xcode = Checks.new.check_for_latest_xcode - opoo xcode unless xcode.nil? + checks = Checks.new + %w{check_for_latest_xcode check_xcode_license_approved}.each do |check| + out = checks.send(check) + opoo out unless out.nil? + end end def check_macports