From Fedora Project Wiki
(Precompiling dependency on rakudo updates)
m (Gerd moved page PackagingDrafts/Perl6 to Packaging/Perl6)
(No difference)

Revision as of 06:56, 30 June 2017


Naming Guidelines

Perl 6 module packages generally follow the naming scheme of rakudo-<Perl-6-Module-Name>.

For example if the code to load a perl 6 module would be:

use XML::Writer;

then the Name tag is:

Name: rakudo-XML-Writer

More examples for package names are: rakudo-LibraryCheck, rakudo-Readline, rakudo-Inline-Perl5

Macros

Starting with Fedora 25, the following macros for packaging Perl 6 modules are provided by the rakudo package:

Macro Description
%rakudo_rpm_version rakudo package release number
%perl6_vendor_dir vendor directory: %{_libdir}/perl6/vendor
%perl6_site_dir site directory: %{_libdir}/perl6/site
%perl6_mod_inst A Perl 6 script to install Perl 6 modules

Directory Ownership

The directories and the version file

  •  %perl6_vendor_dir/*
    •  %perl6_vendor_dir/bin
    •  %perl6_vendor_dir/dist
    •  %perl6_vendor_dir/precomp
    •  %perl6_vendor_dir/resources
    •  %perl6_vendor_dir/short
    •  %perl6_vendor_dir/sources
    •  %perl6_vendor_dir/version
  •  %perl6_site_dir/*
    • ...

are owned by the rakudo interpreter package. The Perl 6 module packages only own the files and directories underneath the directories %perl6_vendor_dir/*

%files
...
%{perl6_vendor_dir}/*/*

Precompiling dependency on rakudo updates

Perl 6 module packages depend on the rakudo-compiler-id. Updating the rakudo interpreter needs to rebuild all Perl 6 module packages. It is planned to update the rakudo stack quarterly.