We should start to think about upgrading this to 6.0 Biggest difference is lv2config is no longer required meaning we will have to change all of the lv2 packages. I'm happy to do the work, have requested commits on (most) of the packages. We should use this discussion to also agree on where the headers etc should lie. I find myself having to a lot of: sed -i -e 's|lv2/lv2plug.in/ns/lv2core/lv2.h|lv2.h|g' ui.h etc, etc At the same time I would like to package serd/sord/lilv etc, such that I have a development environment in Fedora for some upcoming lv2 ports based on the latest specification. If you agree let me know and I will raise bugs on all the lv2 packages
Hi Brendan, I already built lv2core-6.0 in rawhide a couple weeks ago. I believe that we are a little lucky that not all lv2plugin packages use lv2config. What should we do about the header? Add a symlink to match both conventions? Feel free to update the necessary packages.
Apologies Orcan, I should have checked this first. At the time of putting this bug on my TODO list it wasn't in rawhide. All of the new library headers for the packages I would like to include use lv2/lv2plug.in/ns/lv2core/lv2.h . For completeness we should probably maintain this directory hierarchy and have the symlink in /usr/include/ for compatibility I have asked upstream - will let you know what he says, Just for example here is a recent list (note: some of this is not in Fedora yet but will be soon as I clone myself) rpmbuild/SPECS/lilv.spec:sed -i -e 's|lv2/lv2plug.in/ns/lv2core/lv2.h|lv2.h|g' wscript rpmbuild/SPECS/lilv.spec:sed -i -e 's|lv2/lv2plug.in/ns/lv2core/lv2.h|lv2.h|g' lilv/lilv.h rpmbuild/SPECS/lv2-avw-plugins.spec: -e 's|lv2/lv2plug.in/ns/lv2core/lv2.h|lv2.h|' \ rpmbuild/SPECS/lv2-avw-plugins.spec: -e 's|lv2-c++-tools/lv2.h|lv2.h|' \ rpmbuild/SPECS/lv2-ui.spec:sed -i -e 's|lv2/lv2plug.in/ns/lv2core/lv2.h|lv2.h|g' ui.h rpmbuild/SPECS/suil.spec:sed -i -e 's|lv2/lv2plug.in/ns/lv2core/lv2.h|lv2.h|g' suil/suil.h All of these packages are supposed to obsolete slv2 and I think this is the new way.
Find reply from upstream here. Hi Brendan The longer URI-style includes are the new general way to refer to headers in any LV2 extension. The core spec does as well, but PREFIX/include/lv2.h remains for compatibility. This is a special case for lv2core only, other extensions (e.g. lv2-event, lv2-ui) only install bundles (in PREFIX/lib/lv2) and PREFIX/include/lv2/lv2plug.in/ns/foo symlinks to those bundles (which contain any headers). Definitely do not put links to any other headers in PREFIX/include. The general idea with LV2 is all things live in a self-contained bundle - to get includable headers we make symlinks to the bundle elsewhere. There are also now pkg-config files for each spec. Serd, Sord, and Lilv are normal libraries, there shouldn't be anything special about them. They are versioned for parallel installation (though there are no incompatible versions yet), please see PACKAGING for details about appropriate naming. In all cases, the source packages should install things to the appropriate locations, and you shouldn't need to tinker with it. If not, please let me know, because it should be fixed. Thanks for packaging, -dr P.S. Perhaps lv2core and the other specs should have a PACKAGING file explaining things, or maybe a wiki page?
OK, I think we can probably close this now. I have had no trouble rebuilding any of my packages or the packages I'm working on using the latests LV2 core. It seems the issues I was having was related to some plugins being built against the later lv2core. And, you were right, the use of lv2config is nowhere near as prevalent as I thought. I haven't updated anything as yet, those that I have missed will be flagged as FTB in the F17 mass rebuild