Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2016-09-11

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

All times shown according to UTC.

Time Nick Message
01:25 FROGGS joined #perl6-toolchain
05:31 llfourn_ joined #perl6-toolchain
07:40 domidumont joined #perl6-toolchain
07:45 domidumont joined #perl6-toolchain
08:11 leont__ joined #perl6-toolchain
08:56 smls joined #perl6-toolchain
08:57 smls It looks like a recent Rakudo revision broke the automatic updating of precomp when an included module has changed.
08:57 smls I have to manually `rm -r lib/.precomp` now every time I make a change in a module.
08:57 smls Is that intended?
08:58 smls "recent" meaning, that it wasn't like that with my Rakudo git build from a week ago
09:51 nine smls: can you bisect it?
09:51 nine smls: It's certainly not intentional
09:54 smls ok, I'll try to bisect later today
09:56 nine ++smls
11:56 smls joined #perl6-toolchain
12:13 domidumont joined #perl6-toolchain
12:14 smls nine: Bisect revealed f55e113290a3a931c7960fb404cdb012872e642c as the first bad commit.
12:15 smls https://github.com/rakudo/rakudo/commit/f55e113290a3a931c7960fb404cdb012872e642c
12:19 FROGGS joined #perl6-toolchain
13:31 edehont joined #perl6-toolchain
15:00 domidumont joined #perl6-toolchain
15:42 nine smls: thanks! Reverted that commit as I now clearly see why it was wrong.
15:42 mst bah, asked in the wrong channel there
15:43 mst nine: ok, so, it occurs to me that you could have a per-CUR last-modified-anything stamp file
15:43 mst which might be a nice balance
15:47 nine $*REPO.id is calculated from the checksums of the contents of all repos. And we have the .repo-id file accompanying each precomp file with the $*REPO.id at the time we last checked its dependencies. Just have to use that to make the timestap check conditional.
15:50 mst right
15:51 nine Surprisingly, calculating the sha1 of all files in a lib directory has not even shown up as problematic in the profiles so far.
15:52 nine Simply checking each precomp file's modification timestamp against the source's is more costly.
15:53 mst that may turn out to be rakudo doing more stat()s than it has to or something
15:54 nine Nah I think despite timotimo's speedups, it's still mostly the canonicalizing of paths at every other op.
15:54 mst ahh
15:55 nine Also for example all the stat ops absolutize the path first and I have no idea why. It works quite well without.
15:55 mst ugh
16:03 mst nine: ok, so, we can't make Inline-Perl6 *require* Alien::Rakudo, I guess
16:03 mst hrmf
16:03 mst the trouble with devrels being unindexed is I can't easily use devrel chianing I don't think
16:03 mst mm
16:04 nine mst: why can't we?
16:04 mst cuz people might've installed rakudo themselves
16:04 mst and then avar already did a booking-private cpan dist of star
16:05 mst (that "star is an example of how to make a rakudo distribution" thing is going so well ...)
16:07 nine I thought the solution to that is checking for a perl6-m in Makefile.PL and add Alien::Rakudo to REQREQ_PM if we don't find one?
16:09 mst yes
16:09 mst well, actually, 'add Alien::Rakudo and Alien::Rakudo::Inline::Perl5'
16:17 mst gaah
16:17 mst I'm only about 3/4 awake
16:24 smls nine: I can confirm that precomp updating works fine again with nom.
17:07 mst nine: basically I'm going to need to put your old build logic back for the moment as well
17:08 mst er, fuck, I remember what the problem was
17:08 mst we need a perl6-m location during freaking Makefile.PL time
17:08 * mst deadlocks on a chicken/egg problem
17:25 nine Ah, yeah, because of the .h file
18:08 mst nine: actually
18:09 mst hm
18:09 mst so, I think really the logic is
18:09 mst "if you already found a perl6, and it's -not- an Alien::Rakudo one, go with that"
18:09 mst "otherwise, add the A::R dep, and inject some crap into the Makefile to generate Perl6.h at make time"
18:15 mst nine: that sound sanish?
18:15 FROGGS joined #perl6-toolchain
18:16 nine Using make to....make files. A radical concept :)
18:17 mst yeees
18:17 mst well, it certainly was to the inventor of Module::Build
18:32 mst nine: somehow it feels slightly wrong to defer generating that .h file past configure
18:32 mst OTOH I can't see any reason it wouldn't *work*
18:47 domidumont joined #perl6-toolchain
19:37 ugexe fits right in with Build.pm then s/class Build is Panda::Builder {/class Build { method isa($what) { return True of $what.^name eq 'Panda::Builder'; callsame() } / && s/use Panda(?:\:\:\w+)//g

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