diff options
Diffstat (limited to 'pkgs/development/libraries/librsvg/default.nix')
-rw-r--r-- | pkgs/development/libraries/librsvg/default.nix | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 9589298ecd5..ea1910733e7 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf +{ lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf , bzip2, libcroco, libintlOrEmpty -, gtk3 ? null +, withGTK ? false, gtk3 ? null , gobjectIntrospection ? null, enableIntrospection ? false }: # no introspection by default, it's too big @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintlOrEmpty ] ++ stdenv.lib.optional enableIntrospection [ gobjectIntrospection ]; - propagatedBuildInputs = [ glib gdk_pixbuf cairo gtk3 ]; + propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3; nativeBuildInputs = [ pkgconfig ]; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { # 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 + GDK_PIXBUF=$out/lib/gdk-pixbuf-2.0/2.10.0 mkdir -p $GDK_PIXBUF/loaders sed -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \ -i gdk-pixbuf-loader/Makefile @@ -43,4 +43,11 @@ stdenv.mkDerivation rec { sed -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" \ -i gdk-pixbuf-loader/Makefile ''; + + # Merge gdkpixbuf and librsvg loaders + postInstall = '' + mv $GDK_PIXBUF/loaders.cache $GDK_PIXBUF/loaders.cache.tmp + cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache $GDK_PIXBUF/loaders.cache.tmp > $GDK_PIXBUF/loaders.cache + rm $GDK_PIXBUF/loaders.cache.tmp + ''; } |