From e22d8781c8005b068ffa73ecc88728d720b6e870 Mon Sep 17 00:00:00 2001 From: drbrain Date: Sun, 10 Nov 2013 19:37:05 +0000 Subject: [PATCH] * lib/rubygems/specification.rb: Include 2.2.0.preview.2 when checking if extensions should be built. Fixes a ruby-ci failure. * test/rubygems/test_gem_specification.rb: Test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/rubygems/specification.rb | 2 +- test/rubygems/test_gem_specification.rb | 26 +++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 1dd01e42e5..b5630026c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Nov 11 04:36:14 2013 Eric Hodel + + * lib/rubygems/specification.rb: Include 2.2.0.preview.2 when checking + if extensions should be built. Fixes a ruby-ci failure. + * test/rubygems/test_gem_specification.rb: Test for the above. + Mon Nov 11 03:15:56 2013 Koichi Sasada * vm_trace.c (symbol2event_flag): add secret feature. diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 5330c108ba..5a667870c8 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -1407,7 +1407,7 @@ class Gem::Specification < Gem::BasicSpecification def build_extensions # :nodoc: return if default_gem? return if extensions.empty? - return if installed_by_version < Gem::Version.new('2.2') + return if installed_by_version < Gem::Version.new('2.2.0.preview.2') return if File.exist? gem_build_complete_path return if !File.writable?(base_dir) && !File.exist?(File.join(base_dir, 'extensions')) diff --git a/test/rubygems/test_gem_specification.rb b/test/rubygems/test_gem_specification.rb index 3936bc0681..231f10dbf1 100644 --- a/test/rubygems/test_gem_specification.rb +++ b/test/rubygems/test_gem_specification.rb @@ -1260,6 +1260,32 @@ dependencies: [] refute_path_exists gem_make_out end + def test_build_extensions_preview + ext_spec + + extconf_rb = File.join @ext.gem_dir, @ext.extensions.first + FileUtils.mkdir_p File.dirname extconf_rb + + open extconf_rb, 'w' do |f| + f.write <<-'RUBY' + open 'Makefile', 'w' do |f| + f.puts "clean:\n\techo clean" + f.puts "default:\n\techo built" + f.puts "install:\n\techo installed" + end + RUBY + end + + refute_empty @ext.extensions, 'sanity check' + + @ext.installed_by_version = v('2.2.0.preview.2') + + @ext.build_extensions + + gem_make_out = File.join @ext.extension_install_dir, 'gem_make.out' + assert_path_exists gem_make_out + end + def test_contains_requirable_file_eh code_rb = File.join @a1.gem_dir, 'lib', 'code.rb' FileUtils.mkdir_p File.dirname code_rb