On Thu, Oct 27, 2022 at 4:14 PM Jarek Prokop <jpro...@redhat.com> wrote:

> Hi,
> On 10/27/22 15:14, Jun Aruga (he / him) wrote:
>
> On Fri, Oct 21, 2022 at 3:39 PM Vít Ondruch <vondr...@redhat.com> 
> <vondr...@redhat.com> wrote:
>
> Dne 21. 10. 22 v 13:56 Mamoru TASAKA napsal(a):
>
> Vít Ondruch wrote on 2022/10/17 23:24:
>
> Hi again,
>
> Here is yet another version from Friday:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=92978738
>
> Nothing really special from Ruby POV, but I have enabled
> out-of-source build, as was previously discussed here:
> https://src.fedoraproject.org/rpms/ruby/pull-request/120
> https://src.fedoraproject.org/rpms/ruby/pull-request/122
>
> So while this should not have any influence on resulting package, it
> might come handy when somebody wants to clean the source tree and
> play with e.g. different configuration options or what not.
>
>
> Vít
>
>
> Thank you.
>
> By the way, do you have some plan to bring ruby 3.2 development rpm to
> f38 buildroot earlier than 2022 Christmas (say, around 2022/11/E)?
>
> Thanks for the work.
> I am trying to build on the private-ruby-3.2 branch.
> Where is the SRPM file including the ruby-3.2.0-70bc8cc6c2.tar.xz ?
> Could you share?
>
> I have been testing Ruby 3.2.0 preview2. The outcome is 
> below.https://www.ruby-lang.org/en/news/2022/09/09/ruby-3-2-0-preview2-released/
>
> ## WebAssembly support
>
> This is one of the new features in Ruby 3.2.0, and that is to build a
> Ruby source for the WebAssembly target, and then run a Ruby code on
> the Ruby on the Web Assembly runtime.
> But this feature is exclusive from the current Ruby in the Ruby RPM.
> When building Ruby for that, we can not run the Ruby without the
> WebAssembly runtime.
> So, I think it's not realistic to include the feature in the Ruby RPM.
>
> I do not think any distribution will be able to reasonably support this.
>
> From my understanding of WASM, it is required to crosscompile everything
> needed to run the application,
> so that it is usable in browser or other WASM runtimes.
>
> It is a feature that upstream supports, which is nice from language
> usability perspective, but not something we are able to or want to
> reasonably support.
> Those who want to use it, need to crosscompile whole Ruby from source, as
> is the case with any other C application.
>
> Or, such people can download the .src.rpm unpack it and adjust the
> specfile to match their needs.
>
> I think it is comparable to mruby (the lightweight embeddable ruby):
> https://github.com/mruby/mruby
> These kinds of applications are better fine tuned by app developers
> themselves than the Linux distribution packagers.
>

Hi Jarek,
Thanks for sharing the info. For the mruby, in the past I developed an iOS
application on iPad and iPhone. In the application build process, I built
an Objective-C app with C or C++ library sources. The libraries are managed
as static libraries. So, I guess the mruby's case is something like this.
For the WASM, the application developers can build the Ruby with the WASM
target when building their applications.


> See devel@ mailing list - Subject: "Packaging a cross-compilation
> environment (wasi-libc)" for details.
>
> ## Regexp timeout
>
> I found a small issue on a new feature. Then it was 
> fixed.https://bugs.ruby-lang.org/issues/19055
>
> ## YJIT support
>
> YJIT is to improve the performance of Ruby code by using Rust. It's
> like MJIT (previously called JIT) by using gcc or clang.
>
> I think adding this feature in the Ruby RPM is realistic. So, I tested
> this feature with the upstream Ruby source code in some cases.
>
> Because in my understanding the YJIT is only available with the `ruby
> --yijt` option. It seems that it doesn't affect the current Ruby
> features. Possibly we need to add "BuildRequires rust cargo", and also
> needs a dependency rust (and cargo?) to run the `ruby --yjit`.
>
> ```
> $ ./configure --enable-yjit ...
> $ make
> $ make install
>
> $ ruby --help
> ...
> Features:
>   gems            rubygems (only for debugging, default: enabled)
> ...
>   mjit            C compiler-based JIT compiler (default: disabled)
>   yjit            in-process JIT compiler (default: disabled) # <=
> This line appears. And this feature is only enabled with the `ruby
> --yjit`.
> ...
>
> $ ruby --yjit my_script.rb
> ```
>
> See the following links for 
> details.https://bugs.ruby-lang.org/issues/18481https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md#installation
>
> I read that document, we should only need the `%{_bindir}/rustc`. Ruby
> upstream was successful in keeping the
> production version without any external dependencies apart from base Rust
> libraries AFAICT.
>
> At least that's what I understood from requirement: `... and Cargo (if you
> want to build in dev/debug mode)`
> This to me implies that cargo is only needed for dev/debug mode, which is
> not needed for Ruby distributed in Fedora IMO.
>
> Another downside of yjit is that it is currently only x86_64 and aarch64
> AFAICT.
> https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md#current-limitations
>
> Thanks for working on this, Jun.
>

Thanks for your input. I will create a pull-request to the private-ruby-3.2
branch to add the YJIT feature.

Jun

-- 
Jun | He - Him | Timezone: UTC+1 or 2, Czech Republic
See <https://www.worldtimebuddy.com/czech-republic-prague-to-utc> for the
timezone.
_______________________________________________
ruby-sig mailing list -- ruby-sig@lists.fedoraproject.org
To unsubscribe send an email to ruby-sig-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to