|
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
|
|||