diff options
| author | Adam Vandenberg | 2010-06-23 12:59:02 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-06-23 12:59:02 -0700 |
| commit | 9670e0ebcc54ea7fb4034663e12c8b169d6be650 (patch) | |
| tree | 2049f8710b5068f8c8bd9944aadf888af94abbf7 /Library/Homebrew | |
| parent | be4732ab4032adac5abc5f2b59f6a2526c6c2803 (diff) | |
| download | homebrew-9670e0ebcc54ea7fb4034663e12c8b169d6be650.tar.bz2 | |
Extract "brew_install".
This was supposed to go in with the "brew-upgrade" external command,
but must have been lost in the merge.
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/brew.h.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Library/Homebrew/brew.h.rb b/Library/Homebrew/brew.h.rb index c660b1886..3f30ca6e8 100644 --- a/Library/Homebrew/brew.h.rb +++ b/Library/Homebrew/brew.h.rb @@ -418,6 +418,51 @@ def search_brews text end end +def brew_install + require 'formula_installer' + require 'hardware' + + ############################################################ sanity checks + case Hardware.cpu_type when :ppc, :dunno + abort "Sorry, Homebrew does not support your computer's CPU architecture.\n"+ + "For PPC support, see: http://github.com/sceaga/homebrew/tree/powerpc" + end + + raise "Cannot write to #{HOMEBREW_CELLAR}" if HOMEBREW_CELLAR.exist? and not HOMEBREW_CELLAR.writable? + raise "Cannot write to #{HOMEBREW_PREFIX}" unless HOMEBREW_PREFIX.writable? + + ################################################################# warnings + begin + if MACOS_VERSION >= 10.6 + opoo "You should upgrade to Xcode 3.2.1" if llvm_build < RECOMMENDED_LLVM + else + opoo "You should upgrade to Xcode 3.1.4" if (gcc_40_build < RECOMMENDED_GCC_40) or (gcc_42_build < RECOMMENDED_GCC_42) + end + rescue + # the reason we don't abort is some formula don't require Xcode + # TODO allow formula to declare themselves as "not needing Xcode" + opoo "Xcode is not installed! Builds may fail!" + end + + if macports_or_fink_installed? + opoo "It appears you have Macports or Fink installed" + puts "Although, unlikely, this can break builds or cause obscure runtime issues." + puts "If you experience problems try uninstalling these tools." + end + + ################################################################# install! + installer = FormulaInstaller.new + installer.install_deps = !ARGV.include?('--ignore-dependencies') + + ARGV.formulae.each do |f| + if not f.installed? or ARGV.force? + installer.install f + else + puts "Formula already installed: #{f.prefix}" + end + end +end + ########################################################## class PrettyListing class PrettyListing def initialize path |
