|
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 8 February 2016. |
|||
| jdv79 | where is this wrapper you speak of? | 00:03 | |
| i think i asked this somewhere the other day | |||
| ugexe | github.com/rakudo/rakudo/blob/nom/...ion.pm#L38 | 00:04 | |
| the problem is not the wrapper itself; its that the path in the usage help only shows the relative path if the currently running script is the first file by that name found in PATH | 00:05 | ||
| but the wrapper will naturally be seen first in PATH, so that forces the usage to show an absolute path | 00:06 | ||
| github.com/rakudo/rakudo/blob/2ae0...pm#L54-L56 this code here constructs the path | 00:08 | ||
| jdv79 | wait. CompUnit::Repository::Installation::install() runs when i run "zef asdfsdfdsf" ? | ||
| ugexe | no, that wrapper script gets run (which was installed by CU::R::I) | ||
| jdv79 | ah | ||
| ugexe | it gets installed as bin/zef, and the actual bin/zef gets installed as resources/JF(#)@JF)@(JF@JFPOJpj | ||
| jdv79 | what kind of insanity is going on? | 00:09 | |
| ugexe | i think its meant to allow multiple versions of a module to be installed while only having a single bin/script exposed | 00:10 | |
| jdv79 | wow | 00:11 | |
| why can't we just us fs pathing for that? seems like a complication. | 00:13 | ||
| *use | |||
| ugexe | i assume that would mean you could only ever load the lastest version (or whatever is first in PATH) | 00:14 | |
| jdv79 | so this is nine and/or mst territory? | ||
| how do you run another version of a bin? | 00:15 | ||
| ugexe | im not sure it really works. but you can see here github.com/rakudo/rakudo/blob/nom/...ion.pm#L39 | 00:19 | |
| i.e. compare `zef --ver="asdf"` to `zef --xxx="sdf"`... neither --ver nor --xxx exists | 00:20 | ||
| jdv79 | oh, it doesn't work yet. i was trying and reading and couldn't get a real result | 00:22 | |
|
00:22
sufrostico joined
|
|||
| ugexe | ignoring all of that; the problem still persists if you use rakudobrew, because rakudobrew's bin is almost certainly first in the PATH but only puts a wrapper named `zef` in its bin (wrapper starts real script, real script sees its not the first `bin/zef` in PATH [wrapper is] and thus shows the absolute path) | 00:28 | |
| jdv79 | i hope that gets cleaned up | 00:31 | |
| ugexe | im not sure how it can be solved other than some convoluted options like -UsagePath=xxx so wrappers could override the path shown | 00:32 | |
| jdv79 | you know about this?: paste.scsys.co.uk/505242 | 00:33 | |
| its not like this is rocket science (usage,paths,etc). how about no path in the usage? | 00:34 | ||
| pretty sure i know what i ran, right? | 00:35 | ||
| ugexe | ha yeah, looks like i left in a piece of debug code from earlier in MAIN(:$help) | 00:37 | |
| jdv79 | o | ||
| ugexe | just pushed the fix, sorry. forgot i was in the middle of that when the build.pm stuff came up | 00:38 | |
| jdv79 | how come it takes 3s to run "zef"? | 00:41 | |
| ugexe | probably because of modules being loaded before calling the usage sub | 00:43 | |
| can probably be solved with BEGIN { <examine @*ARGS and do USAGE if neccesary> } or something | 00:44 | ||
| but for now it does some custom arg parsing on BEGIN (for changing config options), so some modules have to get loaded | 00:45 | ||
| jdv79 | module loading is that slow still? | 00:46 | |
| wow. i thought with precomp back it'd be less. i haven't done any real p6 playing in months. | |||
| i imagine down the road the default listing will not include dev versions, right? | 00:47 | ||
| ugexe | yeah, but we seem to be so far from laying down the law on auth/ver/api and other meta data that who knows when that will be | 00:51 | |
| jdv79 | i guess. for mc filtering on status of "latest" is likely more useful | 00:53 | |
| basically indexed | |||
| actualy literally iirc | |||
| ugexe | seems .5 to 1.0 seconds are used in setting up the signal handler for window resizing | 01:10 | |
| jdv79 | what?! | 01:12 | |
| how'd you get that info | |||
| ugexe | github.com/ugexe/zef/blob/master/l...emInfo.pm6 | ||
|
01:13
TimToady joined
|
|||
| ugexe | by playing around with that code | 01:13 | |
| to be fair it requires spawning a process | |||
| i thought i had it lazy loading though | 01:14 | ||
| jdv79 | well, perf is on the radar for the core guys this year so hopefully that'll get fixed up | ||
| ugexe | so that cost only has to be paid creating a search table | ||
|
01:42
MadcapJake joined
01:43
sevvie joined
|
|||
| jdv79 | ugexe: i feel like something fishy is going on: paste.scsys.co.uk/505245 | 01:58 | |
| maybe its not code loading per se | 01:59 | ||
| ugexe | well the bin script itself is not precompiled | 02:32 | |
| it could be though, becfause the wrapper acts as a perl6 entry point (the wrapper is not precompiled either) | 02:35 | ||
| for me it starts twice as fast invoking it directly (perl6 -Ilib bin/zef) than when its installed and using `zef` | 02:46 | ||
| (probably why i never noticed) | |||
| but i suppose that could be consistent with getting run through 2 wrappers (rakudobrew -> CURI -> $actual-bin) | |||
| afaik bin scripts could still easily be precompiled though. im not sure if anything about the CU refactor changed that fact, but its just a matter of running the precomp shell command on the scripts | |||
|
02:53
FROGGS_ joined
05:06
sevvie joined
07:09
FROGGS joined
07:10
domidumont joined
07:18
domidumont joined
08:05
domidumont joined
09:17
domidumont joined
10:18
leont joined
12:29
domidumont joined
12:31
domidumont joined
12:43
sufrostico joined
13:11
domidumont joined
14:02
sufrostico joined
14:04
sufrosti1o joined
14:07
cognominal joined
14:15
sufrosti1o joined
14:46
prammer joined
15:07
sufrostico joined,
sufrosti1o joined
16:40
pnu joined
16:43
prammer joined
16:47
prammer joined
16:50
prammer joined
16:54
sufrostico joined
16:58
FROGGS joined
17:00
domidumont joined
17:12
prammer joined
|
|||
| ugexe | so CURI.install($dist, %sources) modifies the contents of $dist such that you cannot simply do `@CURs.map: { $_.install($dist, $dist.sources) }` where $dist.sources generates %resources from $dist, because every call to install modifies the values of $dist | 17:54 | |
| this goes back to a point of CURI.install() only taking a single argument: $dist | |||
| to be more specific: the first install will work. subsequent installs will fail because $dist.sources no longer contains the `provides` format, but the totally different format used by CURI | 17:55 | ||
| github.com/rakudo/rakudo/blob/nom/...on.pm#L140 | 17:57 | ||
| there are also plenty of other examples like $dist.files{ ... } = | |||
|
18:13
leont joined
|
|||
| ugexe | temporary solution is calling `temp $dist.provides; temp $dist.files;` before passing $dist to install | 19:10 | |
|
19:13
Kassandry joined
19:43
leont joined
20:59
sevvie joined
|
|||
| ugexe | jdv79: status:latest sort of works. the problem is not every distribution has stats:latest. hack.p6c.org:5000/v0/release/_searc...CSV-Parser <--(No results) hack.p6c.org:5000/v0/release/_searc...ion:DBIish <--(results) | 22:21 | |
| jdv79 | i know - the indexing is screwed up | 22:26 | |
| its one of the next things i need to work on | |||
| or someone else | |||
| but been busy otherwise:( sorry | |||
| gotta run actually & | |||
|
22:46
perlpilot joined
|
|||