-
Notifications
You must be signed in to change notification settings - Fork 194
Open
Labels
Description
This an issue to track all default gems with an extension, which might need specific support for TruffleRuby.
For some, we might just reuse the C extension and add TruffleRuby in the CI of those gems.
These default extension gems are problematic when they included in a Gemfile.lock, https://bugs.ruby-lang.org/issues/18567#note-30 has more details.
Related JRuby issue: jruby/jruby#6682
For some extensions gems, we have a different implementation, typically pure-Ruby.
For some extensions gems we use them as-is (just need to add truffleruby in CI).
- bigdecimal: Add TruffleRuby in CI ruby/bigdecimal#247cgi: should add to CI and look into failures. JRuby support PR for cgi/escape Add TruffleRuby support and add it in CI ruby/cgi#44digest: Add Digest framework support #1390 We probably want to use the C extension to support
ruby/digest.h
fcntlio-waitopensslpsychraccreadline-extstringio: we have a pure-Ruby implementation, similar to strscan Do not compile the C extension on TruffleRuby ruby/stringio#71strscan: we have a pure-Ruby implementation require "strscan.so" uses the strscan gem and does not work #2420 Add support for TruffleRuby in the gem ruby/strscan#35syslogTo pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
Pure-Ruby gems (good to add truffleruby in CI):
- timeout: Reimplement Timeout.timeout with a single thread and a Queue ruby/timeout#15 the original pure-Ruby impl is too slow with 1 new Thread per callTo pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
rubyFeedback
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
chrisseaton commentedon Apr 22, 2022
Do JRuby have an approach to this problem? Do they all include Java code?
eregon commentedon Apr 23, 2022
Yes basically JRuby's approach so far is to mostly upstream their JRuby-specific extension Java code into those default gems' repositories (and publish a java platform gem).
You can check the linked PRs in the linked JRuby issue for more details.
eregon commentedon Jan 27, 2023
Here is a list of default gems with extensions in 3.1:
And for the raw list:
We should prioritize adding truffleruby in the CI of those to make sure they work and keep working on truffleruby.
[-]Support default extension gems[/-][+]Support default & bundled extension gems[/+]