This page installs both the PlutoVG and PlutoSVG packages. PlutoVG provides a 2D vector graphics library, whereas PlutoSVG utilizes PlutoVG to provide an SVG rendering library. PlutoVG will be installed first and then PlutoSVG.
PlutoVG Download: https://github.com/sammycage/plutovg/archive/v1.3.2/plutovg-1.3.2.tar.gz
PlutoSVG Download: https://github.com/sammycage/plutosvg/archive/v0.0.7/plutosvg-0.0.7.tar.gz
CMake (for CMake files needed by CMake build systems)
PlutoVG will be installed first, so unpack the PlutoVG tarball and navigate to the extracted directory. Afterwards, install PlutoVG by running the following commands:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_SHARED_LIBS=ON \
-W no-dev -G Ninja .. &&
ninja
Now, as the root user:
ninja install
Now build PlutoSVG:
tar -xf ../../plutosvg-0.0.7.tar.gz &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_SHARED_LIBS=ON \
-W no-dev -G Ninja \
-B svg-build \
plutosvg-0.0.7 &&
ninja -C svg-build
Finally, install PlutoSVG as the root user:
ninja -C svg-build install
As a post-installation step, you need to fix library sonames that
are supposed to be symlinks. The sonames are the actual libraries
which must be moved to indicate that they are libraries, and then
ldconfig must be ran
afterwards to reinstate them as symlinks. Do that now as the
root user:
rm -vf /usr/lib/libplutovg.so.1.3.2 &&
rm -vf /usr/lib/libplutosvg.so.0.0.7 &&
mv -vf /usr/lib/libplutovg.so.1{,.3.2} &&
mv -vf /usr/lib/libplutosvg.so.0{,.0.7} &&
ldconfig
If you reinstall or upgrade PlutoVG and PlutoSVG, the above set of commands must be run again since the installation process will overwrite the symlinks.
If you run the above set of commands more than once without another reinstallation or upgrade between, then the actual libraries will be deleted and symlinks will be put in their place. You will then have to reinstall PlutoVG and PlutoSVG and run the commands again to fix this problem.