diff options
| author | Max Howell | 2010-02-27 17:29:23 +0000 |
|---|---|---|
| committer | Adam Vandenberg | 2010-04-06 08:22:27 -0700 |
| commit | dc30e941e782f551f9710df7d9088f08523dfc51 (patch) | |
| tree | b8f3556ec59070717ce8a22fb17c918229d5bb29 /Library | |
| parent | bf6c7268b435a8afbb14018d162205079cc3ac9f (diff) | |
| download | brew-dc30e941e782f551f9710df7d9088f08523dfc51.tar.bz2 | |
`brew doctor`
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/brew.h.rb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index 78f84119f..8ac1162c8 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -1,5 +1,6 @@ FORMULA_META_FILES = %w[README README.md ChangeLog COPYING LICENSE LICENCE COPYRIGHT AUTHORS] PLEASE_REPORT_BUG = "#{Tty.white}Please report this bug at #{Tty.em}http://github.com/mxcl/homebrew/issues#{Tty.reset}" +HOMEBREW_RECOMMENDED_GCC = 5577 def check_for_blacklisted_formula names return if ARGV.force? @@ -24,6 +25,55 @@ Mercurial can be install thusly: end end +def brew_doctor + read, write = IO.pipe + + if fork == nil + read.close + $stdout.reopen write + + bad_dylibs = Dir['/usr/local/lib/*.dylib'].select { |f| File.file? f and not File.symlink? f } + if bad_dylibs.count > 0 + puts "You have unbrewed dylibs in /usr/local/lib. These could cause build problems" + puts "when building Homebrew formula. If you no longer need them, delete them:" + puts + puts *bad_dylibs.collect { |f| " #{f}" } + puts + end + + if gcc_build < HOMEBREW_RECOMMENDED_GCC + puts "Your GCC version is older than the recommended version. It may be advisable" + puts "to upgrade to the latest release of Xcode." + puts + end + + if macports_or_fink_installed? + puts "You have Macports or Fink installed. This can cause trouble." + puts "You don't have to uninstall them, but you may like to try temporarily" + puts "moving them away, eg." + puts + puts " sudo mv /opt/local ~/macports" + puts + end + + unless File.exists? '/usr/X11/lib/libpng.dylib' + puts "You don't have X11 installed as part of your Xcode installation." + puts "This isn't required for all formula. But it is expected by some." + end + + exit! 0 + else + write.close + + unless (out = read.read).chomp.empty? + puts out + else + puts "Your OS X is ripe for brewing. Any troubles you may be experiencing are" + puts "likely purely psychosomatic." + end + end +end + def __make url, name require 'formula' require 'digest' |
