Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2017-07-31

| Channels | #perl6-toolchain index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:29 sjn joined #perl6-toolchain
01:52 ilbot3 joined #perl6-toolchain
01:52 Topic for #perl6-toolchain is now Fire is step THREE! | https://github.com/perl6/toolchain-bikeshed | Channel logs: http://irclog.perlgeek.de/perl6-toolchain/today | useful prior art: https://metacpan.org/pod/CPAN::Meta::Spec
01:56 stmuk joined #perl6-toolchain
02:02 deep-book-gk joined #perl6-toolchain
02:03 deep-book-gk left #perl6-toolchain
09:34 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:35 nine 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:36 nine 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.
13:29 mspo hey guys is there a way to get DESTDIR support with either zef or install-dist.pl?
13:30 mspo I thought install-dist.pl --repo-prefix=/foo/destdir --for=site  would work but it doesn't seem to
13:43 nine mspo: What do you mean by "doesn't work" and where did you get that "--repo-prefix" from?
13:43 nine Oh, --repo-prefix is actually an existing alias :)
13:44 nine mspo: did you look at this? https://build.opensuse.org/package/view_file/devel:languages:perl6/perl6-Inline-Perl5/perl6-Inline-Perl5.spec?expand=1
14:11 mspo nine: yes it seems to be using 'install-perl6-dist'
14:11 mspo nine: I think, maybe, zef doesn't like to be built/installed with something else
14:14 mspo 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 mspo I mean it's probably fine
14:16 nine The distro defines where that directory ends up.
14:16 mspo nine: exactly :)
14:18 mspo is it safe to assume that site and vendor will always be perl6/vendor ?  anyway
14:18 mspo I'm just confusing myself
14:19 nine I do hope that we will move them elsewhere sometime but frankly I'm not sure if it's worth the risk.
14:20 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 mspo nine: but that might be an enhancement for later
14:20 mspo I also need to decide if we should be using zef for build/install or install-dist.pl
14:20 mspo I'd love an opinion
14:22 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
14:22 mspo although, weirdly, the star build uses zef
14:23 nine Or the other way round: zef is an excellent tool for end users while install-dist.pl is purpose built for packagers
14:30 mspo trying to use install-dist.pl on zef itself gives Serialization Error: missing static code ref for closure 'BUILD'
14:38 tadzik joined #perl6-toolchain
14:48 ugexe zef supports all repos
14:51 ugexe well, I thought it should. `No such method 'prefix' for invocant of type 'CompUnit::Repository::Unknown'` when i do --install-to="staging#foo/"
14:54 ugexe i imagine there is some way to write the --install-to that it works though
14:57 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
14:59 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/"
15:01 nine Oh and it will still not work because you'll have to actually load the class yourself
15:03 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 ugexe 'Cannot unbox a type object (Str) to a str.'
15:05 ugexe must be passing in name (xxx) wrong
15:05 ugexe there we go. works with :name<xxx>
15:05 nine you need <>
15:05 ugexe #name<xxx> rather
15:06 nine <[ < ( [ { ]> $<v>=<[\w-]>+ <[ > ) \] } ]>
15:06 ugexe how does this differ from a CURI to a custom path again?
15:07 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:08 nine 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:13 ugexe the difference seems to boil down to `self.next-repo.source-file($name)` being added to CUR::Staging then?
15:15 ugexe (thats the only difference in method source-file {} between CUR::Locally and CUR::Staging)
15:20 nine There's also .name and .path-spec?
15:21 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
15:22 ugexe e.g. its the interesting part
15:23 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?)
15:24 mspo nine: yes
15:25 nine ugexe: well Staging is pretty much a CURI except for the "pretending to be one of the named ones" part
15:27 nine Ok, heading off to my flight students. Luckily it's just theory lessons, considering how tired I am...
16:04 perlpilot joined #perl6-toolchain
16:05 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 ugexe easier in that you could determine the dist-id from just a spec
16:08 ugexe the other thing: https://github.com/rakudo/rakudo/blob/nom/src/core/CompUnit/Repository/Installation.pm#L82 if we also save the distribution $name then we can improve .files to do fast lookups *and* filter by name
16:10 ugexe 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:14 ugexe that would allow .script speed lookup for any file in a distribution
23:51 sivoais joined #perl6-toolchain

| Channels | #perl6-toolchain index | Today | | Search | Google Search | Plain-Text | summary