Fails to build with libgweather 3.36
Dear Developers
I try to build evolution 3.44.1 (latest stable) on Linux Minx 20.3 Una (based on Ubuntu 20.04 LTS).
For that I used the manual https://wiki.gnome.org/Apps/Evolution/Building
The build was failing, because the following error message:
[ 94%] Linking C shared module module-text-highlight.so
[ 94%] Built target module-text-highlight
Scanning dependencies of target module-cal-config-weather
[ 94%] Building C object src/modules/cal-config-weather/CMakeFiles/module-cal-config-weather.dir/e-weather-location-entry.c.o
/home/molnarb/src/evolution/src/modules/cal-config-weather/e-weather-location-entry.c: In function ‘fill_location_entry_model’:
/home/molnarb/src/evolution/src/modules/cal-config-weather/e-weather-location-entry.c:579:19: error: implicit declaration of function ‘gweather_location_next_child’; did you mean ‘gweather_location_get_children’? [-Werror=implicit-function-declaration]
579 | while ((child = gweather_location_next_child (loc, child)))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| gweather_location_get_children
After shot analysis find out that the problem is, that on my system i have gweather3 (3.36.1) installed AND not gwaether4 AND the evolution's cal-weather plugin badly handles the v3 variant:
- on v3 there is no gweather_location_next_child() and
- there is no gweather_location_get_english_sort_name() function
I updated the e-weather-location-entry.c code with some "#if GWEATHER_CHECK_VERSION(3, 39, 0)" conditions, after that the build is success. Please check the attached source code as a "draft" for the solution for this issue. Thankse-weather-location-entry.c