Project

General

Profile

ActionsLike2

Feature #20309

closed

Bundled gems for Ruby 3.5

Added by hsbt (Hiroshi SHIBATA) about 1 year ago. Updated 3 months ago.

Status:
Closed
Target version:
-
[ruby-core:116983]

Description

I propose migrate the following default gems to bundled gems at Ruby 3.5. So, It means users will get warnings if users try to load them.

(Update with 2024/03/14, 2024/06/05, 2024/09/06)

  • rdoc(done)
    • We need to change build task like download rdoc gem before document generation.
      • extract make doc from make all and invoke make doc before make install.
        • done for Ruby 3.4
    • or We make document generation is optional from Ruby 3.5
      • We explicitly separate make install and make install-doc
  • ostruct(done)
  • pstore(done)
  • win32ole(done)
  • logger(done)
    • activesupport needs to add logger to its dependency same as bigdecimal, drb or etc.
  • fiddle(done)
  • benchmark
  • irb
    • We need to consider how works binding.irb after Ruby 3.5.
    • I consider to use irb without Gemfile.
  • reline
  • readline (wrapper file for readline-ext and reline)

I have a plan to migrate the following default gems too. But I need to more feedback from other committers about them.

  • io-console
    • rubygems uses that. Should we make optional that?
  • open-uri
  • yaml (wrapper file for psych)
    • syck is retired today. I'm not sure what people uses psych directly, not yaml.
  • un
    • ruby -run is one of cool feature of Ruby. Should we avoid uninstalling un gem?
    • mkmf uses ruby -run for that. I need to investigate that.
  • singleton
    • This is famous design pattern. Should we enforce users add them to their Gemfile?
  • forwadable
    • reline needs to add forwardable their runtime_dependency after migration.
  • weakref
    • I'm not sure how impact after migrating bundled gems.
  • fcntl
    • Should we integrate these constants into ruby core?

I would like to migrate ipaddr and uri too. But these are used by webrick that is mock server for our test suite. We need to rewrite webrick with TCPSocker or extract ipaddr and uri dependency from webrick

Other default gems depend on our build process or other libraries deeply. I will update this proposal if I could extract them from default gems.


Related issues 4 (1 open3 closed)

Related to Ruby - Feature #20187: Bundled gems at Ruby 3.4Closedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby - Feature #19351: Promote bundled gems at Ruby 3.3Closedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby - Feature #20347: Separate docs task from allClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby - Bug #20714: Handle optional dependencies in `bundled_gems.rb`Assignedhsbt (Hiroshi SHIBATA)Actions

Added by hsbt (Hiroshi SHIBATA) 4 months ago

Revision 5f4be3ad

Make ostruct as bundled gems

Added by hsbt (Hiroshi SHIBATA) 4 months ago

Revision 0c3dca62

Make pstore as bundled gems

Added by hsbt (Hiroshi SHIBATA) 4 months ago

Revision b0d3771b

Make benchmark as bundled gems

Added by hsbt (Hiroshi SHIBATA) 4 months ago

Revision cda268d8

Make logger as bundled gems

Added by hsbt (Hiroshi SHIBATA) 4 months ago

Revision 86d871d2

Migrate rdoc as bundled gems

Added by hsbt (Hiroshi SHIBATA) 4 months ago

Revision 72189168

Migrate win32ole as bundled gems

Added by hsbt (Hiroshi SHIBATA) 3 months ago

Revision 0fdc9b9f

Migrate irb and reline to the bundled gems

Added by hsbt (Hiroshi SHIBATA) 3 months ago

Revision 908529b7

Migrate fiddle as bundled gems

ActionsLike2

Also available in: Atom PDF