Open rerdavies opened 1 year ago
I don't really know, it's up to distributions how to split things up. That said, LV2 is based on a concept of bundles being complete, and for specification bundles there are data files and headers in there which link to each other and are used for documentation and so on, so a split is a bit weird here. From a "building C stuff" and OS packaging perspective it's strange, but from an LV2 perspective it's a consistent model for how everything is installed so makes more sense there. There's also legacy reasons why several installation paths are used for headers which remains for backwards compatibility purposes.
Distributions could leave out links to the headers (which may live in bundles depending on configuration) and thus have nothing in /usr/include
although the headers would still be installed and taking up space anyway. They could leave the headers out of the bundles entirely and split things up that way and hope that nothing is using them at run-time (although there's not really any rule that says things can't do this). The idea of self-contained bundles and Unix filesystem hierarchies are at odds sometimes, such is life.
So, I don't really have any particularly satisfactory answers other than "just ignoring the fact that there's headers here too and getting on with life" is easier and what pretty much everyone does.
I personally just install LV2 in a private location for my Apps (as part of the installation process). That way, if LV2 isn't in system location, or LV2_PATH, I just use my own copy and point lilv to it. JUCE does the same thing, except they store LV2 ecosystem in memory.
This may be more of a debian packaging issue, than an lv2 issue; but it seems like a good idea to ask anyway.
My application is an LV2 host. It's distributed primarily via Debian package, to raspberry pi devices, which run an Ubuntu-directed Raspberry Pi OS.
When my users install the package, the lv2 specification bundles (e.g. /usr/lib/lv2/core.lv2/manifest.ttl and friends) are not installed.
On my development machines, the files are installed from the
lv2-dev
Debian package. I can't seem to find anlv2
package that doesn't include C header files. It's small thing, I suppose, if I install spurious files in /usr/include.But I was wondering, is there supposed to be an alternative to the
lv2-dev
package?