From aa5a5a526f4b847df2ad9d12dcd7569e526dff32 Mon Sep 17 00:00:00 2001 From: Jack Nagel <jacknagel@gmail.com> Date: Thu, 1 May 2014 18:36:46 -0500 Subject: [PATCH] Rename Xcode.folder to MacOS.active_developer_dir This reflects what Apple calls it in more recent versions of Xcode/OS X. --- Library/Homebrew/cmd/doctor.rb | 2 +- Library/Homebrew/os/mac.rb | 4 ++++ Library/Homebrew/os/mac/xcode.rb | 10 +--------- 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 3471bf1ee1..720cb4fe62 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 6ed35440d4..c2dd1a1f60 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 4c79e39659..284214b26c 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 5927193405..ae9b37d6bb 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. -- GitLab