[#114062] [Ruby master Bug#19751] Ruby 3.2.2 Fails to Compile from Source — "martin_vahi (Martin Vahi) via ruby-core" <ruby-core@...>

Issue #19751 has been reported by martin_vahi (Martin Vahi).

9 messages 2023/07/01

[#114064] [Ruby master Feature#19752] Allow `--backtrace-limit` to appear in RUBYOPT — "tomstuart (Tom Stuart) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NzUyIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHRvbXN0dWFydCAoVG9tIFN0dWFydCku

8 messages 2023/07/01

[#114070] [Ruby master Bug#19753] IO::Buffer#get_string can't handle negative offset — "noteflakes (Sharon Rosner) via ruby-core" <ruby-core@...>

Issue #19753 has been reported by noteflakes (Sharon Rosner).

10 messages 2023/07/03

[#114072] [Ruby master Bug#19754] `IO::Buffer#get_string` raises unsuitable exception for too large offset — "nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>

Issue #19754 has been reported by nobu (Nobuyoshi Nakada).

7 messages 2023/07/03

[#114074] [Ruby master Feature#19755] Module#class_eval and Binding#eval use caller location by default — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

Issue #19755 has been reported by byroot (Jean Boussier).

15 messages 2023/07/03

[#114080] [Ruby master Bug#19756] URI::HTTP.build does not accept a host of `_gateway`, but `URI.parse` will. — "postmodern (Hal Brodigan) via ruby-core" <ruby-core@...>

Issue #19756 has been reported by postmodern (Hal Brodigan).

9 messages 2023/07/04

[#114168] [Ruby master Misc#19766] DevMeeting-2023-08-24 — "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>

Issue #19766 has been reported by mame (Yusuke Endoh).

9 messages 2023/07/13

[#114222] [Ruby master Misc#19772] API Naming for YARP compiler — "jemmai (Jemma Issroff) via ruby-core" <ruby-core@...>

Issue #19772 has been reported by jemmai (Jemma Issroff).

31 messages 2023/07/17

[#114276] [Ruby master Bug#19784] String#delete_prefix! problem — "inversion (Yura Babak) via ruby-core" <ruby-core@...>

Issue #19784 has been reported by inversion (Yura Babak).

10 messages 2023/07/25

[#114309] [Ruby master Feature#19787] Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map! — "joshuay03 (Joshua Young) via ruby-core" <ruby-core@...>

Issue #19787 has been reported by joshuay03 (Joshua Young).

7 messages 2023/07/29

[#114319] [Ruby master Feature#19790] Optionally write Ruby crash reports into a file rather than STDERR — "byroot (Jean Boussier) via ruby-core" <ruby-core@...>

SXNzdWUgIzE5NzkwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGJ5cm9vdCAoSmVhbiBCb3Vzc2llciku

13 messages 2023/07/31

[ruby-core:114184] [Ruby master Feature#19351] Promote bundled gems at Ruby 3.3

From: deivid via ruby-core <ruby-core@...>
Date: 2023-07-14 10:10:21 UTC
List: ruby-core #114184
Issue #19351 has been updated by deivid (David Rodr=EDguez).





I guess we can try to predict via codesearch which libraries will be affect=
ed by this and fix them in advance?



----------------------------------------

Feature #19351: Promote bundled gems at Ruby 3.3

https://bugs.ruby-lang.org/issues/19351#change-103871



* Author: hsbt (Hiroshi SHIBATA)

* Status: Assigned

* Priority: Normal

* Assignee: hsbt (Hiroshi SHIBATA)

----------------------------------------

In Ruby 3.2, the default gems and bundled gems are changed only adding `syn=
tax_suggest`. I and some committers are considering promote default gems to=
 bundled gems again for Ruby 3.3+.



We hope to keep the current developer experience with dependency resolution=
 and ignore the additional work like "Put gem "xxx" into your Gemfile" for =
developers.



### Proposal for Ruby 3.3.0-preview2



I propose the following libraries will promote default gems to bundled gems=
 at Ruby 3.3.0-preview2



```

abbrev

getoptlong

observable

resolv-replace

rinda

nkf (C-ext)

syslog (C-ext)

base64

drb

mutex_m

csv

```



Other default gems depends on `make test-all` or other standard libraries. =
It's hard to promote in this time. And I submit a PoC of bypass feature for=
 Bundler and bundled gems: https://github.com/rubygems/rubygems/pull/6811



This feature add `load_paths` defined by `Gem.bundled_gems` that is pair li=
st of Gem name and version under the Bundler environment. This mean user ca=
n `require` bundled gems like `csv` without `gem "csv"` on Gemfile.



And we need to warn like "'csv' is loaded without Gemfile, add "gem 'csv'" =
in your Gemfile" in `require` or other place. I have no idea how notice thi=
s yet.



----





### Proposal



I propose the following libraries will promote default gems to bundled gems=
 at Ruby 3.3. They are not the dependencies of Rails and RubyGems/Bundler.



```

abbrev

getoptlong

observable

resolv-replace

rinda

nkf (C-ext)

syslog (C-ext)

```



Update: I removed `optparse` and `un` from above list. Because they are use=
d by Ruby build process.



```

optparse

un

```



Update 2: I also removed the following libraries. `resolv` and `fcntl` are =
used by test of Ruby internal like `test_io.rb`. And we don't have built pr=
ocess of C extension at Windows platform. I gave up to extract `win32ole` i=
n this time.



```

resolv

fcntl (C-ext)

win32ole (C-ext)

```



### Additional works



I also propose to promote rails dependencies without rubygems/bundler deps:



```

base64

drb

mutex_m

```



Update: `delegate` is used by `tempfile`. We need to keep `delegate` as def=
ault gems for build process. and I added `reline` into above list.



Update 2: The following libraries used by tests of `ruby/ruby` and other li=
braries like psych. I need to remove their dependency from `ruby/ruby`.



```

benchmark

forwardable

ipaddr

irb

reline

ostruct

rdoc

singleton

tsort

weakref

bigdecimal (C-ext)

date(datetime) (C-ext)

```



And gems maintained by @kou=20



```

csv

```



Following gems also maintained by @kou, but they are used on RubyGems/Bundl=
er or MJIT. Maybe, We couldn't promote them because RubyGems/Bundler couldn=
't bundle C-ext gems.



```

fiddle (C-ext): used by MJIT

stringio (C-ext) used by RubyGems/Bundler

strscan (C-ext) used by RubyGems/Bundler

```



### Follow-up feature



But if we promote them to bundled gems, many of users need to add like `gem=
 "csv"` into their Gemfile. I'm considering avoiding this situation.



Can we introduce the specific feature of bundled gems to RubyGems or Bundle=
r? Example, bundler have allowed list for bundled gems. So, listed gems cou=
ld be require without Gemfile under the bundle exec.







--=20

https://bugs.ruby-lang.org/

 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-c=
ore.ml.ruby-lang.org/

In This Thread