From 9f9c04262a736113fbdcc4bb6a970f47babe3a96 Mon Sep 17 00:00:00 2001 From: drbrain Date: Fri, 22 Feb 2013 21:09:09 +0000 Subject: 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 --- ChangeLog | 7 +++++++ lib/rubygems/installer.rb | 3 +++ test/rubygems/test_gem_installer.rb | 1 + 3 files changed, 11 insertions(+) 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 + + * 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 * 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 -- cgit v1.2.3