aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/compat
diff options
context:
space:
mode:
authorMax Howell2011-08-02 12:00:30 +0100
committerMax Howell2011-08-02 12:22:58 +0100
commiteb447c8f610f626870cd16917da19fe4a18f9c3d (patch)
tree5ee2667c5ccce356c5f02c738948d96bfd07f94c /Library/Homebrew/compat
parent0b1f677b82eb30eae9aa4d873eb3d8752cb584fe (diff)
downloadhomebrew-eb447c8f610f626870cd16917da19fe4a18f9c3d.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.rb3
-rw-r--r--Library/Homebrew/compat/compatibility.rb82
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