aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/extend/pathname.rb1
-rw-r--r--Library/Homebrew/install_renamed.rb14
2 files changed, 15 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb
index 8ecff6bf4..ca1d167c1 100644
--- a/Library/Homebrew/extend/pathname.rb
+++ b/Library/Homebrew/extend/pathname.rb
@@ -48,6 +48,7 @@ class Pathname
dst = dst.to_s
dst = yield(src, dst) if block_given?
+ return unless dst
mkpath
diff --git a/Library/Homebrew/install_renamed.rb b/Library/Homebrew/install_renamed.rb
index 42d0fee8f..02a6e9b10 100644
--- a/Library/Homebrew/install_renamed.rb
+++ b/Library/Homebrew/install_renamed.rb
@@ -2,6 +2,12 @@ module InstallRenamed
def install_p src, new_basename = nil
super do |src, dst|
dst += "/#{File.basename(src)}" if File.directory? dst
+
+ if File.directory? src
+ Pathname.new(dst).install Dir["#{src}/*"]
+ next
+ end
+
append_default_if_different(src, dst)
end
end
@@ -12,6 +18,14 @@ module InstallRenamed
end
end
+ def + path
+ super(path).extend(InstallRenamed)
+ end
+
+ def / path
+ super(path).extend(InstallRenamed)
+ end
+
private
def append_default_if_different src, dst