aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-02-01 13:11:43 -0600
committerJack Nagel2013-02-01 13:24:36 -0600
commit1bb5d4e031f6df6f47fc606ce500bf67b2d46aa2 (patch)
tree1f395f25085ee02e6ea7e6f69e41e14081521d7a /Library
parentea03719a340d4e7ea365e0defa7c250059db4329 (diff)
downloadbrew-1bb5d4e031f6df6f47fc606ce500bf67b2d46aa2.tar.bz2
Add md5 support to compatibility, with deprecation warning
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/compat/compatibility.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/Library/Homebrew/compat/compatibility.rb b/Library/Homebrew/compat/compatibility.rb
index 67f540844..fbd6ad737 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