Closed librasteve closed 2 months ago
[I gather that this ver<1.1.0> (of the Digest umbrella) trumps the ver<0.05> is desired behaviour]
Digest
is chosen because it is in the fez
ecosystem, which takes precedence over other ecosystems. If both modules were in the same ecosystem then yes the higher version one would be chosen.
we want the example for the docs (and MD5 in general) to work
Update the example to contain use Digest::MD5:ver<0.05>;
(since it does not contain an auth at all) instead, or update it to use Digest
.
forgive me, I had anyway reached the understanding that ver<1.1.0>
trumps ver<0.0.5>
, not sure what the fez ecosystem has to do with that and found that use Digest::MD5:ver<0.05>;
patches the issue
it also shows that pinning is a good idea, but I don't think our docs example should pin to such an old module
then, thanks to you comment .oO the Digest
version is failing since these two module authors have chosen different APIs (durrr) - appreciate the guidance
Just need to file a docs issue to use the Digest
API going forward
Actually this issue arose in the rakuguide examples, not raku docs
Here's the fix PR https://github.com/hankache/rakuguide/pull/231
[I gather that this ver<1.1.0> (of the Digest umbrella) trumps the ver<0.05> is desired behaviour]
Digest
is chosen because it is in thefez
ecosystem, which takes precedence over other ecosystems. If both modules were in the same ecosystem then yes the higher version one would be chosen.
How and who takes the choice, what is on which (Raku modules) ecosystem
?
I'm wondering, because, from my guess, the "untouched-since-7-years" Digest::MD5 should have a lower priority with the relatively new FEZ ecosystem, compared to obviously newer Digest::MD5
we want the example for the docs (and MD5 in general) to work
I guess, the docs example was wrong because someone in the past tried to change it from the older to the newer module, see above. Why do I think so... I haven't seen a md5_hex
in the new module?!
Update the example to contain
use Digest::MD5:ver<0.05>;
(since it does not contain an auth at all) instead, or update it to useDigest
.
The new module seems not to offer use Digest
anymore, see https://github.com/grondilu/libdigest-raku/blob/master/README.md#synopsis ... so to use it's sub, one has to use the sub-modules, so also use Digest::MD5;
see https://github.com/grondilu/libdigest-raku/issues/40#issuecomment-2091224448 for my other comments, also about ZEFs prios...
How and who takes the choice, what is on which (Raku modules) ecosystem?
It can be configured in the zef configuration file.
I'm wondering, because, from my guess, the "untouched-since-7-years" Digest::MD5 should have a lower priority with the relatively new FEZ ecosystem, compared to obviously newer Digest::MD5
I don't think I follow you - this is how it already works.
so to use it's sub, one has to use the sub-modules, so also use Digest::MD5;
Right. I didn't say to use Digest;
, I said to use Digest
Context
I am asking for advice on how to proceed.
tonyo: please can you take a look at this and maybe give us the best route forward (eg. adopt Digest::MD5 as a community module and uber-bump the version??)
zef install Digest::MD5
pulls from
Digest
this masks the working, but abandoned, Digest::MD5 module (cosimo)
[I gather that this ver<1.1.0> (of the Digest umbrella) trumps the ver<0.05> is desired behaviour]
oddly (to me),
Nb. Since commit 911c292688ad056a98285f7930297c5e1aea3bfb, there is no Digest module anymore, the submodules, Digest::MD5, Digest::SHA1 and so on must be used directly.
Expected Behavior
we want the example for the docs (and MD5 in general) to work
Actual Behavior
this example from the raku docs...
fails with
Steps to Reproduce
follow raku docs example
Your Environment
raku -v