Subject: bug#55634: inkscape does not find icons, needs wrapping or such for GDK_PIXBUF_MODULE_FILE

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 12 Jul 2022 15:32:48 -0400

Hi,

Maxime Devos <[email-masked]> writes:

> Broken:
>
> $ guix shell --pure inkscape -- inkscape
>
> (crashes on start with ‘Inkscape encountered an internal error and will
> close now’.)
>
> Work-around:
>
> $ guix shell --pure inkscape gdk-pixbuf -- inkscape
>
> also works:
>
> $ guix shell --pure inkscape gdk-pixbuf -- /usr/bin/env
> GDK_PIXBUF_MODULE_FILE=/gnu/store/[...]-profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
> inkscape

I'm surprised gdk-pixbuf is enough; I would have expected you need to
add adwaita-icon-theme and librsvg (for the SVG pixbuf loader).  I guess
it has all the icons already but doesn't have even a non-svg loader.

The annoying part with GDK_PIXBUF_MODULE_FILE is that if we wrap it, it
can't be extended by the user given the variable takes a single value;
so suppose we wrap it without librsvg, then Inkscape will loose the
ability to load the SVG version of its icon, which probably look better
on high resolution displays.

Currently, I think we also cannot add librsvg to inkscape inputs, as it
would introduce a cycle; we'd have to come up with a new minimal variant
used by dblatex.

I guess we could have a minimal and a full-blown version of Inkscape,
the later which would include librsvg and wrap GDK_PIXBUF_MODULE_FILE.

Thanks,

Maxim