Sadly the libraries mapping in shard.yml doesn’t really do much for this. I don’t suppose that could be make a bit more clear to the end user? Like maybe run the libs in the map through pkg-config if available and at least show like:
Warning: You may need to install ‘pcre2’ as it was not found on your system and Athena requires it
I also noticed one of the image captions said Athena does not support HTTPS. This isn’t entirely true as you can pass your own ssl_context to enable it. Tho I’m not sure if that’s something I can include out of the box, maybe some guide on how to generate/use self-signed certs locally would be enough? Or at least suggest putting it behind Nginx/Traefik/etc?
Yes, we’ll do that when PCRE2 becomes the default in stdlib. Right now it’s only an opt-in preview.
It’s only needed in this example because Athena has an explicit dependency on PCRE2.
I agree the libraries property could use some love. We’d have to experiment with what makes sense for it.
I fear pkg-config won’t be good because it can need some customization and platform-specifics into account. That’s a hard thing and would essentially duplicate the logic that goes into @[Link] annotations.
What about just printing some information only verbiage after install based on the contents of the map. Would be a quick win and at least make people aware of it, but at the cost of some possibly extraneous text if you already have everything installed. Probably a worth while trade off I’d think tho. Always can do something more robust later.