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 22 June 2017.
06:09 nbrown joined 06:15 domidumont joined 06:19 tony-o joined 06:21 domidumont joined 06:33 domidumont joined 07:24 llfourn_ joined 07:32 domidumont joined 09:37 lizmat joined 11:06 lizmat joined 12:28 domidumont joined 13:12 domidumont joined 15:24 domidumont joined 16:41 japhb joined
nine ugexe: I've just tried. zef doesn't cope with "depends": ["readline:from<native>:ver<7>"]. Would have been lovely if by chance it would just have ignored this dependency. So I wonder how we can start adding foreign dependency info. 17:35
ugexe yeah, because the identity grammar just allows the currently defined fields. although writing it as an actual hash works i think 17:39
nine If only there was some way for zef to notice that it has to upgrade itself. 17:40
But everything we think of now won't help the installed base :/
ugexe config.json has a ConfigVersion : "1" 17:41
yeah i guess thats a different problem 17:42
nine I guess we can get away with one incompatible change, but we should make sure, it's the last one. So the version we force people to upgrade to must at least know by itself when a further upgrade is necessary. 18:10
At least handle META versions gracefully. And versions of the meta lists/APIs. Preferably augmented by some online check. 18:12
openSUSE took some time to get this right, too. Nowadays the package manager recognizes when it needs to upgrade itself and does so before even trying to update other packages. 18:14
ugexe i can put in the change to allow currently non-spec'd fields in the meta6 sooner than later if I knew how to write the grammar to parse the `$key ':' (<( (<' <")>| <<) $<value>` logic. 18:25
`$key ':' (<( (<' | <")>| <<) $<value>` rather 18:26
i.e. (" $value ") | (' $value ') | ( $value ) | < $value > 18:27
<( | << seemed to work but I couldn't get those optional quotes to work with it
samcv: ^ maybe you have an idea? 18:28
nine We could....misbehave. Right now zef is the only installer we have. So it would not harm to have some heavily used modules depend on a zef with the above mentioned capabilities. That way we can smooth the upgrade a little. 18:44
ugexe ah yea. the ecosystem can even handle that by injecting that dependency into the ecosystem json 18:45
18:50 japhb joined
ugexe i wonder if the parser for identities ("Foo::Bar:ver<1>".&parse-me -> CUR::DS) should be included in CUR::DS itself. otherwise we need another way to solve "provides" : { "Foo" : "lib/Foo.pm6", "Foo::Bar:api<1>" : "lib/Foo/Bar1.pm6", "Foo::Bar:api<2>" : "lib/Foo/Bar2.pm6" } - or replace 'api' with 'version' (api just seems more likely) 18:53
im referring specifically when installing so that the right names get used, while additionally storing the version/api whatever else info however it wants 18:57
nine ugexe++ # injecting is our way to reach pretty much everyone :) 19:06