From 3be67f72523b55486cad2bd2fa0f6c79b23c82a4 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Thu, 9 May 2013 23:53:26 -0500 Subject: Reorganize compat --- Library/Homebrew/compat/compatibility.rb | 167 ----------------------------- Library/Homebrew/compat/env.rb | 13 +++ Library/Homebrew/compat/fails_with_llvm.rb | 17 +++ Library/Homebrew/compat/formula.rb | 29 +++++ Library/Homebrew/compat/hardware.rb | 29 +++++ Library/Homebrew/compat/hardware_compat.rb | 29 ----- Library/Homebrew/compat/macos.rb | 56 ++++++++++ Library/Homebrew/compat/md5.rb | 23 ++++ Library/Homebrew/compat/version.rb | 6 ++ 9 files changed, 173 insertions(+), 196 deletions(-) delete mode 100644 Library/Homebrew/compat/compatibility.rb create mode 100644 Library/Homebrew/compat/env.rb create mode 100644 Library/Homebrew/compat/fails_with_llvm.rb create mode 100644 Library/Homebrew/compat/formula.rb create mode 100644 Library/Homebrew/compat/hardware.rb delete mode 100644 Library/Homebrew/compat/hardware_compat.rb create mode 100644 Library/Homebrew/compat/macos.rb create mode 100644 Library/Homebrew/compat/md5.rb create mode 100644 Library/Homebrew/compat/version.rb (limited to 'Library/Homebrew/compat') 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.rb b/Library/Homebrew/compat/hardware.rb new file mode 100644 index 000000000..550c10118 --- /dev/null +++ b/Library/Homebrew/compat/hardware.rb @@ -0,0 +1,29 @@ +class Hardware + class << self + def is_32_bit? + not CPU.is_64_bit? + end + + def is_64_bit? + CPU.is_64_bit? + end + + def bits + Hardware::CPU.bits + end + + def cpu_type + Hardware::CPU.type + end + + def cpu_family + Hardware::CPU.family + end + alias_method :intel_family, :cpu_family + alias_method :ppc_family, :cpu_family + + def processor_count + Hardware::CPU.cores + end + end +end diff --git a/Library/Homebrew/compat/hardware_compat.rb b/Library/Homebrew/compat/hardware_compat.rb deleted file mode 100644 index 550c10118..000000000 --- a/Library/Homebrew/compat/hardware_compat.rb +++ /dev/null @@ -1,29 +0,0 @@ -class Hardware - class << self - def is_32_bit? - not CPU.is_64_bit? - end - - def is_64_bit? - CPU.is_64_bit? - end - - def bits - Hardware::CPU.bits - end - - def cpu_type - Hardware::CPU.type - end - - def cpu_family - Hardware::CPU.family - end - alias_method :intel_family, :cpu_family - alias_method :ppc_family, :cpu_family - - def processor_count - Hardware::CPU.cores - end - end -end 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 -- cgit v1.2.3