ruby: update to 3.1.2
authorLuiz Angelo Daros de Luca <redacted>
Tue, 19 Apr 2022 21:37:09 +0000 (18:37 -0300)
committerRosen Penev <redacted>
Mon, 25 Apr 2022 19:13:08 +0000 (12:13 -0700)
Ruby 3.1.0 major changes:
- YJIT: New experimental in-process JIT compiler
- debug gem: A new debugger
- error_highlight: Fine-grained error location in backtrace
- IRB Autocomplete and Documentation Display
- Many more. See:
  https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/

Ruby 3.1.1 changes:
- Many non-security bug fixes. See:
  https://www.ruby-lang.org/en/news/2022/02/18/ruby-3-1-1-released/

Ruby 3.1.2 changes:
- CVE-2022-28738: Double free in Regexp compilation
- CVE-2022-28739: Buffer overrun in String-to-Float conversion

Packaging changes:
- Dropped 100-musl.patch (upstream fix)
- Added: ruby-error_highlight, ruby-random_formatter,
  ruby-ruby2_keywords
- Removed: ruby-dbm, ruby-gdbm, ruby-fiber, ruby-gdbm, ruby-tracer
- ruby_find_pkgsdeps script:
  * cleaned some ignored and weak dependencies
- ruby_missingfiles script:
  * fix the example cmdline
  * let diff use all terminal columns

Signed-off-by: Luiz Angelo Daros de Luca <redacted>
lang/ruby/Makefile
lang/ruby/patches/100-musl.patch [deleted file]
lang/ruby/ruby_find_pkgsdeps
lang/ruby/ruby_missingfiles

index 2329c591e4ad6ceec10097aaaab94c6805183292..a0fc679180a756de3c1e3189956a107c0ed23250 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Copyright (C) 2006-2016 OpenWrt.org
-# Copyright (C) 2017-2020 Luiz Angelo Daros de Luca <luizluca@gmail.com>
+# Copyright (C) 2017-2022 Luiz Angelo Daros de Luca <luizluca@gmail.com>
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ruby
-PKG_VERSION:=3.0.3
-PKG_RELEASE:=2
+PKG_VERSION:=3.1.2
+PKG_RELEASE:=$(AUTORELEASE)
 
 # First two numbes
 PKG_ABI_VERSION:=$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VERSION))))
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://cache.ruby-lang.org/pub/ruby/$(PKG_ABI_VERSION)/
-PKG_HASH:=88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c
+PKG_HASH:=ca10d017f8a1b6d247556622c841fc56b90c03b1803f87198da1e4fd3ec3bf2a
 PKG_MAINTAINER:=Luiz Angelo Daros de Luca <luizluca@gmail.com>
 PKG_LICENSE:=BSD-2-Clause
 PKG_LICENSE_FILES:=COPYING
@@ -39,7 +39,7 @@ HOST_CONFIGURE_ARGS += \
        --disable-install-rdoc \
        --disable-install-capi \
        --without-gmp \
-       --with-out-ext=-test-/array/resize,-test-/bignum,-test-/bug-3571,-test-/bug-5832,-test-/bug_reporter,-test-/class,-test-/debug,-test-/dln/empty,-test-/exception,-test-/fatal,-test-/file,-test-/float,-test-/funcall,-test-/gvl/call_without_gvl,-test-/hash,-test-/integer,-test-/iseq_load,-test-/iter,-test-/load/dot.dot,-test-/marshal/compat,-test-/marshal/internal_ivar,-test-/marshal/usr,-test-/memory_status,-test-/method,-test-/notimplement,-test-/num2int,-test-/path_to_class,-test-/popen_deadlock,-test-/postponed_job,-test-/printf,-test-/proc,-test-/rational,-test-/recursion,-test-/st/foreach,-test-/st/numhash,-test-/st/update,-test-/string,-test-/struct,-test-/symbol,-test-/time,-test-/tracepoint,-test-/typeddata,-test-/vm,-test-/wait_for_single_fd,-test-/win32/console,-test-/win32/dln,-test-/win32/fd_setsize,bigdecimal,cgi/escape,continuation,coverage,dbm,etc,fcntl,fiber,fiddle,gdbm,io/console,json,json/generator,json/parser,mathn/complex,mathn/rational,nkf,objspace,pty,racc/cparse,rbconfig/sizeof,readline,rubyvm,sdbm,syslog,win32,win32ole,win32/resolv
+       --with-out-ext=-test-/array/resize,-test-/bignum,-test-/bug-3571,-test-/bug-5832,-test-/bug_reporter,-test-/class,-test-/debug,-test-/dln/empty,-test-/exception,-test-/fatal,-test-/file,-test-/float,-test-/funcall,-test-/gvl/call_without_gvl,-test-/hash,-test-/integer,-test-/iseq_load,-test-/iter,-test-/load/dot.dot,-test-/marshal/compat,-test-/marshal/internal_ivar,-test-/marshal/usr,-test-/memory_status,-test-/method,-test-/notimplement,-test-/num2int,-test-/path_to_class,-test-/popen_deadlock,-test-/postponed_job,-test-/printf,-test-/proc,-test-/rational,-test-/recursion,-test-/st/foreach,-test-/st/numhash,-test-/st/update,-test-/string,-test-/struct,-test-/symbol,-test-/time,-test-/tracepoint,-test-/typeddata,-test-/vm,-test-/wait_for_single_fd,-test-/win32/console,-test-/win32/dln,-test-/win32/fd_setsize,bigdecimal,cgi/escape,continuation,coverage,etc,fcntl,fiddle,io/console,json,json/generator,json/parser,mathn/complex,mathn/rational,nkf,objspace,pty,racc/cparse,rbconfig/sizeof,readline,rubyvm,syslog,win32,win32ole,win32/resolv
 
 # Does not compile with this. Workaround is --without-gmp
 # https://bugs.ruby-lang.org/issues/11940
@@ -263,6 +263,7 @@ define Package/ruby-bundler/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/bundler-*.gemspec
 endef
 define Package/ruby-bundler/files-excluded
+/usr/lib/ruby/$(PKG_ABI_VERSION)/bundler/man
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/bundler-*/doc
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/bundler-*/test
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/bundler-*/sample
@@ -306,19 +307,17 @@ define Package/ruby-date/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/date-*.gemspec
 endef
 
-define Package/ruby-dbm/description
- The DBM class provides a wrapper to a Unix-style dbm or Database Manager library.
- This package provides dbm.so file.
-
-endef
-define Package/ruby-dbm/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/*/dbm.so
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/dbm-*.gemspec
-endef
-
 define Package/ruby-debug/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/debug.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/debug-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/debug-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/extensions/*/$(PKG_ABI_VERSION)/debug-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/debug-*.gemspec
+endef
+define Package/ruby-debug/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/debug-*/CONTRIBUTING.md
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/debug-*/LICENSE.txt
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/debug-*/README.md
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/debug-*/TODO.md
 endef
 
 define Package/ruby-delegate/files
@@ -388,6 +387,7 @@ endef
 
 define Package/ruby-erb/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/erb.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/erb/*
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/erb-*
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/erb-*.gemspec
 endef
@@ -397,6 +397,12 @@ define Package/ruby-erb/install
        $(call RubyBuildPackage/install,erb,$(1))
 endef
 
+define Package/ruby-error_highlight/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/error_highlight.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/error_highlight/*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/error_highlight-*.gemspec
+endef
+
 define Package/ruby-etc/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/*/etc.so
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/etc-*.gemspec
@@ -411,10 +417,6 @@ define Package/ruby-fcntl/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/fcntl-*.gemspec
 endef
 
-define Package/ruby-fiber/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/*/fiber.so
-endef
-
 define Package/ruby-fiddle/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/fiddle.rb
 /usr/lib/ruby/$(PKG_ABI_VERSION)/fiddle/
@@ -439,11 +441,6 @@ define Package/ruby-forwardable/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/forwardable-*.gemspec
 endef
 
-define Package/ruby-gdbm/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/*/gdbm.so
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/gdbm-*.gemspec
-endef
-
 define Package/ruby-gems/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/rubygems.rb
 /usr/lib/ruby/$(PKG_ABI_VERSION)/rubygems
@@ -522,9 +519,11 @@ define Package/ruby-logger/files
 endef
 
 define Package/ruby-matrix/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/matrix.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/matrix
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/matrix-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/matrix-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/matrix-*.gemspec
+endef
+define Package/ruby-matrix/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/matrix-*/LICENSE.txt
 endef
 
 define Package/ruby-minitest/files
@@ -552,8 +551,12 @@ define Package/ruby-mutex_m/files
 endef
 
 define Package/ruby-net-ftp/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/ftp.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-ftp-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-ftp-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/net-ftp-*.gemspec
+endef
+define Package/ruby-net-ftp/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-ftp-*/LICENSE.txt
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-ftp-*/README.md
 endef
 
 define Package/ruby-net-http/files
@@ -565,15 +568,21 @@ define Package/ruby-net-http/files
 endef
 
 define Package/ruby-net-imap/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/imap.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-imap-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-imap-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/net-imap-*.gemspec
+endef
+define Package/ruby-net-imap/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-imap-*/LICENSE.txt
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-imap-*/README.md
 endef
 
 define Package/ruby-net-pop/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-pop-*/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-pop-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-pop-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/net-pop-*.gemspec
+endef
+define Package/ruby-net-pop/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-pop-*/LICENSE.txt
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-pop-*/README.md
 endef
 
 define Package/ruby-net-protocol/files
@@ -581,18 +590,13 @@ define Package/ruby-net-protocol/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-protocol-*.gemspec
 endef
 
-define Package/ruby-net-pop/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/pop/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-pop-*/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-pop-*.gemspec
-endef
-
 define Package/ruby-net-smtp/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/smtp.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/net/smtp/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-smtp-*/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/net-smtp-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-smtp-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/net-smtp-*.gemspec
+endef
+define Package/ruby-net-smtp/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-smtp-*/LICENSE.txt
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/net-smtp-*/README.md
 endef
 
 define Package/ruby-nkf/files
@@ -603,6 +607,7 @@ endef
 
 define Package/ruby-objspace/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/objspace.rb
+/usr/lib/ruby/$(PKG_ABI_VERSION)/objspace/*
 /usr/lib/ruby/$(PKG_ABI_VERSION)/*/objspace.so
 endef
 
@@ -658,6 +663,7 @@ endef
 define Package/ruby-powerassert/files-excluded
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/power_assert-*/*.rdoc
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/power_assert-*/.travis.yml
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/power_assert-*/README.md
 endef
 
 define Package/ruby-pp/files
@@ -671,8 +677,12 @@ define Package/ruby-prettyprint/files
 endef
 
 define Package/ruby-prime/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/prime.rb
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/prime-*.gemspec
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/prime-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/prime-*.gemspec
+endef
+define Package/ruby-prime/files-excluded
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/prime-*/LICENSE.txt
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/prime-*/README.md
 endef
 
 define Package/ruby-pstore/files
@@ -720,6 +730,10 @@ define Package/ruby-rake/install
        $(call RubyBuildPackage/install,rake,$(1))
 endef
 
+define Package/ruby-random_formatter/files
+/usr/lib/ruby/$(PKG_ABI_VERSION)/random/formatter.rb
+endef
+
 define Package/ruby-rbconfig/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/*/rbconfig.rb
 /usr/lib/ruby/$(PKG_ABI_VERSION)/*/rbconfig/*.so
@@ -727,6 +741,7 @@ endef
 
 define Package/ruby-rbs/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rbs-*
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/extensions/*/$(PKG_ABI_VERSION)/rbs-*
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/rbs-*.gemspec
 endef
 define Package/ruby-rbs/files-excluded
@@ -797,6 +812,7 @@ define Package/ruby-rexml/files-excluded
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rexml-*/sample
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rexml-*/*.md
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rexml-*/.travis.yml
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rexml-*/LICENSE.txt
 endef
 
 define Package/ruby-rinda/files
@@ -824,6 +840,11 @@ define Package/ruby-rss/files-excluded
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/rss-*/*.txt
 endef
 
+define Package/ruby-ruby2_keywords/files
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/ruby2_keywords-*/
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/ruby2_keywords-*.gemspec
+endef
+
 define Package/ruby-securerandom/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/securerandom.rb
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/securerandom-*.gemspec
@@ -901,12 +922,6 @@ define Package/ruby-tmpdir/files
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/tmpdir-*.gemspec
 endef
 
-define Package/ruby-tracer/files
-/usr/lib/ruby/$(PKG_ABI_VERSION)/tracer.rb
-/usr/lib/ruby/$(PKG_ABI_VERSION)/tracer/
-/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/tracer-*.gemspec
-endef
-
 define Package/ruby-tsort/files
 /usr/lib/ruby/$(PKG_ABI_VERSION)/tsort.rb
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/specifications/default/tsort-*.gemspec
@@ -923,6 +938,8 @@ define Package/ruby-typeprof/files-excluded
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/typeprof-*/test
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/typeprof-*/sample
 /usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/typeprof-*/*.md
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/typeprof-*/vscode/development.md
+/usr/lib/ruby/gems/$(PKG_ABI_VERSION)/gems/typeprof-*/vscode/README.md
 endef
 define Package/ruby-typeprof/install
        $(INSTALL_DIR) $(1)/usr/bin
@@ -1038,38 +1055,36 @@ $(eval $(call RubyBuildPackage,abbrev,Calculates the set of unambiguous abbrevia
 $(eval $(call RubyBuildPackage,base64,Encode and decode base64,))
 $(eval $(call RubyBuildPackage,benchmark,Performance benchmarking library,))
 $(eval $(call RubyBuildPackage,bigdecimal,Arbitrary-precision decimal floating-point library,))
-$(eval $(call RubyBuildPackage,bundler,Manage dependencies,+ruby-erb +ruby-irb +ruby-open-uri +ruby-readline))
-$(eval $(call RubyBuildPackage,cgi,CGI support toolkit,+ruby-pstore +ruby-securerandom +ruby-shellwords +ruby-tempfile))
+$(eval $(call RubyBuildPackage,bundler,Manage dependencies,+ruby-erb +ruby-irb +ruby-open-uri +ruby-readline +ruby-yaml))
+$(eval $(call RubyBuildPackage,cgi,CGI support toolkit,+ruby-pstore +ruby-securerandom +ruby-shellwords +ruby-stringio +ruby-tempfile))
 $(eval $(call RubyBuildPackage,continuation,Similar to C setjmp/longjmp with extra states,))
 $(eval $(call RubyBuildPackage,coverage,Coverage measurement,))
 $(eval $(call RubyBuildPackage,csv,CSV Reading and Writing,+ruby-date +ruby-english +ruby-forwardable +ruby-stringio +ruby-strscan))
 $(eval $(call RubyBuildPackage,date,Comparable module for handling dates,))
-$(eval $(call RubyBuildPackage,dbm,Wrapper for the UNIX-style Database Manager Library,+libdb47))
-$(eval $(call RubyBuildPackage,debug,generic command line interface for ruby-debug,+ruby-continuation +ruby-pp +ruby-readline +ruby-tracer))
+$(eval $(call RubyBuildPackage,debug,generic command line interface for ruby-debug,+ruby-base64 +ruby-did-you-mean +ruby-irb +ruby-mkmf +ruby-objspace +ruby-readline))
 $(eval $(call RubyBuildPackage,delegate,lib to delegate method calls to an object,))
-$(eval $(call RubyBuildPackage,did-you-mean,did you mean? experience,))
+$(eval $(call RubyBuildPackage,did-you-mean,did you mean? experience,+ruby-rbconfig))
 $(eval $(call RubyBuildPackage,digest,Digest Library,+RUBY_DIGEST_USE_OPENSSL:libopenssl))
-$(eval $(call RubyBuildPackage,drb,distributed object system,+ruby-ipaddr +ruby-monitor +ruby-observer +ruby-singleton +ruby-tmpdir))
+$(eval $(call RubyBuildPackage,drb,distributed object system,+ruby-monitor +ruby-observer +ruby-openssl +ruby-singleton +ruby-tmpdir))
 $(eval $(call RubyBuildPackage,enc,character re-coding library charset (small subset),))
 $(eval $(call RubyBuildPackage,enc-extra,character re-coding library charset (extra subset),+ruby-enc))
 $(eval $(call RubyBuildPackage,english,Reference some global vars as english variables,))
 $(eval $(call RubyBuildPackage,erb,(embedded interpreter),+ruby-gems))
+$(eval $(call RubyBuildPackage,error_highlight,Fine-grained error location in backtrace,))
 $(eval $(call RubyBuildPackage,etc,Access info typically stored in /etc,))
 $(eval $(call RubyBuildPackage,expect,Expect-like for IO,))
 $(eval $(call RubyBuildPackage,fcntl,Loads constants defined in the OS fcntl.h C header file,))
-$(eval $(call RubyBuildPackage,fiber,Light weight cooperative concurrency,))
 $(eval $(call RubyBuildPackage,fiddle,Libffi wrapper for Ruby,+libffi))
 $(eval $(call RubyBuildPackage,fileutils,File utility methods for copying moving removing etc,+ruby-enc +ruby-etc +ruby-rbconfig +ruby-socket))
 $(eval $(call RubyBuildPackage,find,top-down traversal of a set of file paths,+ruby-enc))
 $(eval $(call RubyBuildPackage,forwardable,delegation of methods to a object,))
-$(eval $(call RubyBuildPackage,gdbm,Ruby extension for GNU dbm,+libgdbm))
-$(eval $(call RubyBuildPackage,gems,gems packet management,+ruby-base64 +ruby-cgi +ruby-json +ruby-net-http +ruby-open3 +ruby-pathname +ruby-pp +ruby-rake +ruby-resolv +ruby-yaml))
+$(eval $(call RubyBuildPackage,gems,gems packet management,+ruby-json +ruby-net-http +ruby-open3 +ruby-pathname +ruby-pp +ruby-psych +ruby-rake))
 $(eval $(call RubyBuildPackage,getoptlong,implementation of getoptLong,))
 $(eval $(call RubyBuildPackage,io-console,Console interface,))
 $(eval $(call RubyBuildPackage,io-nonblock,Non-blocking mode with IO class,))
 $(eval $(call RubyBuildPackage,io-wait,Waits until IO is readable or writable without blocking,))
 $(eval $(call RubyBuildPackage,ipaddr,Set of methods to manipulate an IP address,+ruby-socket))
-$(eval $(call RubyBuildPackage,irb,(interactive shell),+ruby-gems +ruby-reline +ruby-ripper +ruby-tracer))
+$(eval $(call RubyBuildPackage,irb,(interactive shell),+ruby-gems +ruby-reline +ruby-ripper))
 $(eval $(call RubyBuildPackage,json,JSON Implementation for Ruby,+ruby-date +ruby-ostruct))
 $(eval $(call RubyBuildPackage,logger,logger and syslog library,+ruby-monitor))
 $(eval $(call RubyBuildPackage,matrix,implementation of Matrix and Vector classes,))
@@ -1078,7 +1093,7 @@ $(eval $(call RubyBuildPackage,mkmf,makefile library,+ruby-shellwords +ruby-tmpd
 $(eval $(call RubyBuildPackage,monitor,Object or module methods are executed with mutual exclusion,))
 $(eval $(call RubyBuildPackage,mutex_m,extend objects to be handled like a Mutex,))
 $(eval $(call RubyBuildPackage,net-ftp,FTP lib,+ruby-monitor +ruby-net-protocol +ruby-openssl +ruby-time))
-$(eval $(call RubyBuildPackage,net-http,HTTP lib,+ruby-net-protocol +ruby-securerandom +ruby-tempfile +ruby-uri +ruby-zlib))
+$(eval $(call RubyBuildPackage,net-http,HTTP lib,+ruby-cgi +ruby-net-protocol +ruby-uri +ruby-zlib))
 $(eval $(call RubyBuildPackage,net-imap,IMAP lib,+ruby-monitor +ruby-net-protocol +ruby-openssl +ruby-strscan))
 $(eval $(call RubyBuildPackage,net-pop,POP3 lib,+ruby-net-protocol +ruby-openssl))
 $(eval $(call RubyBuildPackage,net-protocol,Abstract for net-* clients,+ruby-socket +ruby-timeout))
@@ -1088,12 +1103,12 @@ $(eval $(call RubyBuildPackage,objspace,Routines to interact with the garbage co
 $(eval $(call RubyBuildPackage,observer,Observer design pattern,))
 $(eval $(call RubyBuildPackage,open-uri,Wrapper for Net::HTTP Net::HTTPS and Net::,+ruby-net-ftp +ruby-net-http))
 $(eval $(call RubyBuildPackage,open3,popen with stderr,))
-$(eval $(call RubyBuildPackage,openssl,SSL TLS and general purpose cryptography,+ruby-digest +ruby-enc +ruby-io-nonblock +ruby-ipaddr +ruby-stringio +libopenssl))
-$(eval $(call RubyBuildPackage,optparse,command-line option analysis,+ruby-shellwords +ruby-time))
+$(eval $(call RubyBuildPackage,openssl,SSL TLS and general purpose cryptography,+ruby-digest +ruby-enc +ruby-io-nonblock +ruby-ipaddr +libopenssl))
+$(eval $(call RubyBuildPackage,optparse,command-line option analysis,+ruby-shellwords +ruby-time +ruby-uri))
 $(eval $(call RubyBuildPackage,ostruct,build custom data structures,))
-$(eval $(call RubyBuildPackage,pathname,Pathname lib,+ruby-fileutils +ruby-find))
-$(eval $(call RubyBuildPackage,powerassert,Gem power_assert,+ruby-pp +ruby-ripper))
-$(eval $(call RubyBuildPackage,pp,Pretty print objects,+ruby-etc +ruby-prettyprint))
+$(eval $(call RubyBuildPackage,pathname,Pathname lib,+ruby-find))
+$(eval $(call RubyBuildPackage,powerassert,Gem power_assert,+ruby-irb))
+$(eval $(call RubyBuildPackage,pp,Pretty print objects,+ruby-etc +ruby-io-console +ruby-prettyprint))
 $(eval $(call RubyBuildPackage,prettyprint,PrettyPrint library,))
 $(eval $(call RubyBuildPackage,prime,Prime numbers and factorization library,+ruby-forwardable +ruby-singleton))
 $(eval $(call RubyBuildPackage,pstore,file based persistence,+ruby-digest +ruby-enc))
@@ -1101,9 +1116,10 @@ $(eval $(call RubyBuildPackage,psych,YAML parser and emitter,+ruby-bigdecimal +r
 $(eval $(call RubyBuildPackage,pty,Creates and manages pseudo terminals,))
 $(eval $(call RubyBuildPackage,racc,LALR parser generator,+ruby-forwardable +ruby-optparse +ruby-rbconfig +ruby-stringio))
 $(eval $(call RubyBuildPackage,rake,Rake (make replacement),+ruby-fileutils +ruby-monitor +ruby-optparse +ruby-ostruct +ruby-set +ruby-singleton))
+$(eval $(call RubyBuildPackage,random_formatter,Formats generated random numbers in many manners,))
 $(eval $(call RubyBuildPackage,rbconfig,RbConfig,))
-$(eval $(call RubyBuildPackage,rbs,RBS provides syntax and semantics definition for the Ruby Signature language,+ruby-gems +ruby-logger +ruby-racc +ruby-ripper))
-$(eval $(call RubyBuildPackage,rdoc,RDoc produces HTML and command-line documentation for Ruby projects,+ruby-abbrev +ruby-did-you-mean +ruby-erb +ruby-racc +ruby-ripper))
+$(eval $(call RubyBuildPackage,rbs,RBS provides syntax and semantics definition for the Ruby Signature language,+ruby-logger +ruby-mkmf +ruby-rdoc))
+$(eval $(call RubyBuildPackage,rdoc,RDoc produces HTML and command-line documentation for Ruby projects,+ruby-abbrev +ruby-did-you-mean +ruby-erb +ruby-racc +ruby-ripper +ruby-yaml))
 $(eval $(call RubyBuildPackage,readline-ext,support for native GNU readline,+libncurses +libreadline))
 $(eval $(call RubyBuildPackage,readline,loads readline-ext(native) or reline(ruby),+ruby-reline))
 $(eval $(call RubyBuildPackage,reline,alternative to readline-ext in pure ruby,+ruby-fiddle +ruby-forwardable +ruby-io-console +ruby-tempfile +ruby-timeout))
@@ -1113,7 +1129,8 @@ $(eval $(call RubyBuildPackage,rexml,XML toolkit,+ruby-enc +ruby-forwardable +ru
 $(eval $(call RubyBuildPackage,rinda,Linda paradigm implementation,+ruby-drb +ruby-forwardable))
 $(eval $(call RubyBuildPackage,ripper,script parser,))
 $(eval $(call RubyBuildPackage,rss,RSS toolkit,+ruby-english +ruby-nkf +ruby-open-uri +ruby-rexml))
-$(eval $(call RubyBuildPackage,securerandom,Secure random number generators,+ruby-openssl))
+$(eval $(call RubyBuildPackage,ruby2_keywords,Placeholder to satisfy dependencies on ruby2_keywords))
+$(eval $(call RubyBuildPackage,securerandom,Secure random number generators,+ruby-openssl +ruby-random_formatter))
 $(eval $(call RubyBuildPackage,set,Set collection,+ruby-tsort))
 $(eval $(call RubyBuildPackage,shellwords,Manipulate strings as Bourne Shell,))
 $(eval $(call RubyBuildPackage,singleton,Singleton pattern,))
@@ -1122,18 +1139,17 @@ $(eval $(call RubyBuildPackage,stringio,Pseudo `IO` class from/to `String`,))
 $(eval $(call RubyBuildPackage,strscan,Lexical scanning operations on a String,))
 $(eval $(call RubyBuildPackage,syslog,Syslog Lib,+ruby-logger))
 $(eval $(call RubyBuildPackage,tempfile,Manages temporary files,+ruby-delegate +ruby-tmpdir))
-$(eval $(call RubyBuildPackage,testunit,Gem test-unit,+ruby-csv +ruby-erb +ruby-powerassert +ruby-rexml))
+$(eval $(call RubyBuildPackage,testunit,Gem test-unit,+ruby-csv +ruby-debug +ruby-erb +ruby-powerassert +ruby-rexml +ruby-yaml))
 $(eval $(call RubyBuildPackage,time,Extends Time with additional methods for parsing and converting Times,+ruby-date))
 $(eval $(call RubyBuildPackage,timeout,Auto-terminate potentially long-running operations,))
 $(eval $(call RubyBuildPackage,tmpdir,Get temp dir path,+ruby-fileutils))
-$(eval $(call RubyBuildPackage,tracer,Outputs a source level execution trace of a Ruby program,))
 $(eval $(call RubyBuildPackage,tsort,Topological sorting using Tarjan s algorithm,))
 $(eval $(call RubyBuildPackage,typeprof,A type analysis tool for Ruby code based on abstract interpretation,+ruby-coverage +ruby-rbs))
 $(eval $(call RubyBuildPackage,unicodenormalize,String additions for Unicode normalization,+ruby-enc +ruby-enc-extra))
-$(eval $(call RubyBuildPackage,un,Utilities to replace common UNIX commands in Makefiles,+ruby-mkmf +ruby-optparse))
+$(eval $(call RubyBuildPackage,un,Utilities to replace common UNIX commands in Makefiles,+ruby-irb +ruby-mkmf))
 $(eval $(call RubyBuildPackage,uri,library to handle URI,+ruby-enc))
 $(eval $(call RubyBuildPackage,weakref,Weak reference to be garbage collected,+ruby-delegate))
-$(eval $(call RubyBuildPackage,yaml,YAML toolkit,+ruby-dbm +ruby-pstore +ruby-psych))
+$(eval $(call RubyBuildPackage,yaml,YAML toolkit,+ruby-pstore +ruby-psych))
 $(eval $(call RubyBuildPackage,zlib,compression/decompression library interface,))
 $(eval $(call BuildPackage,ruby-stdlib))
 $(eval $(call HostBuild))
diff --git a/lang/ruby/patches/100-musl.patch b/lang/ruby/patches/100-musl.patch
deleted file mode 100644 (file)
index 21645b7..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Rebased on https://patch-diff.githubusercontent.com/raw/ruby/ruby/pull/2995.patch
-which was originally based on this file.
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -2471,7 +2471,10 @@ AS_CASE([$rb_cv_coroutine], [yes|''], [
-             rb_cv_coroutine=copy
-         ],
-         [
--            rb_cv_coroutine=ucontext
-+            AC_CHECK_FUNCS([getcontext swapcontext makecontext],
-+                [rb_cv_coroutine=ucontext],
-+                [rb_cv_coroutine=copy; break]
-+            )
-         ]
-     )
-     AC_MSG_RESULT(${rb_cv_coroutine})
index 22f9689dab1dc26adb1e7be42d8c2570456d4ed9..0d97b3be586458040be551530611a6408105a544 100644 (file)
@@ -26,13 +26,45 @@ end
 
 require_regex=/^require ["']([^"']+)["'].*/
 require_regex_ignore=/^require ([a-zA-Z\$]|["']$|.*\/$)/
-require_ignore=%w{foo rubygems/defaults/operating_system win32console java Win32API
-                  builder/xchar json/pure simplecov win32/sspi rdoc/markdown/literals_1_8 enumerator win32/resolv rbtree
-                  xmlscan/parser xmlscan/scanner xmltreebuilder xml/parser xmlparser xml/encoding-ja xmlencoding-ja
-                  iconv uconv win32ole gettext/po_parser gettext/mo libxml psych.jar psych_jars jar-dependencies thread minitest/proveit
-               bundler pry bcrypt net/http/pipeline capistrano/version rubygems/builder rubygems/format diff/lcs graphviz
-               win32api racc/cparse-jruby.jar profile profiler sorted_set jruby coverage/helpers stackprof webrick/https webrick
-       }
+require_ignore=%w{
+        bundler
+        capistrano/version
+        coverage/helpers
+        dbm
+        diff/lcs
+        foo
+        gettext/mo
+        gettext/po_parser
+        graphviz
+        iconv
+        java
+        jruby
+        json/pure
+        minitest/proveit
+        open3/jruby_windows
+        profile
+        racc/cparse-jruby.jar
+        rubygems/defaults/operating_system
+        sorted_set
+        stackprof
+        thread
+        tracer
+        uconv
+        webrick
+        webrick/https
+        win32api
+        win32console
+        win32ole
+        win32/resolv
+        win32/sspi
+        xml/encoding-ja
+        xmlencoding-ja
+        xml/parser
+        xmlparser
+        xmlscan/scanner
+}
+
+matched_ignored={}
 
 builtin_enc=[
        Encoding.find("ASCII-8BIT"),
@@ -97,7 +129,8 @@ packages.each do
                                        require.gsub!(/\.(so|rb)$/,"")
 
                                        if require_ignore.include?(require)
-                                               #puts "Ignoring #{line} at #{file}:#{lineno} (STR)..."
+                                               puts "Ignoring #{line} at #{file}:#{lineno} (STR)..."
+                                                matched_ignored[require]=1
                                                next
                                        end
 
@@ -119,6 +152,11 @@ packages.each do
 end
 exit(1) if failed
 
+missed_ignored = (require_ignore - matched_ignored.keys).sort.join(",")
+if not missed_ignored.empty?
+    puts "These 'require_ignore' didn't match anything: ",(require_ignore - matched_ignored.keys).sort.join(","),""
+end
+
 # From ruby source: grep -E 'rb_require' -R . | grep -E '\.c:.*rb_require.*'
 # Add dependencies of ruby files from ruby lib.so
 package_files.each do |(pkg,files)| files.each do |file|
@@ -140,22 +178,16 @@ package_files.each do |(pkg,files)|
        end
 end
 
+# For optional require or for breaking cycle dependencies
 weak_dependency=Hash.new { |h,k| h[k]=[] }
 weak_dependency.merge!({
-"ruby-misc"=>["ruby-openssl","ruby-fiddle"],                   #securerandom.rb
-"ruby-debuglib"=>["ruby-readline"],                            #debug.rb
-"ruby-drb"=>["ruby-openssl"],                                  #drb/ssl.rb
-"ruby-irb"=>["ruby-rdoc", "ruby-readline"],                    #irb/cmd/help.rb
-"ruby-gems"=>["ruby-openssl","ruby-io-console",                #rubygems/commands/cert_command.rb rubygems/user_interaction.rb
-               "ruby-bundler", "ruby-erb", "ruby-rdoc"],       #rubygems.rb rubygems/server.rb
-"ruby-net"=>["ruby-openssl","ruby-io-console","ruby-zlib"],    #net/*.rb
-"ruby-optparse"=>["ruby-uri","ruby-datetime"],                 #optparse/date.rb optparse/uri.rb
-"ruby-racc"=>["ruby-gems"],                                    #/usr/bin/racc*
-"ruby-rake"=>["ruby-net","ruby-gems"],                         #rake/contrib/ftptools.rb /usr/bin/rake
-"ruby-rdoc"=>["ruby-gems","ruby-readline",                     #/usr/bin/rdoc and others
-              "ruby-io-console"],                              #rdoc/stats/normal.rb
-"ruby-testunit"=>["ruby-io-console"],                          #gems/test-unit-3.1.5/lib/test/unit/ui/console/testrunner.rb
-"ruby-net-http"=>["ruby-open-uri"]                             #net/http/status.rb
+"ruby-irb"      =>%w{ruby-rdoc ruby-readline},           # irb/cmd/help.rb
+"ruby-gems"     =>%w{ruby-bundler ruby-rdoc},            # rubygems.rb rubygems/server.rb
+"ruby-racc"     =>%w{ruby-gems},                         # /usr/bin/racc*
+"ruby-rake"     =>%w{ruby-gems},                         # /usr/bin/rake
+"ruby-rdoc"     =>%w{ruby-readline},                     # rdoc/ri/driver.rb
+"ruby-testunit" =>%w{ruby-io-console},                   # gems/test-unit-3.1.5/lib/test/unit/ui/console/testrunner.rb
+"ruby-net-http" =>%w{ruby-open-uri}                      # net/http/status.rb
 })
 
 puts "Looking for package dependencies..."
@@ -179,7 +211,7 @@ package_requires_files.each do
                        package_provides[require] = found
                end
                if weak_dependency[pkg].include?(found)
-                       puts "#{pkg}: #{found} provides #{require} (weak depedendency ignored)"
+                        puts "#{pkg}: #{found} provides #{require} (weak depedendency ignored) for #{files.collect {|file| file.sub("/usr/lib/ruby/","") }.join(",")}"
                else
                        puts "#{pkg}: #{found} provides #{require} for #{files.collect {|file| file.sub("/usr/lib/ruby/","") }.join(",")}"
                        package_dependencies[pkg] += [found]
index 55dee779c0c0bf9579ae56461e71cd6384470ba0..ffc80adc58ba1c0966fa5f97503c5dabeb395d74 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# bash feeds/packages/lang/ruby/ruby_missingfiles staging_dir/target-i386_i486_musl-1.1.11/ bin/x86/packages/packages/*ruby*_2.3.0*
+# bash feeds/packages/lang/ruby/ruby_missingfiles staging_dir/target-x86_64_musl/ bin/packages/x86_64/packages/*ruby*_3.1.2*
 #
 
 function list_staging_files {
@@ -41,5 +41,5 @@ if ! [ -e "$1" ]; then
        exit 1
 fi
 printf '%-62s %-62s\n' "Installed in Staging" "From Packages Files"
-diff -d -y <(list_staging_files "$STAGING_DIR") <(list_ipkg_files "$@")
+diff -d -y <(list_staging_files "$STAGING_DIR") <(list_ipkg_files "$@") -W $COLUMNS
 
git clone https://git.99rst.org/PROJECT