diff options
| author | Max Howell | 2011-08-02 12:00:30 +0100 |
|---|---|---|
| committer | Max Howell | 2011-08-02 12:22:58 +0100 |
| commit | b36dcc4ffde9a4f7419e9f876eac6ee77aaf3338 (patch) | |
| tree | 2445f9aa1fabf4ef975075ac8311798d4eb24a96 /Library/Homebrew/compat | |
| parent | 6726fe090f4c9c719f498a8002ae5f270e389a04 (diff) | |
| download | brew-b36dcc4ffde9a4f7419e9f876eac6ee77aaf3338.tar.bz2 | |
Improve compatibility for old formula
Allow compatibility to be disabled with --no-compat or HOMEBREW_NO_COMPAT environment variable.
Diffstat (limited to 'Library/Homebrew/compat')
| -rw-r--r-- | Library/Homebrew/compat/brewkit.rb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/compat/compatibility.rb | 82 |
2 files changed, 85 insertions, 0 deletions
diff --git a/Library/Homebrew/compat/brewkit.rb b/Library/Homebrew/compat/brewkit.rb new file mode 100644 index 000000000..59a0bf150 --- /dev/null +++ b/Library/Homebrew/compat/brewkit.rb @@ -0,0 +1,3 @@ +# here so that formula from the repo that are very old can still be installed + +require 'formula' diff --git a/Library/Homebrew/compat/compatibility.rb b/Library/Homebrew/compat/compatibility.rb new file mode 100644 index 000000000..ac94feff8 --- /dev/null +++ b/Library/Homebrew/compat/compatibility.rb @@ -0,0 +1,82 @@ +## Compatibility layer introduced in 0.8 (refactor) + +# maybe never used by anyone, but alas it must continue to exist +def versions_of(keg_name) + `/bin/ls #{HOMEBREW_CELLAR}/#{keg_name}`.collect { |version| version.strip }.reverse +end + +def dump_config + require 'cmd/--config' + Homebrew.__config +end + +def dump_build_env env + require 'cmd/--env' + Homebrew.dump_build_env env +end + +def default_cc + MacOS.default_cc +end + +def gcc_42_build + MacOS.gcc_42_build_version +end + +alias :gcc_build :gcc_42_build + +def gcc_40_build + MacOS.gcc_40_build_version +end + +def llvm_build + MacOS.llvm_build_version +end + +def x11_installed? + MacOS.x11_installed? +end + +def macports_or_fink_installed? + MacOS.macports_or_fink_installed? +end + +def outdated_brews + require 'cmd/outdated' + Homebrew.outdated_brews +end + +def search_brews text + require 'cmd/search' + Homebrew.search_brews text +end + +def snow_leopard_64? + MacOS.prefer_64_bit? +end + +class Formula + # in compatability because the naming is somewhat confusing + def self.resolve_alias name + opoo 'Formula.resolve_alias is deprecated and will eventually be removed' + + # Don't resolve paths or URLs + return name if name.include?("/") + + aka = HOMEBREW_REPOSITORY+"Library/Aliases"+name + if aka.file? + aka.realpath.basename('.rb').to_s + else + name + end + end + + # This used to be called in "def install", but should now be used + # up in the DSL section. + def fails_with_llvm msg=nil, data=nil + handle_llvm_failure FailsWithLLVM.new(msg, data) + end +end + +class UnidentifiedFormula < Formula +end |
