Debian / Devuan packages

These packages install the C library (librsvg-2.so.2) and replace the official GNOME/Rust librsvg2-* packages. Version 2.62.3-1, architecture amd64. Same C API and SONAME as librsvg 2.62.3.

Packages

librsvg-c2 — Runtime shared library (librsvg-2.so.2). Needed by any program that links against librsvg to render SVG.

librsvg-c-common — gdk-pixbuf SVG loader (libpixbufloader-svg.so). Lets GTK apps and anything using gdk-pixbuf load SVG as images (icons, themes). On a desktop this is required with librsvg-c2.

librsvg-c-bin — Command-line tool rsvg-convert. Converts SVG to PNG/PDF and similar. Optional for a desktop; useful for scripts and testing.

librsvg-c-dev — Headers and pkg-config. Only for compiling software against librsvg. Not needed to run apps.

Which packages to install

Verify the files

cd /path/to/deb
gpg --import oss-familybusinesssoftware.com-pubkey.asc
gpg --verify librsvg-c_2.62.3-1_amd64.SHA256SUMS.asc \
             librsvg-c_2.62.3-1_amd64.SHA256SUMS
sha256sum -c librsvg-c_2.62.3-1_amd64.SHA256SUMS

How to Install

 Preferred: install.sh
     Put `install.sh` in the same directory as the `.deb` files.
     cd /path/to/debs
     sudo ./install.sh 

Install the local debs in one apt command. Apt pulls missing Depends (for example libgif7) and removes official librsvg2-2 / librsvg2-common in the same transaction.

sudo apt-get update
sudo apt-get install -y \
  ./librsvg-c2_2.62.3-1_amd64.deb \
  ./librsvg-c-common_2.62.3-1_amd64.deb \
  ./librsvg-c-bin_2.62.3-1_amd64.deb \
  ./librsvg-c-dev_2.62.3-1_amd64.deb

Omit the -dev line if you only need the runtime and loader. A helper script install.sh in the same directory does the checksum check and this apt command.

Do not do this

If you cannot use apt for the local files, install Depends first (libgif7, and the -dev packages if needed), then:

sudo dpkg --auto-deconfigure -i \
  librsvg-c2_2.62.3-1_amd64.deb \
  librsvg-c-common_2.62.3-1_amd64.deb \
  librsvg-c-bin_2.62.3-1_amd64.deb \
  librsvg-c-dev_2.62.3-1_amd64.deb

Prefer the apt one-shot above.

Check

dpkg -l | grep librsvg
rsvg-convert --version
# rsvg-convert version 2.62.3

cat > /tmp/smoke.svg <<'EOF'
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
  <rect width="16" height="16" fill="#00ff00"/>
</svg>
EOF
rsvg-convert -o /tmp/smoke.png /tmp/smoke.svg

ls /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
gdk-pixbuf-query-loaders | grep svg

Expect ii lines for librsvg-c2 / librsvg-c-common (and bin/dev if installed). There should be no installed official librsvg2-2 or librsvg2-common. The loader name uses a hyphen: libpixbufloader-svg.so.

Developers / pkg-config

pkg-config --modversion librsvg-2.0
# 2.62.3
pkg-config --cflags --libs librsvg-2.0

librsvg-c-dev 2.62.3-1 Depends on the private pkg-config modules (including libxml2-dev, libgif-dev, libavif-dev, libpng-dev, libjpeg-dev, libwebp-dev). Rebuild that package if --cflags --libs still fails after installing only the older -dev deb.

Restore Rust librsvg

sudo apt-get remove librsvg-c2 librsvg-c-common \
                    librsvg-c-bin librsvg-c-dev
sudo apt-get install librsvg2-2 librsvg2-common \
                     librsvg2-bin librsvg2-dev

Removing librsvg-c-common refreshes the pixbuf loader cache. Reinstall official librsvg2-common if desktop SVG icons break.

Notes

Verify the files

    The library is under the GNU Library GPL v2 or later. Tools are under the GNU GPL v2.