develooper Front page | perl.perl6.users | Postings from December 2020

Raku modules in Gentoo's Portage

Thread Next
From:
p.spek via perl6-users
Date:
December 1, 2020 10:15
Subject:
Raku modules in Gentoo's Portage
Message ID:
20201201101250.fbrwluqsv2zqlvar@edephas.tyil.net
Hi, fellow Rakoons,

I've been looking into the creation of a Portage tree for Gentoo, to allow
installation of Raku modules through the default package manager.

There's currently two issues I need to iron out, and I have no clue how to fix
either at this point. The first one deals with the installation mechanics of
Raku, which I don't grasp completely yet. The other issue isn't really relevant
if I can't get a module installed in the first place, so I'm going to stick to
just the first problem.

I'm using this small bit of Raku code to handle the actual installation:

    my $repository = CompUnit::RepositoryRegistry.repository-for-name('site');
    my $meta-file = $path.add('META6.json');
    my $dist = Distribution::Path.new($path, :$meta-file);

    $repository.install($dist, :$force);

This works in general, but it fails when enabling the sandbox feature on
Portage. This is a feature I generally have enabled, and seems to be common to
have enabled among Gentoo users.

When installing the module this way, it tries to access
/usr/local/share/perl6/site/repo.lock. It is not allowed to leave it's
installation sanbox at /var/tmp/portage/dev-raku/io-path-xdg-0.2.0 (I'm testing
with IO::Path::XDG).

I'm assuming it's making this lock file in order to ensure it can do a certain
operation without interference from other installations. Which operation is
this, and is it possible to work around this somehow?

With Perl (and most other languages, really), it's just dropping some files in
the right directory, which then gets merged into the root filesystem. I'd
preferably use a similar approach with Raku modules.

I've seen that installed modules generally have hashed filenames. If I can just
generate the "right" hashes and drop them into the right directory, that would
be good enough for me. If there's more to it, I would greatly appreciate some
explanation on how this works, so I can consider if it's worth my time.

Thanks in advance for any help!

-- 
With kind regards,

Patrick Spek


www:  https://www.tyil.nl/
mail: p.spek@tyil.nl
pgp:  1660 F6A2 DFA7 5347 322A  4DC0 7A6A C285 E2D9 8827

social: https://soc.fglt.nl/tyil
git:    https://home.tyil.nl/git

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About