ruby-trunk-changes 2024-06-18

今日は主に cross compiling 環境での拡張ライブラリを含む gem のビルドのための rubygems/bundler の機能追加などがありました。WASI 環境での事前 gem install への準備が進んでいるみたいですね。

[27e13fbc58] Kevin Menard 2024-06-10 21:36:52 UTC

String#<< の実装で引数が Integer で receiver の Encoding が ASCII-8BIT の時に高速化のための実装を追加してそちらに分岐するようにしています。 https://github.com/ruby/ruby/pull/10968

[a119b5f879] Kevin Menard 2024-06-11 19:24:12 UTC

27e13fbc58b02bc027de9c51c8963f57276ac7c1 と同様に String#<< の実装に引数が Integer で Encoding が US-ASCII の時にも高速化のための実装で対応するようにしています。 https://github.com/ruby/ruby/pull/10968

[657c8db8de] Alan Wu 2024-06-14 20:24:35 UTC

YJIT のデバッグのためのオプション --yjit-dump-disasm で相対パスディレクトリを指定した状態でカレントディレクトリを変更するとその影響を受けてしまうので file descriptor を保持してディレクトリを移動しても影響されないように改善しています。

[91bbb78313] Kevin Menard 2024-06-17 20:29:43 UTC

YJIT の Rust 実装の警告抑制のための attribute を追加しています。

[273d41b9e3] Yuta Saito 2024-05-04 21:23:36 UTC

rubygems の gem install 時に参照する rbconfig.rb を指定するためのオプション --target-rbconfig を追加しています。クロスコンパイル時の拡張ライブラリを含む gem のビルドのため、というか WASI 環境で gem install を事前にできるようにするための機能追加かなと思います。

[3e4b694565] Yuta Saito 2024-05-04 22:36:25 UTC

bundler にも gem install の --target-rbconfig を指定するための設定を追加しています。

[97a23db5ac] Yuta Saito 2024-05-15 07:58:41 UTC

rubygems で拡張ライブラリを含む gem のビルド時に cross compiling が行なわれている場合に拡張ライブラリのインストールを lib/ の下に直接置かないようにしています。

[d914192012] Yuta Saito 2024-06-17 13:45:48 UTC

3e4b694565f8459c95283f6ec6aed52ad38cc57a の bundler の --target-rbconfig オプションの対応でオプション名の Hash のキーを Symbol にしないといけないのに文字列で参照していたところを修正しています。

[a3930db275] Alexey Schepin 2024-06-17 17:06:03 UTC

rubygems の余分な連続した空白の除去。

[7cbe54714c] Yuta Saito 2024-06-18 01:19:52 UTC

ext/extmk.rb で rubygems の Gem::Platform のみ読み込むところで Gem.target_rbconfig の定義も追加しておくようにしています。