diff options
| author | Adam Vandenberg | 2010-06-23 12:59:02 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-06-23 12:59:02 -0700 |
| commit | cdb5b2e0d5ea018c406d036ff7b27f123dba74ae (patch) | |
| tree | a2e1809e3e0832e4aee17490ec217d00e011bdc6 /Library | |
| parent | 6fbf1259707a359111ddf2478dfe3a62535744e0 (diff) | |
| download | brew-cdb5b2e0d5ea018c406d036ff7b27f123dba74ae.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')
| -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 |
