## START: Set by rpmautospec ## (rpmautospec version 0.8.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec Name: rakudo Version: 2026.08 Release: 2 Summary: Raku on MoarVM, JVM, and JS License: Artistic-2.0 URL: https://rakudo.org/ Source0: rakudo-%{version}.tar.gz Source1: macros.raku Source2: rakudo.sh %define _prefix /opt/rakudo BuildRequires: gcc BuildRequires: git BuildRequires: make BuildRequires: perl #BuildRequires: libuv-devel #BuildRequires: libtommath-devel BuildRequires: libffi-devel #BuildRequires: mimalloc-devel BuildRequires: moarvm-devel >= %{version} BuildRequires: nqp >= %{version} Requires: moarvm >= %{version} Requires: nqp >= %{version} # Try disabling debug %global debug_package %{nil} # Also disable rpath checking because for some reason Configure.pl ends up with //opt/rakudo # and it complains about that... %global __brp_check_rpaths %{nil} # prevent mangling of shebangs, due to unwanted dependency %undefine __brp_mangle_shebangs %description Rakudo is a Raku Programming Language compiler for the MoarVM, JVM and Javascript virtual machines. %prep # By default expect version number, so specify just name %autosetup -p1 -n %{name} %build perl Configure.pl --prefix=%{_prefix} --backends=moar %make_build %install %make_install mkdir -p %{buildroot}%{_mandir}/man1 pod2man --center="Rakudo Manual" --release="Raku" --section=1 --name=rakudo \ docs/running.pod | gzip -c > %{buildroot}%{_mandir}/man1/rakudo.1.gz ln -s rakudo.1.gz %{buildroot}%{_mandir}/man1/raku.1.gz install -pDm755 tools/install-dist.raku %{buildroot}%{_bindir}/raku-install-dist # Setup path mkdir -p %{buildroot}/etc/profile.d/ install -pDm755 %{SOURCE2} %{buildroot}/etc/profile.d/ # Raku RPM macros mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d install -pDm0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.raku # Avoid duplicates by creating symbolic links. for i in %{buildroot}%{_bindir}/perl6* %{buildroot}%{_datadir}/perl6/runtime/perl6*; do dir=$(dirname $i) f=$(basename $i | sed 's/perl6/rakudo/') if [ -e $dir/$f ]; then ln -sf $f $i fi done # remove zero-length files rm -r %{buildroot}%{_datadir}/perl6/core/precomp/ rm %{buildroot}%{_datadir}/perl6/core/repo.lock %check %ifarch %{ix86} s390x rm t/04-nativecall/26-varargs.t %endif # Disabling this test as it fails on ppc -- would be good to know why %ifarch ppc64le rm t/04-nativecall/02-simple-args.t %endif make test %files %license LICENSE %doc README.md %{_bindir}/perl6* %{_bindir}/raku %{_bindir}/raku-debug %{_bindir}/rakudo* %{_bindir}/raku-install-dist %{_datadir}/perl6/ %{_mandir}/man1/raku.1* %{_mandir}/man1/rakudo.1* %{_rpmconfigdir}/macros.d/macros.raku /etc/profile.d/rakudo.sh %changelog ## Need to update changelog from somewhere...