summaryrefslogtreecommitdiff
path: root/lib/bundler/source/rubygems.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/source/rubygems.rb')
-rw-r--r--lib/bundler/source/rubygems.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/bundler/source/rubygems.rb b/lib/bundler/source/rubygems.rb
index ce40cbc6c3..5179680ce0 100644
--- a/lib/bundler/source/rubygems.rb
+++ b/lib/bundler/source/rubygems.rb
@@ -100,9 +100,13 @@ module Bundler
# SUDO HAX
if Bundler.requires_sudo?
Bundler.rubygems.repository_subdirectories.each do |name|
- src = "#{install_path}/#{name}/*"
- dst = "#{Bundler.rubygems.gem_dir}/#{name}/"
- Bundler.mkdir_p dist
+ src = File.join(install_path, name, "*")
+ dst = File.join(Bundler.rubygems.gem_dir, name)
+ if name == "extensions"
+ src = File.join(src, "*/*")
+ dst = File.dirname(File.join(dst, Dir.glob(src).first.gsub(src[0..-6], '')))
+ end
+ Bundler.mkdir_p dst
Bundler.sudo "cp -R #{src} #{dst}" if Dir[src].any?
end