diff --git a/ChangeLog b/ChangeLog index cf33614b67..8f3b468580 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Mar 9 14:55:27 2009 Nobuyoshi Nakada + + * instruby.rb (default gems): installs default gemspecs. + Mon Mar 9 14:48:08 2009 NAKAMURA Usaku * win32/Makefile.sub (OPTFLAGS): simplified. see [ruby-core:22725] diff --git a/instruby.rb b/instruby.rb index 6687595856..4d91859fa0 100755 --- a/instruby.rb +++ b/instruby.rb @@ -484,6 +484,17 @@ install?(:ext, :comm, :gem) do end gpath = CONFIG["sitelibdir"].sub(%r'/site_ruby/(?=[^/]+)', '/gems/') prepare "default gems", gpath, directories + + destdir = File.join(gpath, directories.grep(/^spec/)[0]) + gems = %w[rake rdoc] + gems.each do |gem| + lib = File.join(srcdir, "lib/#{gem}.rb") + version = open(lib) {|f| f.find {|s| /^\s*\w*VERSION\s*=(?!=)/ =~ s}} or next + version = version.split(%r"=\s*", 2)[1].strip + open_for_install(File.join(destdir, "#{gem}.gemspec"), $data_mode) do |f| + "Gem::Specification.new {|s| s.name, s.version = #{gem.dump}, #{version}}\n" + end + end end $install << :local << :ext if $install.empty?