Skip Menu |
Report information
Id: 126894
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: dod [at] debian.org
Cc: madcap.russo+p6 [at] gmail.com
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Subject: Cannot create Debian package with current rakudo-star build system
Download (untitled) / with headers
text/plain 1.7k
Hello I'm trying to create a rakudo-star package for Debian using pre-installed moar and nqp. rakudo compilation works fine but I cannot figure out a way to pre-compile and install the perl6 modules delivered with rakudo-star. Debian packaging system requires that a package is built as normal user (not root) and that the build products of a package are installed in a temporary location. This means that the pre-compilation step should use perl6-m installed in the temporary location (with the moar-vm libraries also installed in the temp location). When the package is installed on a Debian system, all files are installed in /usr. To compile a package, I've tried: perl Configure.pl --prefix=/usr --backends=moar -> this fails because make install will try (and fail) to install file in /usr as a normal user perl Configure.pl --prefix=/usr --sdkroot=/path-to-tmp-dir --backends=moar -> this fails because Configure.pl tries to find nqp and moar in /path-to-tmp-dir/usr/bin perl Configure.pl --prefix=/path-to-tmp-dir/usr --backends=moar -> this fails because /usr/bin/perl6-m ends up with temporary paths perl Configure.pl --prefix=/usr --backends=moar export DESTDIR=/path-to-tmp-dir ; make install && make modules-install -> module precompilation fails because perl6-m search for libraries in /usr/share but these files are not installed there yet. To create Debian package, I need a new option to Configure.pl to specify a temporary installation location: - which is not used to locate pre-installed nqp and moar - which is used to load rakudo libraries when rakudo is used to build modules - which is not delivered in final installation step If this solution is too difficult, another possibility is to add a way to build rakudo-star modules using a pre-installed rakudo. All the best
Download (untitled) / with headers
text/plain 311b
On Sun Dec 13 08:48:42 2015, dod@debian.org wrote: Show quoted text
> If this solution is too difficult, another possibility is to add a way > to build rakudo-star modules using a pre-installed rakudo.
I've managed to build rakudo-star with a fair number of patches. I'll provide a link once Debian git system is back online
Download (untitled) / with headers
text/plain 764b
Right now the best way to handle the issue with the precomp files is to delete them after the installation step, before packing the files into the archive. I do the same in the openSUSE rakudo package: https://build.opensuse.org/package/view_file/home:niner9:branches:devel:languages:parrot/rakudo/rakudo.spec?expand=1 (lines 53 and 54) Unfortunately the precomp files created during module installation are not even used right now. Instead, modules are precompiled again on first load and the files stored into ~/.perl6 Work is ongoing to improve this situation and also make it easier for packagers at the same time. That said, distribution packages should really be based on the compiler releases, not on rakudo star and the components packaged individually.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org