The fast_xor README actually says to use xorcist. I believe the code was simply moved there and expanded to support JRuby.
Here’s the complete list of exts with status as I know it today.
- bootsnap: JRuby support · Issue #129 · Shopify/bootsnap · GitHub
- fast_blank: Should no longer be transitive dep of onebox, could be MRI-only in Gemfile, or could support JRuby. JRuby support by headius · Pull Request #21 · SamSaffron/fast_blank · GitHub
- fast_xor: Switch to xorcist. GitHub - fny/xorcist: Blazing-fast-cross-platform-monkey-patch-free string XOR
- fast_xs: This would be an easy port, or could possibly be omitted. JRuby support · Issue #6 · brianmario/fast_xs · GitHub
- cppjieba_rb: JRuby support using jieba-analysis library for Java · Issue #1 · fantasticfears/cppjieba_rb · GitHub
- libv8: Transitive dependency of mini_racer. Replace with therubyrhino or the Nashorn equivalent?
- nokogumbo: Transitive dependency of sanitize. Library wrapper for Gumbo HTML5 parser. Probably could use FFI effectively…it’s very small. JRuby support · Issue #24 · rubys/nokogumbo · GitHub
- oj: Get Tom Enebo (or help him) to finish his port: GitHub - enebo/oj: Optimized JSON
- pg: Use pg_jruby and improve it as needed.
- rinku: JRuby support · Issue #75 · vmg/rinku · GitHub
- unicorn: Only needed on MRI.
I updated the gist I linked above, now excluding or replacing all the gems above. With these changes, bundle install completes.
I have no idea if Discourse actually works yet though