diff options
| -rw-r--r-- | Library/Homebrew/cmd/doctor.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/os/mac.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/os/mac/xcode.rb | 10 | ||||
| -rwxr-xr-x | Library/brew.rb | 2 |
4 files changed, 7 insertions, 11 deletions
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 3471bf1ee..720cb4fe6 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -437,7 +437,7 @@ def check_xcode_prefix_exists end def check_xcode_select_path - if not MacOS::CLT.installed? and not File.file? "#{MacOS::Xcode.folder}/usr/bin/xcodebuild" + if not MacOS::CLT.installed? and not File.file? "#{MacOS.active_developer_dir}/usr/bin/xcodebuild" path = MacOS.app_with_bundle_id(MacOS::Xcode::V4_BUNDLE_ID, MacOS::Xcode::V3_BUNDLE_ID) path = '/Developer' if path.nil? or not path.directory? <<-EOS.undent diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index 6ed35440d..c2dd1a1f6 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -36,6 +36,10 @@ module OS end end + def active_developer_dir + @active_developer_dir ||= `xcode-select -print-path 2>/dev/null`.strip + end + def dev_tools_prefix dev_tools_path.parent.parent end diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 4c79e3965..284214b26 100644 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -7,14 +7,6 @@ module OS V3_BUNDLE_ID = "com.apple.Xcode" V4_BUNDLE_PATH = Pathname.new("/Applications/Xcode.app") - # Locate the "current Xcode folder" via xcode-select. See: - # man xcode-select - # TODO Should this be moved to OS::Mac? As of 10.9 this is referred to - # as the "developer directory", and be either a CLT or Xcode instance. - def folder - @folder ||= `xcode-select -print-path 2>/dev/null`.strip - end - def latest_version case MacOS.version when "10.4" then "2.5" @@ -43,7 +35,7 @@ module OS def prefix @prefix ||= begin - path = Pathname.new(folder) + path = Pathname.new(MacOS.active_developer_dir) if path != CLT::MAVERICKS_PKG_PATH and path.absolute? \ and File.executable? "#{path}/usr/bin/make" path diff --git a/Library/brew.rb b/Library/brew.rb index 592719340..ae9b37d6b 100755 --- a/Library/brew.rb +++ b/Library/brew.rb @@ -34,7 +34,7 @@ end # Check for bad xcode-select before anything else, because `doctor` and # many other things will hang # Note that this bug was fixed in 10.9 -if OS.mac? && MacOS.version < :mavericks && MacOS::Xcode.folder == "/" +if OS.mac? && MacOS.version < :mavericks && MacOS.active_developer_dir == "/" odie <<-EOS.undent Your xcode-select path is currently set to '/'. This causes the `xcrun` tool to hang, and can render Homebrew unusable. |
