-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing 4.0.3 for JRuby #52
Comments
Ugh, I'm sorry. I just pushed it. It's such a pain to make a separate release for JRuby, and I've heard a way to somehow support both despite having a C extension before. I'm gonna look into it. |
the discussion: https://twitter.com/_byroot/status/1707031627132547231 |
So I just pushed 4.0.4, and I deliberately did NOT push a
|
@k0kubun It does install, but on systems where The best way to fix this would be to move the extension to a separate gem erb-escape that can be shipped with CRuby but optional for all users. See #32 which was never really resolved. We could also port the extension to JRuby, but that would still require a -java gem to avoid the makefile/build logic. |
And thank you for pushing updates! I believe we'll still need a 4.0.4-java that does not try to generate a makefile and run it. |
This seems like the actual problem to me. Can we add an API in extconf to skip executing In the meantime, I pushed |
hsbt shared that nobu implemented a rake task to build a java gem from CRuby https://github.com/ruby/io-console/blob/v0.7.0/rakelib/build_java.rake. If running |
I replied in https://bugs.ruby-lang.org/issues/20152?next_issue_id=20151&prev_issue_id=20153#note-7. |
RubyGems could detect dummy Makefiles as those created by |
That would be great! I sympathize with the extra support required, but we are standing by to help at any time. Until RubyGems is more flexible about install-time dependencies and dummy extension builds, this is the simplest answer.
Windows. Seriously though, hardly any JRuby dependencies require C build tools and we want to keep it that way as much as possible. JRuby users should be able to get up and running on any system with just a Java installation present.
It can be avoided for sassc by downloading a pre-built library. That doesn't happen on the JRuby version yet, but it could (just needs some work on the platform-agnostic version of the gem). It can be avoided for prism the same way, by downloading a pre-built native binary. We are also exploring options to run prism directly on JVM without native code. In any case, two examples that actually do need to be built to run does nothing to validate a Makefile that does nothing. It does not make sense to me to generate a dummy Makefile and require And I can see a future where TruffleRuby might want this feature as well: you might run erb's Ruby code faster than the extension, and want to opt-out of building and using it. The dummy Makefile would accomplish that, but being able to say "no extension on TruffleRuby please" would be much cleaner.
This would be much better. Nothing will happen for an empty Makefile in either case, so there's little point in running |
This version provides a -java gem that does not try to build an extension. We are discussing how to make this simpler and contain it within one gem. See ruby/erb#52 and the CRuby issue at https://bugs.ruby-lang.org/issues/20152?next_issue_id=20151&prev_issue_id=20153#note-7
But this would require prism to build & publish prebuilt binaries, that is a lot of trouble and extra complications.
Yes I think this is the best way to address this. |
Seems like it wasn't pushed. As a result the 4.0.3 gem cannot install on JRuby because it depends on C extensions.
https://rubygems.org/gems/erb/versions
The text was updated successfully, but these errors were encountered: