2009-10-15 12:36:09 +01:00
|
|
|
require 'extend/pathname'
|
|
|
|
require 'extend/ARGV'
|
2010-02-27 17:26:27 +00:00
|
|
|
require 'extend/string'
|
2009-09-04 15:28:18 +01:00
|
|
|
require 'utils'
|
2010-09-11 20:22:54 +01:00
|
|
|
require 'exceptions'
|
2009-09-04 15:28:18 +01:00
|
|
|
|
2009-10-15 12:36:09 +01:00
|
|
|
ARGV.extend(HomebrewArgvExtension)
|
|
|
|
|
2011-12-21 12:03:45 -08:00
|
|
|
HOMEBREW_VERSION = '0.8.1'
|
2010-04-06 08:29:33 -07:00
|
|
|
HOMEBREW_WWW = 'http://mxcl.github.com/homebrew/'
|
2009-10-15 12:36:09 +01:00
|
|
|
|
2012-03-07 12:51:02 +00:00
|
|
|
def cache
|
|
|
|
if ENV['HOMEBREW_CACHE']
|
|
|
|
Pathname.new(ENV['HOMEBREW_CACHE'])
|
|
|
|
else
|
|
|
|
root_library = Pathname.new("/Library/Caches/Homebrew")
|
|
|
|
if Process.uid == 0
|
|
|
|
root_library
|
|
|
|
else
|
|
|
|
home_library = Pathname.new("~/Library/Caches/Homebrew").expand_path
|
|
|
|
if not home_library.writable?
|
|
|
|
root_library
|
|
|
|
else
|
|
|
|
home_library
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2009-09-04 15:28:18 +01:00
|
|
|
end
|
|
|
|
|
2012-03-07 12:51:02 +00:00
|
|
|
HOMEBREW_CACHE = cache
|
|
|
|
undef cache
|
|
|
|
|
2011-06-08 11:13:50 -07:00
|
|
|
# Where brews installed via URL are cached
|
|
|
|
HOMEBREW_CACHE_FORMULA = HOMEBREW_CACHE+"Formula"
|
|
|
|
|
2011-06-21 18:46:28 +01:00
|
|
|
# Where bottles are cached
|
|
|
|
HOMEBREW_CACHE_BOTTLES = HOMEBREW_CACHE+"Bottles"
|
|
|
|
|
2009-11-07 18:09:48 +00:00
|
|
|
if not defined? HOMEBREW_BREW_FILE
|
2009-11-18 15:39:51 -08:00
|
|
|
HOMEBREW_BREW_FILE = ENV['HOMEBREW_BREW_FILE'] || `which brew`.chomp
|
2009-11-07 18:09:48 +00:00
|
|
|
end
|
|
|
|
|
2009-11-07 18:08:26 +00:00
|
|
|
HOMEBREW_PREFIX = Pathname.new(HOMEBREW_BREW_FILE).dirname.parent # Where we link under
|
|
|
|
HOMEBREW_REPOSITORY = Pathname.new(HOMEBREW_BREW_FILE).realpath.dirname.parent # Where .git is found
|
2009-10-27 13:27:36 -07:00
|
|
|
|
2010-06-29 13:53:57 -07:00
|
|
|
# Where we store built products; /usr/local/Cellar if it exists,
|
|
|
|
# otherwise a Cellar relative to the Repository.
|
2010-12-31 11:00:15 -08:00
|
|
|
HOMEBREW_CELLAR = if (HOMEBREW_PREFIX+"Cellar").exist?
|
|
|
|
HOMEBREW_PREFIX+"Cellar"
|
2009-10-27 13:27:36 -07:00
|
|
|
else
|
2010-12-31 11:00:15 -08:00
|
|
|
HOMEBREW_REPOSITORY+"Cellar"
|
2009-10-27 13:27:36 -07:00
|
|
|
end
|
2009-09-30 02:36:21 -04:00
|
|
|
|
2009-09-16 11:28:50 +01:00
|
|
|
MACOS_FULL_VERSION = `/usr/bin/sw_vers -productVersion`.chomp
|
|
|
|
MACOS_VERSION = /(10\.\d+)(\.\d+)?/.match(MACOS_FULL_VERSION).captures.first.to_f
|
|
|
|
|
|
|
|
HOMEBREW_USER_AGENT = "Homebrew #{HOMEBREW_VERSION} (Ruby #{RUBY_VERSION}-#{RUBY_PATCHLEVEL}; Mac OS X #{MACOS_FULL_VERSION})"
|
2009-11-05 21:37:51 +00:00
|
|
|
|
2011-12-07 19:12:35 -06:00
|
|
|
HOMEBREW_CURL_ARGS = '-qf#LA'
|
2009-11-05 21:37:51 +00:00
|
|
|
|
2010-09-07 13:23:43 -07:00
|
|
|
RECOMMENDED_LLVM = 2326
|
|
|
|
RECOMMENDED_GCC_40 = (MACOS_VERSION >= 10.6) ? 5494 : 5493
|
|
|
|
RECOMMENDED_GCC_42 = (MACOS_VERSION >= 10.6) ? 5664 : 5577
|
2010-09-11 20:22:54 +01:00
|
|
|
|
|
|
|
require 'fileutils'
|
|
|
|
module Homebrew extend self
|
|
|
|
include FileUtils
|
|
|
|
end
|
|
|
|
|
2011-12-11 21:59:30 -06:00
|
|
|
FORMULA_META_FILES = %w[README README.md ChangeLog CHANGES COPYING LICENSE LICENCE COPYRIGHT AUTHORS]
|
2011-08-31 11:07:27 +01:00
|
|
|
ISSUES_URL = "https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue"
|
2011-08-02 12:00:30 +01:00
|
|
|
|
|
|
|
unless ARGV.include? "--no-compat" or ENV['HOMEBREW_NO_COMPAT']
|
|
|
|
$:.unshift(File.expand_path("#{__FILE__}/../compat"))
|
|
|
|
require 'compatibility'
|
|
|
|
end
|