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