Merged
Conversation
fec8748 to
0e32cd5
Compare
Member
Author
|
Gem will be ready to release once ruby/syslog#28 merges. I will re-push this PR to switch to the gem at that point. |
Member
Author
|
Still waiting on ruby/syslog#28. |
Member
Author
|
Still waiting on ruby/syslog#28. @hsbt What can I do to help get a new syslog gem released? |
|
Just released https://github.com/ruby/syslog/releases/tag/v0.4.0 |
Member
Author
|
@hsbt Wonderful, thank you! I will release future version for JRuby changes as needed. |
Merged
1040c5d to
49dcdd9
Compare
Member
Author
|
This is ready to go. |
Member
Author
|
Ok maybe not... |
headius
added a commit
to headius/jruby
that referenced
this pull request
Jan 29, 2026
The RubyGems we run at build time runs with JRuby 9.4, which causes it to use properties from that version for things like gem paths and extension directories. This is related to the extension disabling change in jruby#8415 and causes the build-time extension faking to use the wrong path. For example: .../gems/shared/extensions/universal-java-25/3.1.0 when it should be .../gems/shared/extensions/universal-java/3.4.0 The change here uses RubyGems' cross-compiling capability by forcing a specific rbconfig.rb to be use, and additionally fakes out the Ruby API version by setting @ruby_api_version on the Gem module. This was discovered while attempting to switch fully to the syslog gem in jruby#9109, since as a bundled gem it will not be activated unless we successfully fake-out the extension build. See also this bug related to the resolv gem installing extensions: * jruby#8649
49dcdd9 to
b5c84d2
Compare
headius
added a commit
to headius/jruby
that referenced
this pull request
Jan 29, 2026
The RubyGems we run at build time runs with JRuby 9.4, which causes it to use properties from that version for things like gem paths and extension directories. This is related to the extension disabling change in jruby#8415 and causes the build-time extension faking to use the wrong path. For example: .../gems/shared/extensions/universal-java-25/3.1.0 when it should be .../gems/shared/extensions/universal-java/3.4.0 The change here uses RubyGems' cross-compiling capability by forcing a specific rbconfig.rb to be use, and additionally fakes out the Ruby API version by setting @ruby_api_version on the Gem module. This was discovered while attempting to switch fully to the syslog gem in jruby#9109, since as a bundled gem it will not be activated unless we successfully fake-out the extension build. See also this bug related to the resolv gem installing extensions: * jruby#8649
It only defined constants from jnr-constants, which we can do in Ruby.
Because of the issue described in an fixed by jruby#9197, the fake-out of the syslog extension build fails. Because it was being installed as a bundled gem rather than a default gem, and RubyGems will not activate a gem whose extension has not been built, this prevented syslog from being loadable. The change here moves it to a default gem for now, so that it can still be loaded from stdlib as well as being upgraded by users. These changes should be reverted once the gem platform fix has been merged.
b5c84d2 to
149de66
Compare
Member
Author
headius
added a commit
to headius/jruby
that referenced
this pull request
Feb 3, 2026
The RubyGems we run at build time runs with JRuby 9.4, which causes it to use properties from that version for things like gem paths and extension directories. This is related to the extension disabling change in jruby#8415 and causes the build-time extension faking to use the wrong path. For example: .../gems/shared/extensions/universal-java-25/3.1.0 when it should be .../gems/shared/extensions/universal-java/3.4.0 The change here uses RubyGems' cross-compiling capability by forcing a specific rbconfig.rb to be use, and additionally fakes out the Ruby API version by setting @ruby_api_version on the Gem module. This was discovered while attempting to switch fully to the syslog gem in jruby#9109, since as a bundled gem it will not be activated unless we successfully fake-out the extension build. See also this bug related to the resolv gem installing extensions: * jruby#8649
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR will eventually switch us to the syslog gem, once our FFI-based version has been incorporated.
See ruby/syslog#1