pkgsrc/lang/ruby24-base/patches/patch-lib_rubygems_config__file.rb
taca 06b9a613e0 Add ruby24-base (Ruby 2.4.1 core) to pkgsrc.
Ruby 2.4.1						22 Mar 2017

Ruby 2.4.1 is the first TEENY version release of the stable 2.4 series.

See commit logs for details:
	https://github.com/ruby/ruby/compare/v2_4_0...v2_4_1


Ruby 2.4.0						25 Dec 2016

o Introduce hash table improvement (by Vladimir Makarov)

  Improve the internal structure of hash table (st_table) by introducing open
  addressing and an inclusion order array. This improvement has been discussed
  with many people, especially with Yura Sokolov.

o Binding#irb: Start a REPL session similar to binding.pry

  While you are debugging, you may often use p to see the value of
  variables. With pry you can use binding.pry in your application to launch a
  REPL and run any Ruby code. r56624 introduces binding.irb which behaves like
  that with irb.

o Unify Fixnum and Bignum into Integer

  Though ISO/IEC 30170:2012 doesn¡Çt specify details of the Integer class,
  Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies
  them into Integer. All C extensions which touch the Fixnum or Bignum class
  need to be fixed.

  See also the ticket and akr¡Çs slides.

o String supports Unicode case mappings

  String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle Unicode case
  mappings instead of only ASCII case mappings.

o Performance improvements

  Ruby 2.4 also contains the following performance improvements including
  language changes:

  * Array#max, Array#min

    [x, y].max and [x, y].min are optimized to not create a temporary array
    under certain conditions.

  * Regexp#match?

    Added Regexp#match?, which executes a regexp match without creating a back
    reference object and changing $~ to reduce object allocation.

  * Other performance improvements

    - speed up instance variable access

o Debugging

  * Thread#report_on_exception and Thread.report_on_exception

    Ruby ignores exceptions in threads unless another thread explicitly joins
    them. With report_on_exception = true, you can notice if a thread has died
    due to an unhandled exception.

    Send us feedback what should be the default for report_on_exception and
    about report-on-GC, which shows a report when a thread is garbage
    collected without join.

  * Thread deadlock detection now shows threads with their backtrace and
    dependency

    Ruby has deadlock detection around waiting threads, but its report
    doesn¡Çt include enough information for debugging. Ruby 2.4¡Çs deadlock
    detection shows threads with their backtrace and dependent threads.

o Other notable changes since 2.3

  * Support OpenSSL 1.1.0 (drop support for 0.9.7 or prior)
  * ext/tk is now removed from stdlib Feature #8539
  * XMLRPC is now removed from stdlib Feature #12160

  See NEWS or commit logs for details.
2017-06-18 13:45:11 +00:00

40 lines
1.1 KiB
Ruby

$NetBSD: patch-lib_rubygems_config__file.rb,v 1.1 2017/06/18 13:45:11 taca Exp $
* Don't hard code config file's path for gem.
--- lib/rubygems/config_file.rb.orig 2016-09-28 00:57:53.000000000 +0000
+++ lib/rubygems/config_file.rb
@@ -58,32 +58,7 @@ class Gem::ConfigFile
# :stopdoc:
- SYSTEM_CONFIG_PATH =
- begin
- require "etc"
- Etc.sysconfdir
- rescue LoadError, NoMethodError
- begin
- # TODO: remove after we drop 1.8.7 and 1.9.1
- require 'Win32API'
-
- CSIDL_COMMON_APPDATA = 0x0023
- path = 0.chr * 260
- if RUBY_VERSION > '1.9' then
- SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'PLPLP',
- 'L', :stdcall
- SHGetFolderPath.call nil, CSIDL_COMMON_APPDATA, nil, 1, path
- else
- SHGetFolderPath = Win32API.new 'shell32', 'SHGetFolderPath', 'LLLLP',
- 'L'
- SHGetFolderPath.call 0, CSIDL_COMMON_APPDATA, 0, 1, path
- end
-
- path.strip
- rescue LoadError
- RbConfig::CONFIG["sysconfdir"] || "/etc"
- end
- end
+ SYSTEM_CONFIG_PATH = '@PKG_SYSCONFDIR@'
# :startdoc: