[前][次][番号順一覧][スレッド一覧]

ruby-changes:52414

From: nobu <ko1@a...>
Date: Tue, 4 Sep 2018 09:12:54 +0900 (JST)
Subject: [ruby-changes:52414] nobu:r64623 (trunk): RubyGems installer.rb - fix up my mistakes in r64582

nobu	2018-09-04 09:12:49 +0900 (Tue, 04 Sep 2018)

  New Revision: 64623

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64623

  Log:
    RubyGems installer.rb - fix up my mistakes in r64582
    
    From: MSP-Greg <greg.mpls@g...>

  Modified files:
    trunk/lib/rubygems/installer.rb
Index: lib/rubygems/installer.rb
===================================================================
--- lib/rubygems/installer.rb	(revision 64622)
+++ lib/rubygems/installer.rb	(revision 64623)
@@ -771,26 +771,30 @@ TEXT https://github.com/ruby/ruby/blob/trunk/lib/rubygems/installer.rb#L771
   # return the stub script text used to launch the true Ruby script
 
   def windows_stub_script(bindir, bin_file_name)
-    rb_bindir = RbConfig::CONFIG["bindir"]
-    # All comparisons should be case insensitive
-    if bindir.downcase == rb_bindir.downcase
+    rb_config = RbConfig::CONFIG
+    rb_topdir = RbConfig::TOPDIR || File.dirname(rb_config["bindir"])
+    # get ruby executable file name from RbConfig
+    ruby_exe = "#{rb_config['RUBY_INSTALL_NAME']}#{rb_config['EXEEXT']}"
+
+    if File.exist?(File.join bindir, ruby_exe)
       # stub & ruby.exe withing same folder.  Portable
       <<-TEXT
 @ECHO OFF
 @"%~dp0ruby.exe" "%~dpn0" %*
       TEXT
-    elsif bindir.downcase.start_with? (RbConfig::TOPDIR || File.dirname(rb_bindir)).downcase
-      # stub within ruby folder, but not standard bin.  Not portable
+    elsif bindir.downcase.start_with? rb_topdir.downcase
+      # stub within ruby folder, but not standard bin.  Portable
       require 'pathname'
       from = Pathname.new bindir
-      to   = Pathname.new rb_bindir
+      to   = Pathname.new "#{rb_topdir}/bin"
       rel  = to.relative_path_from from
       <<-TEXT
 @ECHO OFF
 @"%~dp0#{rel}/ruby.exe" "%~dpn0" %*
       TEXT
     else
-      # outside ruby folder, maybe -user-install or bundler.  Portable
+      # outside ruby folder, maybe -user-install or bundler.  Portable, but ruby
+      # is dependent on PATH
       <<-TEXT
 @ECHO OFF
 @ruby.exe "%~dpn0" %*

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]