diff options
| author | Jack Nagel | 2013-05-09 23:53:26 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-05-10 23:27:28 -0500 |
| commit | 3be67f72523b55486cad2bd2fa0f6c79b23c82a4 (patch) | |
| tree | 7a8b3ea8b9cdfe3f735821a73438c713be31af8b /Library/Homebrew/compat | |
| parent | 290a93ea758488486e02ff063a28b57117501c07 (diff) | |
| download | brew-3be67f72523b55486cad2bd2fa0f6c79b23c82a4.tar.bz2 | |
Reorganize compat
Diffstat (limited to 'Library/Homebrew/compat')
| -rw-r--r-- | Library/Homebrew/compat/compatibility.rb | 167 | ||||
| -rw-r--r-- | Library/Homebrew/compat/env.rb | 13 | ||||
| -rw-r--r-- | Library/Homebrew/compat/fails_with_llvm.rb | 17 | ||||
| -rw-r--r-- | Library/Homebrew/compat/formula.rb | 29 | ||||
| -rw-r--r-- | Library/Homebrew/compat/hardware.rb (renamed from Library/Homebrew/compat/hardware_compat.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/compat/macos.rb | 56 | ||||
| -rw-r--r-- | Library/Homebrew/compat/md5.rb | 23 | ||||
| -rw-r--r-- | Library/Homebrew/compat/version.rb | 6 |
8 files changed, 144 insertions, 167 deletions
diff --git a/Library/Homebrew/compat/compatibility.rb b/Library/Homebrew/compat/compatibility.rb deleted file mode 100644 index e4de3c16c..000000000 --- a/Library/Homebrew/compat/compatibility.rb +++ /dev/null @@ -1,167 +0,0 @@ -def x11_installed? - MacOS::X11.installed? -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' - opoo 'Use Formula.canonical_name instead.' - - # 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 - opoo "Calling fails_with_llvm in the install method is deprecated" - puts "Use the fails_with DSL instead" - end - - def fails_with_llvm? - fails_with? :llvm - end - - def self.fails_with_llvm msg=nil, data={} - case msg when Hash then data = msg end - failure = CompilerFailure.new(:llvm) { build(data.delete(:build).to_i) } - @cc_failures ||= Set.new - @cc_failures << failure - end - - def std_cmake_parameters - "-DCMAKE_INSTALL_PREFIX='#{prefix}' -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev" - end - - class << self - def bottle_sha1 val=nil - val.nil? ? @bottle_sha1 : @bottle_sha1 = val - end - end - - def self.all - opoo "Formula.all is deprecated, use Formula.map instead" - map - end -end - -class UnidentifiedFormula < Formula -end - -module HomebrewEnvExtension extend self - def use_clang? - compiler == :clang - end - - def use_gcc? - compiler == :gcc - end - - def use_llvm? - compiler == :llvm - end -end - -# TODO eventually some of these should print deprecation warnings -module MacOS extend self - def xcode_folder - Xcode.folder - end - - def xcode_prefix - Xcode.prefix - end - - def xcode_installed? - Xcode.installed? - end - - def xcode_version - Xcode.version - end - - def clt_installed? - CLT.installed? - end - - def clt_version? - CLT.version - end - - def x11_installed? - X11.installed? - end - - def x11_prefix - X11.prefix - end - - def leopard? - 10.5 == MACOS_VERSION - end - - def snow_leopard? - 10.6 <= MACOS_VERSION # Actually Snow Leopard or newer - end - alias_method :snow_leopard_or_newer?, :snow_leopard? - - def lion? - 10.7 <= MACOS_VERSION # Actually Lion or newer - end - alias_method :lion_or_newer?, :lion? - - def mountain_lion? - 10.8 <= MACOS_VERSION # Actually Mountain Lion or newer - end - alias_method :mountain_lion_or_newer?, :mountain_lion? - - def macports_or_fink_installed? - not MacOS.macports_or_fink.empty? - end -end - - -class Version - def slice *args - opoo "Calling slice on versions is deprecated, use: to_s.slice" - to_s.slice(*args) - end -end - - -# MD5 support -class Formula - def self.md5(val) - @stable ||= SoftwareSpec.new - @stable.md5(val) - end -end - -class SoftwareSpec - def md5(val) - @checksum = Checksum.new(:md5, val) - end -end - -class Pathname - def md5 - require 'digest/md5' - opoo <<-EOS.undent - MD5 support is deprecated and will be removed in a future version. - Please switch this formula to #{Checksum::TYPES.map { |t| t.to_s.upcase } * ' or '}. - EOS - incremental_hash(Digest::MD5) - end -end diff --git a/Library/Homebrew/compat/env.rb b/Library/Homebrew/compat/env.rb new file mode 100644 index 000000000..73f9b0009 --- /dev/null +++ b/Library/Homebrew/compat/env.rb @@ -0,0 +1,13 @@ +module HomebrewEnvExtension + def use_clang? + compiler == :clang + end + + def use_gcc? + compiler == :gcc + end + + def use_llvm? + compiler == :llvm + end +end diff --git a/Library/Homebrew/compat/fails_with_llvm.rb b/Library/Homebrew/compat/fails_with_llvm.rb new file mode 100644 index 000000000..19338ceb5 --- /dev/null +++ b/Library/Homebrew/compat/fails_with_llvm.rb @@ -0,0 +1,17 @@ +class Formula + def fails_with_llvm msg=nil, data=nil + opoo "Calling fails_with_llvm in the install method is deprecated" + puts "Use the fails_with DSL instead" + end + + def fails_with_llvm? + fails_with? :llvm + end + + def self.fails_with_llvm msg=nil, data={} + case msg when Hash then data = msg end + failure = CompilerFailure.new(:llvm) { build(data.delete(:build).to_i) } + @cc_failures ||= Set.new + @cc_failures << failure + end +end diff --git a/Library/Homebrew/compat/formula.rb b/Library/Homebrew/compat/formula.rb new file mode 100644 index 000000000..509ff5d18 --- /dev/null +++ b/Library/Homebrew/compat/formula.rb @@ -0,0 +1,29 @@ +module FormulaCompat + def x11_installed? + MacOS::X11.installed? + end + + def snow_leopard_64? + MacOS.prefer_64_bit? + end +end + +class Formula + include FormulaCompat + extend FormulaCompat + + def std_cmake_parameters + "-DCMAKE_INSTALL_PREFIX='#{prefix}' -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -Wno-dev" + end + + def self.bottle_sha1(*) + end + + def self.all + opoo "Formula.all is deprecated, use Formula.map instead" + map + end +end + +class UnidentifiedFormula < Formula +end diff --git a/Library/Homebrew/compat/hardware_compat.rb b/Library/Homebrew/compat/hardware.rb index 550c10118..550c10118 100644 --- a/Library/Homebrew/compat/hardware_compat.rb +++ b/Library/Homebrew/compat/hardware.rb diff --git a/Library/Homebrew/compat/macos.rb b/Library/Homebrew/compat/macos.rb new file mode 100644 index 000000000..2b3cb9d81 --- /dev/null +++ b/Library/Homebrew/compat/macos.rb @@ -0,0 +1,56 @@ +module MacOS + def xcode_folder + Xcode.folder + end + + def xcode_prefix + Xcode.prefix + end + + def xcode_installed? + Xcode.installed? + end + + def xcode_version + Xcode.version + end + + def clt_installed? + CLT.installed? + end + + def clt_version? + CLT.version + end + + def x11_installed? + X11.installed? + end + + def x11_prefix + X11.prefix + end + + def leopard? + version == 10.5 + end + + def snow_leopard? + version >= 10.6 + end + alias_method :snow_leopard_or_newer?, :snow_leopard? + + def lion? + version >= 10.7 + end + alias_method :lion_or_newer?, :lion? + + def mountain_lion? + version >= 10.8 + end + alias_method :mountain_lion_or_newer?, :mountain_lion? + + def macports_or_fink_installed? + not MacOS.macports_or_fink.empty? + end +end diff --git a/Library/Homebrew/compat/md5.rb b/Library/Homebrew/compat/md5.rb new file mode 100644 index 000000000..d600bab6d --- /dev/null +++ b/Library/Homebrew/compat/md5.rb @@ -0,0 +1,23 @@ +class Formula + def self.md5(val) + @stable ||= SoftwareSpec.new + @stable.md5(val) + end +end + +class SoftwareSpec + def md5(val) + @checksum = Checksum.new(:md5, val) + end +end + +class Pathname + def md5 + require 'digest/md5' + opoo <<-EOS.undent + MD5 support is deprecated and will be removed in a future version. + Please switch this formula to #{Checksum::TYPES.map { |t| t.to_s.upcase } * ' or '}. + EOS + incremental_hash(Digest::MD5) + end +end diff --git a/Library/Homebrew/compat/version.rb b/Library/Homebrew/compat/version.rb new file mode 100644 index 000000000..027df9fc3 --- /dev/null +++ b/Library/Homebrew/compat/version.rb @@ -0,0 +1,6 @@ +class Version + def slice *args + opoo "Calling slice on versions is deprecated, use: to_s.slice" + to_s.slice(*args) + end +end |
