ruby: update to 4.0.0
authorLuiz Angelo Daros de Luca <luizluca@gmail.com>
Fri, 26 Dec 2025 19:59:53 +0000 (16:59 -0300)
committerHannu Nyman <hannu.nyman@iki.fi>
Mon, 29 Dec 2025 19:55:14 +0000 (21:55 +0200)
commitda6544f12ae14629db51b7b09ce54bedca661dea
tree080cbd5d9e5e7ef75f65c9886084fab375aa1788
parent9f0b6fbc01e19d54312f8350ae1e1c72cffcad69
ruby: update to 4.0.0

Ruby 4.0 introduces "Ruby Box" and "ZJIT", and adds many improvements.
- Introduce experimental ZJIT compiler
- Improve YJIT performance and memory usage
- Add experimental Ruby Boxes object layout optimization
- VM and GC performance improvements
- Ractor runtime and scheduling enhancements
- Update language syntax and semantics (*nil behavior, logical operator parsing)
- Add Array#rfind and optimized Array#find
- Improve Binding API and implicit parameter access
- Extend Enumerator.produce with size keyword
- Enhance ArgumentError diagnostics with caller/callee context
- Add Fiber#raise(cause:)
- IO.select accepts Float::INFINITY timeout
- Improve Kernel#inspect extensibility
- Add Math.log1p and Math.expm1
- Promote Pathname and Set to core classes
- Extend Ractor API (join, value, lifecycle helpers)
- Fix endless and infinite Range behavior
- Define new top-level Ruby module
- Update Unicode to 17.0 and extend String strip methods
- Update bundled gems (RubyGems, Bundler, IRB, etc.)

Packaging changes:
- Include license files for all packages
- As ruby set moved into core, ruby-set is gone.
  ruby-setsubclasscompact was added to include the set subclass
  compatible layer
- Added conditional libatomic dependency for libruby
- YJIT and ZJIT are not built when cross-compiling (almost always for
  openwrt, even when archs matches). However, the Makefile is ready for
  both when upstream adds that feature. Config entries are marked as
  BROKEN for now.

Changelog: https://github.com/ruby/ruby/compare/v3_4_0...v4.0.0
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
lang/ruby/Makefile
lang/ruby/ruby_find_pkgsdeps
lang/ruby/ruby_missingfiles