From 1bb5d4e031f6df6f47fc606ce500bf67b2d46aa2 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Fri, 1 Feb 2013 13:11:43 -0600 Subject: [PATCH] Add md5 support to compatibility, with deprecation warning --- Library/Homebrew/compat/compatibility.rb | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Library/Homebrew/compat/compatibility.rb b/Library/Homebrew/compat/compatibility.rb index 67f5408442..fbd6ad7378 100644 --- a/Library/Homebrew/compat/compatibility.rb +++ b/Library/Homebrew/compat/compatibility.rb @@ -247,3 +247,36 @@ class Version to_s.slice *args end end + + +# MD5 support +class Formula + def self.md5(val=nil) + unless val.nil? + @stable ||= SoftwareSpec.new + @stable.md5(val) + end + return @stable ? @stable.md5 : @md5 + end +end + +class SoftwareSpec + def md5(val=nil) + if val.nil? + @checksum if checksum.nil? or @checksum.hash_type == :md5 + else + 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 + @checksum = Checksum.new(:md5, val) + end + end +end + +class Pathname + def md5 + require 'digest/md5' + incremental_hash(Digest::MD5) + end +end