mapserver/mapserver — pull request #4715 by tbonfort (2013-07-25 13:24:26+00:00)
Title: Add libRSVG as an alternative to libsvg-cairo

While implementing svg symbology support, we made the choice to go
with libsvg+libsvg-cairo for parsing and rendering of svg files, as
those were the libraries that had the least dependencies. It turns out
both those libraries are more or less abandonware, resulting in their
absence from a number of distros, and an incompatibility with newer
cairo apis.

Along with release 6.4, I propose to add an SVG symbol implementation
based on librsvg [ https://wiki.gnome.org/LibRsvg ], with the
following consequences:

- the user can decide at compile time wether to use libsvgcairo or librsvg
- librsvg is maintained and present in distros, being a core component of gnome
- librsvg has a number of dependencies, making its compilation/usage
on non-standard platforms possibly problematic (c.f. previous point:
but it is distributed by distros).
- librsvg is GPL, with all that that might imply for people releasing
mapserver binaries.

This seems like the only way out if we want to continue supporting SVG
symbols in the longer run. I understand the limitations, however the
user still has the option to fall back to the current situation with
libsvg-cairo.