# New Ticket Created by Dominique Dumont
# Please include the string: [perl #126894]
# in the subject line of all future correspondence about this issue.
# <URL:
https://rt.perl.org/Ticket/Display.html?id=126894 >
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