| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| %global mvrel 2024.04 |
| Name: moarvm |
| Version: %{mvrel} |
| Release: 0 |
| Summary: A virtual machine built especially for Rakudo |
| License: Artistic-2.0 |
| Group: Development/Libraries/Other |
| URL: https://moarvm.org |
| Source: https://moarvm.org/releases/MoarVM-%{mvrel}.tar.gz |
| |
| Patch0: reproducible.patch |
| BuildRequires: pkgconfig |
| BuildRequires: perl(ExtUtils::Command) |
| BuildRequires: pkgconfig(libffi) |
| %if 0%{?suse_version} >= 1550 |
| BuildRequires: pkgconfig(libtommath) |
| BuildRequires: pkgconfig(libuv) |
| %endif |
| %if !0%{?rhel_version} |
| BuildRequires: pkgconfig(libzstd) |
| %endif |
| |
| %description |
| Short for "Metamodel On A Runtime", MoarVM is a modern virtual machine built |
| for the Rakudo compiler implementing the Raku Programming Language, and the |
| NQP Compiler Toolchain. MoarVM is used by the majority of Raku programmers. |
| Highlights include: |
| |
| Great Unicode support, with strings represented at grapheme level |
| Dynamic analysis of running code to identify hot functions and loops, and |
| perform a range of optimizations, including type specialization and inlining |
| Support for threads, a range of concurrency control constructs, and asynchronous |
| sockets, timers, processes, and more |
| Generational, parallel, garbage collection |
| |
| %package devel |
| Summary: MoarVM development headers and libraries |
| Group: Development/Libraries/Other |
| Requires: %{name} = %{version} |
| Requires: pkgconfig(libffi) |
| BuildArch: noarch |
| %if 0%{?suse_version} >= 1550 |
| Requires: pkgconfig(libtommath) |
| Requires: pkgconfig(libuv) |
| %endif |
| %if !0%{?rhel_version} |
| Requires: pkgconfig(libzstd) |
| %endif |
| |
| %description devel |
| MoarVM (Metamodel On A Runtime) development headers. |
| |
| %prep |
| %autosetup -p1 -n MoarVM-%{mvrel} |
| |
| %build |
| extra_config_args= |
| %if 0%{?suse_version} >= 1550 |
| extra_config_args+=" --has-libtommath --has-libuv" |
| %endif |
| CFLAGS="%{optflags}" \ |
| perl Configure.pl --prefix=%{_usr} --libdir=%{_libdir} --debug --optimize=3 --has-libffi $extra_config_args |
| %make_build NOISY=1 |
| |
| %install |
| %make_install |
| find %{buildroot} -type f \( -name '*.so' -o -name '*.so.*' \) -exec chmod 755 {} + |
| mkdir -p %{buildroot}/%{_libdir}/moar/share |
| |
| %files |
| %doc CREDITS Artistic2.txt docs |
| %license LICENSE |
| %{_bindir}/moar |
| %{_libdir}/libmoar* |
| %{_libdir}/moar |
| %{_datadir}/nqp |
| |
| %files devel |
| %{_includedir}/* |
| %{_datadir}/pkgconfig/* |
| |
| %changelog |