Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-toolchain, 2017-09-04

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

All times shown according to UTC.

Time Nick Message
00:31 lizmat joined #perl6-toolchain
01:31 lizmat 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
03:51 sivoais joined #perl6-toolchain
06:02 stmuk joined #perl6-toolchain
06:50 nine [Coke]: so it's Test::META that's broken?
08:02 leont joined #perl6-toolchain
12:14 leont joined #perl6-toolchain
13:35 llfourn joined #perl6-toolchain
16:45 ugexe you can uninstall the offending modules and reinstall them (or just force install probably)
16:53 ugexe https://irclog.perlgeek.de/perl6/2017-08-08#i_14986502
17:01 lizmat joined #perl6-toolchain
17:16 ugexe basically `use XXX:ver<0.0.5..*>` -appeared- to work correctly with basic usage but really it wasnt (so you cant blame the author for using it)
17:51 [Coke] nine: if I upgrade zef, I should be able to then upgrade test:meta. I couldn't.
17:53 [Coke] so maybe it's test meta, maybe it's zef. I don't know.
17:53 [Coke] ugexe: the whole thing came about because I am NOT force installing stuff that doesn't work.
17:53 [Coke] I'm trying to be a good citizen and report failures.
17:55 leont joined #perl6-toolchain
18:00 ugexe use --force-install if you dont want to force tests
18:01 ugexe but simply uninstalling it and reinstalling it fixes it, and the bug was in rakudo not zef or test::meta
18:07 ugexe if you have other versions of rakudo installed, then you probably also have older versions of modules installed in ~/.perl6, and ~/.perl6 gets checked before site/vendor/etc. so yeah zef probably *does* see a newer version somewhere else, but that doesn't matter because the first $*REPO is ~/.perl6 and thus whatever the highest version *it* supplies is (not the highest version from *all* repos)
18:08 [Coke] so if I want to have multiple versions of rakudo around, how can I say "never use ~/.perl6" ?
18:08 ugexe not sure that you can
18:09 [Coke] OR: how am I supposed to setup my system to avoid this sort of issue, I guess is a better question.
18:09 [Coke] I was running a very recent version of rakudo; if there's a bug in it, it's going to be in the next release, probably.
18:10 ugexe you can setup zef to never install to ~/.perl6
18:11 ugexe add an alias adding `--install-to=site` or change https://github.com/ugexe/zef/blob/master/resources/config.json#L6 to `site`
18:11 [Coke] Danke.
18:12 domidumont joined #perl6-toolchain
18:14 ugexe I don't know where rakudo star ends up installing modules to, but it might be ~/.perl6 (so keep that in mind)
18:28 [Coke] ugexe: I just did "zef uninstall Test::META"
18:29 [Coke] then "zef install Test::META"
18:29 leont ugexe: right, I needed you for something!
18:29 [Coke] and it's failing because "Could not find JSON::Class:ver<0.0.5..*> at" - is this a bug in test meta for not declaring these as deps, or a bug in zef for not figuring that out?
18:30 ugexe zef uninstall JSON::Class JSON::Marshal META6 Test::META then zef install Test::META
18:30 ugexe leont: go for it
18:30 leont The latest dev-version of TAP::Harness also parses subtests, but this fails on older Test.pm
18:30 [Coke] ... that's insane. I can do that as a core dev, but is that the recommended fix here for end users?
18:31 [Coke] and how would I have ever figured that out?
18:31 ugexe end users shouldnt end up with multiple rakudo installs with multiple versions of modules installed
18:31 leont Everything should work fine on 2017.09 and up
18:32 leont Question is how zef deals with it, given Test.pm is core-only (I think)
18:32 leont I would propose it stays loose on older perl6s, but strict on newer ones
18:36 [Coke] OK, this is super frustrating. What is the recommended way to use zef with rakudobrew then? Or is it, not to?
18:36 [Coke] I'm still trying to figure out what the particular issue is here with Test::META.
18:37 ugexe rakudobrew is not recommended unless you are a core dev / understand what you're getting yourself into
18:38 ugexe leont: zef doesn't much deal with tests besides using an adapter. it could do something like if $thisversion { TAP::Harness.foo } else { TAP::Harness.bar } if I knew what .foo and .bar would need to be
18:39 leont The only different is a :loose argument to the TAP::Harness constructor, really
18:39 ugexe [Coke]: all problems regarding zef and rakdobrew version madness can usually be solved with `zef nuke site home RootDir`
18:41 ugexe the `site` shouldnt be necesary usually but that depends on if you use rakudobrew build $already-existing-name-like-nom which upgrades an existing install
18:43 ugexe leont: ok. but its broke on old versions you say... so do you mean I need to do a if/else like above to use TAP::Harness differently depending on rakudo version, or that zef should not use the TAP::Harness adapter unless rakudo is 2017.09
18:43 eater joined #perl6-toolchain
18:44 ugexe er, ok you mean add :loose to older versions
18:44 leont The working equivalent of TAP::Harness.new(:loose($rakudo-version < 2017.09))
19:01 ugexe leont: are you sure having this in zef instead of a default in TAP::Harness won't create problems trying to discover a mismatch between rakudo versions and TAP::Harness versions that accept :loose?
19:03 ugexe m: sub foo($default = $*PERL.compiler.version.Str.substr(0,8) before "2017.09" ?? 0 !! 1) { say $default }; foo()
19:03 camelia rakudo-moar 4b02b8: OUTPUT: «0?»
19:25 lizmat joined #perl6-toolchain
19:26 ugexe e.g. anyone using prove6 command
19:27 leont Fair point

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