summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-22 21:09:09 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-22 21:09:09 +0000
commit9f9c04262a736113fbdcc4bb6a970f47babe3a96 (patch)
tree26e35fa932b14d9c44794baf56c2d6fa72b1206f
parentc40038bf49ebe9d484fcc99fd9fa12b5e5867165 (diff)
Merge trunk revision: 39366
* lib/rubygems/installer.rb (build_extensions): Create extension install destination before building extension. Patch by Kenta Murata. [ruby-trunk - Bug #7897] * test/rubygems/test_gem_installer.rb: Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--lib/rubygems/installer.rb3
-rw-r--r--test/rubygems/test_gem_installer.rb1
3 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 21ce87a833..f3dc99baa9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Feb 23 06:07:04 2013 Eric Hodel <drbrain@segment7.net>
+
+ * lib/rubygems/installer.rb (build_extensions): Create extension
+ install destination before building extension. Patch by Kenta Murata.
+ [ruby-trunk - Bug #7897]
+ * test/rubygems/test_gem_installer.rb: Test for the above.
+
Sat Feb 23 04:34:44 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* NEWS: pending_interrupt? is both instance and singleton method
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index 0865a6dd3d..fcfb2836dc 100644
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -8,6 +8,7 @@ require 'rubygems/exceptions'
require 'rubygems/package'
require 'rubygems/ext'
require 'rubygems/user_interaction'
+require 'fileutils'
##
# The installer installs the files contained in the .gem into the Gem.home.
@@ -671,6 +672,8 @@ TEXT
end
begin
+ FileUtils.mkdir_p dest_path
+
Dir.chdir extension_dir do
results = builder.build(extension, gem_dir, dest_path,
results, @build_args)
diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb
index fc8d1a7782..bb48f35d9f 100644
--- a/test/rubygems/test_gem_installer.rb
+++ b/test/rubygems/test_gem_installer.rb
@@ -137,6 +137,7 @@ load Gem.bin_path('a', 'executable', version)
path = File.join @spec.gem_dir, "extconf_args"
assert_equal args.inspect, File.read(path).strip
+ assert File.directory? File.join(@spec.gem_dir, 'lib')
end
def test_check_executable_overwrite