aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-03-13 11:29:48 -0500
committerJack Nagel2014-03-13 11:29:48 -0500
commitd9ecd9616609699123cc04927e2a3b8e36593a4f (patch)
tree96a3c248c65664bd991024eb4f37915069ddf0c2 /Library
parent2fa965d6dd96a4236c49e59370fd22d0f4232353 (diff)
downloadhomebrew-d9ecd9616609699123cc04927e2a3b8e36593a4f.tar.bz2
brew-unpack: use extend instead of reopening Formula
Diffstat (limited to 'Library')
-rwxr-xr-xLibrary/Contributions/cmd/brew-unpack.rb27
1 files changed, 12 insertions, 15 deletions
diff --git a/Library/Contributions/cmd/brew-unpack.rb b/Library/Contributions/cmd/brew-unpack.rb
index a86c8b7ff..3a1db2dcf 100755
--- a/Library/Contributions/cmd/brew-unpack.rb
+++ b/Library/Contributions/cmd/brew-unpack.rb
@@ -23,24 +23,19 @@ module ScriptDataReader
end
end
-# Need to tweak the Formula class slightly so that patching is option and `DATA`
-# patches work correctly.
-class Formula
- # Create a reference to the original Formula.patch method and then override
- # so that paching only happens if the user asks.
- alias do_patch patch
+module UnpackPatch
def patch
- if ARGV.flag? '--patch'
- begin
- old_verbose = $VERBOSE
- $VERBOSE = nil
- Formula.const_set 'DATA', ScriptDataReader.load(path)
- ensure
- $VERBOSE = old_verbose
- end
+ return unless ARGV.flag? "--patch"
- do_patch
+ begin
+ old_verbose = $VERBOSE
+ $VERBOSE = nil
+ Formula.const_set "DATA", ScriptDataReader.load(path)
+ ensure
+ $VERBOSE = old_verbose
end
+
+ super
end
end
@@ -74,6 +69,8 @@ module Homebrew extend self
raise "Cannot write to #{unpack_dir}" unless unpack_dir.writable_real?
formulae.each do |f|
+ f.extend(UnpackPatch)
+
# Create a nice name for the stage folder.
stage_dir = unpack_dir + [f.name, f.version].join('-')