about summary refs log tree commit diff
path: root/pkgs/development/libraries/librsvg
diff options
context:
space:
mode:
authorCillian de Róiste <goibhniu@fsfe.org>2012-11-11 18:02:27 +0100
committerCillian de Róiste <goibhniu@fsfe.org>2012-11-11 18:02:27 +0100
commit7c9eebf446adcaf66f265b14a847b9a065e91be5 (patch)
tree80d8cc7db1800a68fd1c3049c450b50a290c76da /pkgs/development/libraries/librsvg
parent278f711e36f4faff62f3a092ec209e10f15507f3 (diff)
downloadnixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.tar
nixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.tar.gz
nixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.tar.bz2
nixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.tar.lz
nixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.tar.xz
nixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.tar.zst
nixlib-7c9eebf446adcaf66f265b14a847b9a065e91be5.zip
Enable pixbuf-loader
for gtk to be able to use the pixbuf-loader for svg files it needs to be enabled, and a loaders.cache needs to be created.
Diffstat (limited to 'pkgs/development/libraries/librsvg')
-rw-r--r--pkgs/development/libraries/librsvg/default.nix17
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
+  '';
 }