%global year 2019 %global month 03 %global __provides_exclude_from ^.*libperl6_ops_moar\\.so.*$ Name: rakudo Version: 0.%{year}.%{month} Release: 1%{?dist} Summary: Perl 6 compiler implementation that runs on MoarVM License: Artistic 2.0 URL: http://rakudo.org/ Source0: http://rakudo.org/dl/rakudo/rakudo-%{year}.%{month}.tar.gz # sources for desktop files are added here Source1: ftp://ftp.uni-siegen.de/pub/desk/rakudo.desk.tar.gz Source2: macros.perl6 # general BuildRequires BuildRequires: perl-interpreter, make, perl-podlators, coreutils # general perl-package BuildRequires BuildRequires: perl(base), perl(Cwd), perl(Exporter), perl(File::Copy) BuildRequires: perl(File::Spec), perl(Getopt::Long), perl(lib), perl(strict) BuildRequires: perl(Text::ParseWords), perl(warnings) perl(Digest::SHA) # gcc BuildRequires: gcc # general perl-test-package BuildRequires BuildRequires: perl(FindBin), perl(List::Util) BuildRequires: perl(ExtUtils::Command) BuildRequires: perl(Test::Harness) # BuildRequires for MoarVM BuildRequires: nqp >= 0.0.%{year}.%{month} Requires: nqp >= 0.0.%{year}.%{month} BuildRequires: moarvm-devel >= 0.%{year}.%{month} # Needed for the header files, (#include - libuv-devel) BuildRequires: libuv-devel %if 0%{?fedora} BuildRequires: libatomic_ops-devel %endif BuildRequires: libtommath-devel BuildRequires: libffi-devel # Needed for desktop-file-install usage BuildRequires: desktop-file-utils %description Rakudo Perl 6, or just Rakudo, is an implementation of the Perl 6 language specification. More information about Perl 6 is available from . This package provides a Perl 6 compiler built for MoarVM virtual machine. %prep %setup -q -n rakudo-%{year}.%{month} %build %{__perl} Configure.pl --prefix=%{_prefix} --libdir=%{_libdir} --backends=moar CFLAGS=$RPM_OPT_FLAGS make %{?_smp_mflags} %install export QA_SKIP_BUILD_ROOT=1 CFLAGS=$RPM_OPT_FLAGS %make_install # Generating man-pages %{__perl} -MExtUtils::Command -e mkpath $RPM_BUILD_ROOT%{_mandir}/man1 pod2man --section=1 --name=perl6 docs/running.pod | %{__gzip} -c > $RPM_BUILD_ROOT%{_mandir}/man1/perl6.1.gz pod2man --section=1 --name=perl6-m docs/running.pod | %{__gzip} -c > $RPM_BUILD_ROOT%{_mandir}/man1/perl6-m.1.gz # install desktop files for the URLs: docs.perl6.org and perl6intro.com %define DESK_TARGET $RPM_BUILD_ROOT%{_datadir}/applications/ %{__mkdir} -p %{DESK_TARGET} %{__tar} xzf %{SOURCE1} desktop-file-install --delete-original --dir=%{DESK_TARGET} \ perl6_doc_link.desktop intro_link.desktop usr_bin_perl6.desktop \ 2015-perl6-course-pdf.desktop intro_pdf.desktop install icon/browser_world.png -D $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/browser_world.png install icon/pdf_doc.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/ # install script for installing perl6 modules sed -i -e '1 s&#!.*\(perl6\)&#!/usr/bin/\1&' tools/install-dist.p6 install tools/install-dist.p6 -D $RPM_BUILD_ROOT%{_libdir}/perl6/bin/mod_inst.pl # remove zero-length files rm -f $RPM_BUILD_ROOT/%{_libdir}/perl6/precomp/.lock rm -f $RPM_BUILD_ROOT/%{_libdir}/perl6/repo.lock # # perl6 RPM macros # mkdir -p ${RPM_BUILD_ROOT}%{_rpmconfigdir}/macros.d install -p -m 644 %{SOURCE2} ${RPM_BUILD_ROOT}%{_rpmconfigdir}/macros.d/ sed -i -e 's/HARDCODED_VERSION/%{version}/' \ -e 's#HC_LIBDIR#%{_libdir}#g' \ ${RPM_BUILD_ROOT}%{_rpmconfigdir}/macros.d/macros.perl6 %check %{?!_without_tests: %ifarch ppc64le rm -f t/08-performance/99-misc.t %endif %ifarch s390x rm -f t/04-nativecall/06-struct.t t/04-nativecall/21-callback-other-thread.t t/09-moar/Line_Break__LineBreak.t t/09-moar/General_Category__extracted-DerivedGeneralCategory.t %endif %{__make} test } %files %doc README.md CREDITS docs/module_management.md docs/ChangeLog %doc from_rakudo-star/cheatsheet.txt from_rakudo-star/perl6intro.pdf %doc from_rakudo-star/2015-spw-perl6-course.pdf %license LICENSE %{_bindir}/perl6* %{_mandir}/man1/perl6.1.gz %{_mandir}/man1/perl6-m.1.gz # macro file %{_rpmconfigdir}/macros.d/macros.perl6 # desktop files %{_datadir}/applications/*.desktop # icon files %{_datadir}/icons/hicolor/16x16/apps/*.png %{_libdir}/perl6 %{_libdir}/nqp/lib %changelog * Tue Mar 19 2019 Gerd Pokorra 0.2019.03-1 - update to 2019.03 - add 'export QA_SKIP_BUILD_ROOT=1' * Sun Nov 11 2018 Gerd Pokorra 0.2018.10-2 - remove the test t/08-performance/99-misc.t to make the build more stable * Mon Oct 29 2018 Gerd Pokorra 0.2018.10-1 - update to 2018.10 - follow the change in source from tools/install-dist.pl to tools/install-dist.p6 * Mon Apr 30 2018 Gerd Pokorra 0.2018.04.1-1 - update to 2018.04.1 - follow the change of the source URL from upstream * Wed Apr 25 2018 Gerd Pokorra 0.2018.04-2 - all tests work now * Wed Apr 25 2018 Gerd Pokorra 0.2018.04-1 - rakudo builds again on all primary architectures - add BuildRequires perl(Digest::SHA) - update to 2018.04 * Mon Aug 28 2017 Gerd Pokorra 0.2017.08-2 - rebuild to install to _libdir again * Tue Aug 22 2017 Gerd Pokorra 0.2017.08-1 - exclude architectures s390x ppc64 - update to 2017.08 * Mon Jun 19 2017 Gerd Pokorra 0.2017.06-2 - rebuild with changed macros.perl6 source file * Sun Jun 18 2017 Gerd Pokorra 0.2017.06-1 - install file tools/install-dist.pl - update to 2017.06 * Wed Jun 07 2017 Gerd Pokorra 0.2017.04.2-4 - add a rpm macro file for Perl 6 * Wed May 24 2017 Gerd Pokorra 0.2017.04.2-3 - build with new desktop file sources * Mon May 08 2017 Gerd Pokorra 0.2017.04.2-2 - rebuild with changed moarvm build and new nqp rebuild * Wed Mar 15 2017 Gerd Pokorra 0.2017.04.2-1 - update to 2017.04.2 - build with patch to add libdir option * Wed Mar 15 2017 Gerd Pokorra 0.2017.02-1 - update to 2017.02 - initial epel7 branch upload * Thu Mar 09 2017 Gerd Pokorra 0.2017.01-5 - fix the rakudo-star version that is provided - group tag removed - remove zero-length files - preventing to provides libperl6_ops_moar.so from non-standard path * Tue Mar 07 2017 Gerd Pokorra 0.2017.01-4 - install to _libdir/nqp instead of /usr/share/nqp/lib * Wed Mar 01 2017 Gerd Pokorra 0.2017.01-3 - install to _libdir/perl6 instead of /usr/share/perl6 * Thu Feb 23 2017 Gerd Pokorra 0.2017.01-2 - summary tab, description and operator in obsoletes tag is changed - dependency on readline-devel is removed - _prefix marcro is used - docs/ChangeLog is packaged as documentation - general build-requires are added * Tue Feb 21 2017 Gerd Pokorra 0.2017.01-1 - initial spec file for the new review