Add library to existing snap

CloudCompare has a plugin architecture, and I’d like to add a custom plugin to the existing snap https://snapcraft.io/cloudcompare

I can compile the plugin (basically a shared library) on my system. How can I add that additional library on top of the CloudCompare snap such that the program then can load the additional library?

Check if the application supports loading plugin from $HOME, in this case it should be ~/snap/cloudcompare/current or ~/snap/cloudcompare/common, depending on the packaging.

thanks for the suggestion I will look into it

What if it doesn’t allow loading from $HOME? What else could I do?

There’s not much you can do aside from notifying the snap publisher, AFAICT.

I thought about something like docker build where I can use the existing snap as base and just insert the libraries into the right folder. But I don’t know how to do that with snaps or if it is even possible

You can always unpack the snap, adding the required files, and repack them back. Note that snaps are targeting to a specific Ubuntu release and will not guarantee library compatibility with libraries building on other systems.

I didn’t know one could do that. Could you be so kind to point me into the right direction of an example doing that or the corresponding documentation?

Check out Chromium configurable launch flags?

1 Like