Skip to content
This repository has been archived by the owner on Oct 24, 2022. It is now read-only.

Does not generate correct dependencies when module, not distribution name, is used #10

Open
ugexe opened this issue Apr 6, 2020 · 2 comments

Comments

@ugexe
Copy link

ugexe commented Apr 6, 2020

https://github.com/chloekek/raku-nix/blob/811cc574fa0e75580a80bf4e307c8eb0a59a68f5/ecosystem/Ddt.nix#L7

Note this shows a dependency on e.g. Zef::Distribution which is provided by a distribution calledzef (with a lower case Z). Zef (with an uppercase Z), Zef-Distribution, Zef-Identity, etc should all resolve to the same thing... whatever the zef distribution contains. I suspect in your case you only want the .nix file to depend on rakuPackages.zef.


For brevity:

https://design.raku.org/S22.html#depends

Optional. A list of run-time dependencies, specified as use strings.

The above explains why dependencies can use module names, and indeed it makes sense when you consider things like S22s emulates ( NYI, but a naive implementation exists rakudo/rakudo#2732 ). The fact we accept distribution names in depends is because that is what was done from before zef (which had to inherit this allowance to not break the world). So you need to look at both the provides section of all modules (theoretically the emulates section as well) as well as the distribution name.

@zopsicle
Copy link
Owner

zopsicle commented Apr 6, 2020

That’s interesting. CRAI does not yet collect provides, but this is something I want to add (zopsicle/crai#15), so once that’s in place this issue can be fixed.

@zopsicle
Copy link
Owner

zopsicle commented Apr 8, 2020

provides entries are now collected into the meta_provides table.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants