aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMax Howell2010-02-27 17:29:23 +0000
committerAdam Vandenberg2010-04-06 08:22:27 -0700
commitdc30e941e782f551f9710df7d9088f08523dfc51 (patch)
treeb8f3556ec59070717ce8a22fb17c918229d5bb29 /Library
parentbf6c7268b435a8afbb14018d162205079cc3ac9f (diff)
downloadbrew-dc30e941e782f551f9710df7d9088f08523dfc51.tar.bz2
`brew doctor`
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/brew.h.rb50
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'