INSTALL: explaining a bit more the deal with librsvg.

Rust dependencies are not really making everyone happy apparently. We
don't want to make SVG support optional anymore because it is too
important, and unfortunately there doesn't seem to be any suitable
replacement SVG libs so far (or we haven't found them).

We explain this in the INSTALL file and also explain a bit how to bypass
the SVG parts for packagers really needing to do so, allowing GIMP to be
as portable as possible.

See also issue #6821.
This commit is contained in:
Jehan 2022-01-31 22:59:20 +01:00
parent ae6c58652e
commit 26f9bcb3b5

View file

@ -98,6 +98,24 @@ header files installed.
9. libpng, libjpeg, libtiff, librsvg and lcms are hard dependencies 9. libpng, libjpeg, libtiff, librsvg and lcms are hard dependencies
that can not be disabled. that can not be disabled.
There might be some issues with librsvg, based on the fact newer
versions are in Rust which is not buildable on all platforms. Yet
SVG support was deemed too important to be considered "optional"
for a decent graphics activity. Nevertheless a packager really
intent to have GIMP running on an architecture with no Rust support
could still:
1) easily patch out the file-svg plug-in from build system;
2) build GIMP with --disable-vector-icons. Ironically librsvg is
needed at build time for this option, in order to create PNG
variants of icons (making librsvg unneeded at runtime). So all it
takes is to have a build machine with librsvg to create the PNG
icons, package and deliver them for machines without librsvg.
This is the compromise we came with, i.e. officially making SVG a
first-class file format, yet explaining how you could ignore it if
you really wanted or needed to.
10. For MyPaint brushes, brushlib (libmypaint) @LIBMYPAINT_REQUIRED_VERSION@ is used. 10. For MyPaint brushes, brushlib (libmypaint) @LIBMYPAINT_REQUIRED_VERSION@ is used.
The libmypaint repository is hosted at: The libmypaint repository is hosted at: