summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rwxr-xr-xinstruby.rb11
2 files changed, 15 insertions, 0 deletions
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 <nobu@ruby-lang.org>
+
+ * instruby.rb (default gems): installs default gemspecs.
+
Mon Mar 9 14:48:08 2009 NAKAMURA Usaku <usa@ruby-lang.org>
* 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?