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 a6b5946b7c..306fcb2cf5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Feb 22 07:04:41 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.
+
Fri Feb 22 06:30:57 2013 Eric Hodel <drbrain@segment7.net>
* doc/globals.rdoc: Document what setting $DEBUG does.
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