Fire is step THREE! | github.com/perl6/toolchain-bikeshed | Channel logs: irclog.perlgeek.de/perl6-toolchain/today | useful prior art: metacpan.org/pod/CPAN::Meta::Spec
Set by moderator on 30 July 2017.
00:29 sjn joined 01:52 ilbot3 joined
moderator Fire is step THREE! | github.com/perl6/toolchain-bikeshed | Channel logs: irclog.perlgeek.de/perl6-toolchain/today | useful prior art: metacpan.org/pod/CPAN::Meta::Spec
01:56 stmuk joined 02:02 deep-book-gk joined 02:03 deep-book-gk left
nine ugexe: I had a quick look at your latest PR and very much liked what I see :) Unfortunately I won't have time for more until at least Wednesday. 09:34
ugexe: have teaching assignments today and tomorrow evening at the airfield and been wasting a couple hours today already on my router at home. Looks like the flash is b0rked in an extremely strange way. 09:35
Unfortunately this router not only provides internet and VPN for work but also controls our roller shutters. So it's pretty dark in here until I got the replacement set up. 09:36
mspo hey guys is there a way to get DESTDIR support with either zef or install-dist.pl? 13:29
I thought install-dist.pl --repo-prefix=/foo/destdir --for=site would work but it doesn't seem to 13:30
nine mspo: What do you mean by "doesn't work" and where did you get that "--repo-prefix" from? 13:43
Oh, --repo-prefix is actually an existing alias :)
mspo: did you look at this? build.opensuse.org/package/view_fi...c?expand=1 13:44
mspo nine: yes it seems to be using 'install-perl6-dist' 14:11
nine: I think, maybe, zef doesn't like to be built/installed with something else
nine: I didn't like that rpm because it hard-codes '/perl6/vendor' instead of asking for the site or vendor via CompUnit::RepositoryRegistry.repository-for-name 14:14
I mean it's probably fine
nine The distro defines where that directory ends up. 14:16
mspo nine: exactly :)
is it safe to assume that site and vendor will always be perl6/vendor ? anyway 14:18
I'm just confusing myself
nine I do hope that we will move them elsewhere sometime but frankly I'm not sure if it's worth the risk. 14:19
mspo nine: that's why I wanted to query the location. I can still do it and just sed the DESTDIR in there 14:20
nine: but that might be an enhancement for later
I also need to decide if we should be using zef for build/install or install-dist.pl
I'd love an opinion
nine The latter is built as a packaging tool first and foremost while zef does not even support the Staging repo. 14:22
mspo okay then I think (at least for bootstrapping -star) install-dist.pl can be the way to go
although, weirdly, the star build uses zef
nine Or the other way round: zef is an excellent tool for end users while install-dist.pl is purpose built for packagers 14:23
mspo trying to use install-dist.pl on zef itself gives Serialization Error: missing static code ref for closure 'BUILD' 14:30
14:38 tadzik joined
ugexe zef supports all repos 14:48
well, I thought it should. `No such method 'prefix' for invocant of type 'CompUnit::Repository::Unknown'` when i do --install-to="staging#foo/" 14:51
i imagine there is some way to write the --install-to that it works though 14:54
nine ugexe: it's very cool if zef does :) Though I'd find it also somehow scary if it works... 14:57
ugexe well zef just lets the path-spec in install-to do all the work, so if CU::RR understands it it should just work
nine You'll at least to give it a name and I there's no short name for the class registered, so it's more like: --install-to="CompUnit::Repository::Staging#name=vendor#foo/" 14:59
Oh and it will still not work because you'll have to actually load the class yourself 15:01
ugexe ah yeah. a little closer with perl6 -MCompUnit::Repository::Staging -I. -e 'say CompUnit::RepositoryRegistry.repository-for-spec(qq|CompUnit::Repository::Staging#name("xxx")#/home/nickl/perl6/zef/foo|)' 15:03
'Cannot unbox a type object (Str) to a str.'
must be passing in name (xxx) wrong 15:05
there we go. works with :name<xxx>
nine you need <>
ugexe #name<xxx> rather
nine <[ < ( [ { ]> $<v>=<[\\w-]>+ <[ > ) \\] } ]> 15:06
ugexe how does this differ from a CURI to a custom path again?
nine You have a CURI for vendor containing pre-installed dependencies (from packages) e.g. in /usr/share/perl6/vendor and want to precompile and package a module with an unpriviledged user in a staging area (/tmp/BUILDROOT/usr/share/perl6/vendor). 15:07
The Staging repo effects that all references like source file names will still point to the vendor repo even though the files will be written elsewhere. 15:08
ugexe the difference seems to boil down to `self.next-repo.source-file($name)` being added to CUR::Staging then? 15:13
(thats the only difference in method source-file {} between CUR::Locally and CUR::Staging) 15:15
nine There's also .name and .path-spec? 15:20
mspo should programs that land into site/bin or vendor/bin to symlinked to /usr/local/bin or something? 15:21
ugexe well yeah, but those are just in the name. source-file is chaining to next-repo
e.g. its the interesting part 15:22
mspo also is there a way to preserve real names of things like source files? like should we also copy the sources from lib/ to the site/lib/ dir? 15:23
nine mspo: yes for symlinking to /usr/bin (we are talking about distro packages, are we?)
mspo nine: yes 15:24
nine ugexe: well Staging is pretty much a CURI except for the "pretending to be one of the named ones" part 15:25
Ok, heading off to my flight students. Luckily it's just theory lessons, considering how tired I am... 15:27
16:04 perlpilot joined
ugexe Two other things we might wish to address: Distribution's .Str and CU::DS .Str do not return the same thing (:ver<> vs nothing at all). It would make things easier if they both returned the *full* string for .Str, and the shortened version for .gist or something 16:05
easier in that you could determine the dist-id from just a spec
the other thing: github.com/rakudo/rakudo/blob/nom/...ion.pm#L82 if we also save the distribution $name then we can improve .files to do fast lookups *and* filter by name 16:08
because while the $name will usually have to be known to determine the path to begin with, this is not true for the .script fast-name lookup type logic which knows the sha1 to the script (but not the distribution its from) 16:10
that would allow .script speed lookup for any file in a distribution 16:14
23:51 sivoais joined