summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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