diff options
Diffstat (limited to 'pkgs/development/libraries/librsvg')
-rw-r--r-- | pkgs/development/libraries/librsvg/default.nix | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 86b818cd5a98..3f84a69e3f46 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -11,6 +11,19 @@ stdenv.mkDerivation { propagatedBuildInputs = [ glib gtk ]; buildNativeInputs = [ pkgconfig ]; - # It tries to install the loader to $gdk_pixbuf - configureFlags = "--disable-pixbuf-loader"; + # It wants to add loaders and update the loaders.cache in gdk-pixbuf + # Patching the Makefiles to it creates rsvg specific loaders and the + # relevant loader.cache here. + # The loaders.cache can be used by setting GDK_PIXBUF_MODULE_FILE to + # point to this file in a wrapper. + postConfigure = '' + GDK_PIXBUF=$out/lib/gdk-pixbuf + mkdir -p $GDK_PIXBUF/loaders + sed -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \ + -i gdk-pixbuf-loader/Makefile + sed -e "s#gdk_pixbuf_cache_file = .*#gdk_pixbuf_cache_file = $GDK_PIXBUF/loaders.cache#" \ + -i gdk-pixbuf-loader/Makefile + sed -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" \ + -i gdk-pixbuf-loader/Makefile + ''; } |