* lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Remove

.time dependency from *.rb install target. It causes needless
  *.rb install. [Bug #7698] [ruby-core:51437]
  Reported by Tadashi Saito. Thanks!!!
* test/rubygems/test_gem_installer.rb
  (TestGemInstaller#test_install_extension_and_script): Add a test
  for the above change.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
kou 2013-01-17 13:20:12 +00:00
Родитель 53ec135d45
Коммит aaff971e01
3 изменённых файлов: 38 добавлений и 0 удалений

Просмотреть файл

@ -1,3 +1,13 @@
Thu Jan 17 22:10:35 2013 Kouhei Sutou <kou@cozmixng.org>
* lib/rubygems/ext/builder.rb (Gem::Ext::Builder.make): Remove
.time dependency from *.rb install target. It causes needless
*.rb install. [Bug #7698] [ruby-core:51437]
Reported by Tadashi Saito. Thanks!!!
* test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_install_extension_and_script): Add a test
for the above change.
Thu Jan 17 21:08:20 2013 Kouhei Sutou <kou@cozmixng.org>
* eval.c: Fix a typo in ruby_finalize() documentation.

Просмотреть файл

@ -19,6 +19,7 @@ class Gem::Ext::Builder
mf = Gem.read_binary 'Makefile'
mf = mf.gsub(/^RUBYARCHDIR\s*=\s*\$[^$]*/, "RUBYARCHDIR = #{dest_path}")
mf = mf.gsub(/^RUBYLIBDIR\s*=\s*\$[^$]*/, "RUBYLIBDIR = #{dest_path}")
mf = mf.gsub(/\s*\S+\.time$/, "")
File.open('Makefile', 'wb') {|f| f.print mf}

Просмотреть файл

@ -964,6 +964,33 @@ load Gem.bin_path('a', 'executable', version)
assert_match %r|I am a shiny gem!|, @ui.output
end
def test_install_extension_and_script
@spec.extensions << "extconf.rb"
write_file File.join(@tempdir, "extconf.rb") do |io|
io.write <<-RUBY
require "mkmf"
create_makefile("#{@spec.name}")
RUBY
end
rb = File.join("lib", "#{@spec.name}.rb")
@spec.files += [rb]
write_file File.join(@tempdir, rb) do |io|
io.write <<-RUBY
# #{@spec.name}.rb
RUBY
end
assert !File.exist?(File.join(@spec.gem_dir, rb))
use_ui @ui do
path = Gem::Package.build @spec
@installer = Gem::Installer.new path
@installer.install
end
assert File.exist?(File.join(@spec.gem_dir, rb))
end
def test_installation_satisfies_dependency_eh
quick_spec 'a'