BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.03k stars 449 forks source link

[vcpkg][linux] Add custom gdk-pixbuf and librsvg vcpkg ports #5718

Closed AenBleidd closed 3 months ago

AenBleidd commented 3 months ago

When BOINC for Linux is built with vcpkg, and links all the dependencies statically, gdk-pixbuf cannot load dynamically loaded modules (like SVG loader) during runtime. To fix thism we need to modify gdk-pixbuf in a way that it uses librsvg as a built-in format. However, librsvg internally requires gdk-pixbuf during build stage, that makes a circular dependency. To avoid this, we have to include necessary librsvg symbols into boincmgr binary manually and do some dummy calls to them to force linker to include them into the final binary.

This fixes: #5563.