JRuby 1.7.0 progress

Bohuslav Kabrda bkabrda at redhat.com
Tue Oct 9 06:45:44 UTC 2012


Just BTW, I have also added the changed rubygems.spec and rubygem-json.spec and their patches/etc to the "jruby.spec" repo at github [1], so that everyone can browse the changes easily.

[1] https://github.com/bkabrda/jruby.spec

----- Original Message -----
> Hi folks,
> I'm writing a quick summary of what I managed to achieve with
> JRuby/Fedora implementation so far. You can try out my repo at [1]
> and see the progress of work on jruby.spec at [2].
> - I have managed to remove the RubyGems copy from JRuby and make them
> work with our system RubyGems - I had to apply few JRuby specific
> patches there - two are already accepted upstream, but not merged
> into the 1.8 tree, one is still pending [3]. The updated RubyGems
> are also in the mentioned repo and please be careful when installing
> them, preferably use mock.*
> - As a part of the RubyGems modifications, I have also prepared a
> sample gem (rubygem-json, also in the repository), with a
> rubygem-json-java subpackage, that provides Java extensions for
> JRuby.
> - Pure Gems from Fedora now work with JRuby out of the box, no
> modification needed.
> - "jgem" command works exactly as "gem", only using JRuby - nice,
> isn't it? :)
> - load paths set has been brought much closer to MRI, which allowed
> most of the stuff I have done
> 
> TODO:
> - I'm still unsure what is the best way to set up the
> Provides/Requires, so that RubyGems would be installable without
> MRI, only with JRuby. I guess we can live with JRuby dragging in
> Ruby, that's a small problem for now :)
> - Some modifications to Guidelines will be needed, explaining how to
> build Gems/non-Gems for JRuby.
> - I will also add a jruby-devel package with macros.jruby to match
> MRI's behaviour closely.
> 
> * The reason for this is, that I have also tried to introduce new
> naming scheme for Gems extensions dirs, which is not compatible with
> the current one. So far, the %gem_extdir was
> "/usr/lib[64]/gems/exts". With Rubinius and JRuby comming, there is
> a slight problem - extensions for JRuby should of course go under
> /usr/share/gems/exts, but Rubinius extensions would have problems,
> as they should go under %gem_extdir, too. Therefore, I'd like to
> propose this scheme for extension placement:
> %gem_extdir %{_libdir}/gems/ruby # MRI
> %xgem_extdir %{_libdir}/gems/rubinius # Rubinius, not sure if that
> should be named "xgem_extdir", what do the others think?
> %jgem_extdir %{_datadir}/gems/jruby #JRuby # JRuby
> This logic to implement this is very simple and it all goes to
> defaults/operating_system.rb in the updated rubygems package in my
> repo (specfile is a bit adjusted, too).
> There is also a question of versioning these dirs, mainly Rubinius
> exts, but I'm leaving that for future, comment if you have any good
> ideas :)
> 
> Thanks goes to Charles Nutter for taking the JRuby RubyGems close to
> upstream, which was very important from Fedora integration POV :)
> 
> Slavek.
> 
> --
> Regards,
> Bohuslav "Slavek" Kabrda.
> 
> [1] http://bkabrda.fedorapeople.org/jruby/jruby.repo
> [2] https://github.com/bkabrda/jruby.spec
> [3] https://github.com/rubygems/rubygems/pull/371
> _______________________________________________
> ruby-sig mailing list
> ruby-sig at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/ruby-sig

-- 
Regards,
Bohuslav "Slavek" Kabrda.


More information about the ruby-sig mailing list