LV2 1.18.0 has a breaking change.
For most plugins, the build can be fixed with:
find . -type f -exec fgrep -q LV2UI_Descriptor {} \; \
-exec sed -i {} -e 's/const struct _\?LV2UI_Descriptor/const LV2UI_Descriptor/' \;
When I try that with eq10q, I get:
545 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
| ^~~~~~~~
make[2]: *** [gui/CMakeFiles/dynamics_gui.dir/build.make:83: gui/CMakeFiles/dynamics_gui.dir/dyn_ui.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:734: gui/CMakeFiles/dynamics_gui.dir/all] Error 2
/tmp/nix-build-eq10q-2.2.drv-0/eq10q-2.2/gui/eq10q_ui.cpp:41:48: error: '_LV2UI_Descriptor' does not name a type; did you mean 'LV2UI_Descriptor'?
41 | static LV2UI_Handle instantiateEq10q_gui(const _LV2UI_Descriptor *descriptor, const char *plugin_uri, const char *bundle_path, LV2UI_Write_Function write_function, LV2UI_Controller controller, LV2UI_Widget *widget, const LV2_Feature *const *features)
| ^~~~~~~~~~~~~~~~~
| LV2UI_Descriptor
/tmp/nix-build-eq10q-2.2.drv-0/eq10q-2.2/gui/eq10q_ui.cpp:152:3: error: invalid conversion from 'void* (*)(const int*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)' {aka 'void* (*)(const int*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)'} to 'void* (*)(const LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)' {aka 'void* (*)(const LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)'} [-fpermissive]
152 | instantiateEq10q_gui,
| ^~~~~~~~~~~~~~~~~~~~
| |
| void* (*)(const int*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*) {aka void* (*)(const int*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)}
make[2]: *** [gui/CMakeFiles/eq10q_gui.dir/build.make:83: gui/CMakeFiles/eq10q_gui.dir/eq10q_ui.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:761: gui/CMakeFiles/eq10q_gui.dir/all] Error 2
make: *** [Makefile:172: all] Error 2
I found the solution:
Thank you!