diff -r -u ./lib/rubygems/commands/install_command.rb /opt/work/jruby.git/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb
--- a/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb	2008-06-04 22:42:06.000000000 +0200
+++ b/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb	2008-06-04 13:53:20.000000000 +0200
@@ -19,6 +19,7 @@
       :install_dir => Gem.dir,
       :format_executable => false,
       :test => false,
+      :env_shebang => true,
       :version => Gem::Requirement.default,
     })
 
@@ -36,7 +37,7 @@
 
   def defaults_str # :nodoc:
     "--both --version '#{Gem::Requirement.default}' --rdoc --ri --no-force\n" \
-    "--no-test --install-dir #{Gem.dir}"
+    "--no-test --env-shebang --install-dir #{Gem.dir}"
   end
 
   def usage # :nodoc:
diff -r -u ./lib/rubygems/commands/update_command.rb /opt/work/jruby.git/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb
--- a/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb	2008-06-04 22:42:06.000000000 +0200
+++ b/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb	2008-06-04 13:53:20.000000000 +0200
@@ -19,6 +19,7 @@
       :generate_ri => true, 
       :force => false, 
       :test => false,
+      :env_shebang => true,
       :install_dir => Gem.dir
 
     add_install_update_options
@@ -38,7 +39,7 @@
   end
 
   def defaults_str # :nodoc:
-    "--rdoc --ri --no-force --no-test --install-dir #{Gem.dir}"
+    "--rdoc --ri --no-force --no-test --env-shebang --install-dir #{Gem.dir}"
   end
 
   def usage # :nodoc:
diff -r -u ./lib/rubygems/defaults.rb /opt/work/jruby.git/lib/ruby/site_ruby/1.8/rubygems/defaults.rb
--- a/lib/ruby/site_ruby/1.8/rubygems/defaults.rb	2008-05-01 22:46:53.000000000 +0200
+++ b/lib/ruby/site_ruby/1.8/rubygems/defaults.rb	2008-06-04 13:53:20.000000000 +0200
@@ -11,9 +11,9 @@
     if defined? RUBY_FRAMEWORK_VERSION then
       File.join File.dirname(ConfigMap[:sitedir]), 'Gems',
                 ConfigMap[:ruby_version]
-    elsif defined? RUBY_ENGINE then
-      File.join ConfigMap[:libdir], RUBY_ENGINE, 'gems',
-                ConfigMap[:ruby_version]
+    #elsif defined? RUBY_ENGINE then
+    #  File.join ConfigMap[:libdir], RUBY_ENGINE, 'gems',
+    #            ConfigMap[:ruby_version]
     else
       File.join ConfigMap[:libdir], 'ruby', 'gems', ConfigMap[:ruby_version]
     end
diff -r -u ./lib/rubygems/installer.rb /opt/work/jruby.git/lib/ruby/site_ruby/1.8/rubygems/installer.rb
--- a/lib/ruby/site_ruby/1.8/rubygems/installer.rb	2008-06-04 22:42:06.000000000 +0200
+++ b/lib/ruby/site_ruby/1.8/rubygems/installer.rb	2008-06-04 13:53:20.000000000 +0200
@@ -305,7 +305,9 @@
   # necessary.
   def shebang(bin_file_name)
     if @env_shebang then
-      "#!/usr/bin/env " + Gem::ConfigMap[:ruby_install_name]
+      # JRuby: Cannot use Gem::ConfigMap[:ruby_install_name] here,
+      # because it gets expanded into jruby.bat on Windows.
+      "#!/usr/bin/env " + "jruby"
     else
       path = File.join @gem_dir, @spec.bindir, bin_file_name
 
diff -r -u ./lib/rubygems.rb /opt/work/jruby.git/lib/ruby/site_ruby/1.8/rubygems.rb
--- a/lib/ruby/site_ruby/1.8/rubygems.rb	2008-06-04 22:42:06.000000000 +0200
+++ b/lib/ruby/site_ruby/1.8/rubygems.rb	2008-06-04 13:53:20.000000000 +0200
@@ -544,7 +544,7 @@
     if @ruby.nil? then
       @ruby = File.join(ConfigMap[:bindir],
                         ConfigMap[:ruby_install_name])
-      @ruby << ConfigMap[:EXEEXT]
+#      @ruby << ConfigMap[:EXEEXT]
     end
 
     @ruby
@@ -665,7 +665,7 @@
 
   def self.win_platform?
     if @@win_platform.nil? then
-      @@win_platform = !!WIN_PATTERNS.find { |r| RUBY_PLATFORM =~ r }
+      @@win_platform = !!WIN_PATTERNS.find { |r| RUBY_PLATFORM =~ r || Config::CONFIG["host_os"] =~ r }
     end
 
     @@win_platform

