ruby-i18n / i18n

Internationalization (i18n) library for Ruby
MIT License
976 stars 408 forks source link

Add racc to gemspec #680

Closed yykamei closed 6 months ago

yykamei commented 7 months ago

According the release note of Ruby 3.3, racc will become the bundled gem. This patch adds the gem to i18n.gemspec for the next version of Ruby.

In addition to this change, I made changes in the GitHub workflow to run tests in Ruby 3.3 because I got an error in Ruby 3.3 when running tests: cannot load such file -- racc/parser. This error is resolved by adding racc to gemspec.

I want to make sure this Gem works in Ruby 3.3, so the GitHub workflow is also updated.

The backtrace for cannot load such file -- racc/parser

``` /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `require': cannot load such file -- racc/parser (LoadError) from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require' from /Users/yutaka.kamei/git/Fork/i18n/lib/i18n/gettext/po_parser.rb:13:in `' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `require' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require' from /Users/yutaka.kamei/git/Fork/i18n/lib/i18n/backend/gettext.rb:4:in `' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `require' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require' from /Users/yutaka.kamei/git/Fork/i18n/test/gettext/backend_test.rb:9:in `' from /Users/yutaka.kamei/git/Fork/i18n/test/gettext/backend_test.rb:8:in `' from /Users/yutaka.kamei/git/Fork/i18n/test/gettext/backend_test.rb:5:in `' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `require' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rake-13.1.0/lib/rake/rake_test_loader.rb:21:in `block in

' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rake-13.1.0/lib/rake/rake_test_loader.rb:6:in `select' from /Users/yutaka.kamei/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rake-13.1.0/lib/rake/rake_test_loader.rb:6:in `
' rake aborted! ```

radar commented 6 months ago

Thank you! I took this work into https://github.com/ruby-i18n/i18n/pull/684 and merged it in there.

yykamei commented 6 months ago

Thank you!

stanhu commented 6 months ago

FYI, this change broke our Ruby 3.1 CI builds because we were using ruby:3.1-slim, which does not have gcc and make. Our CI installs activesupport, which installs i18n. This change now pulls in racc, which has native extension support and thus requires a compiler.

Perhaps this should have been a major version bump.

radar commented 6 months ago

@stanhu This change has been reverted in I18n v1.14.4.

stanhu commented 6 months ago

@radar Thank you!