Subject: [bug#51428] [PATCH core-update-frozen 18/20] gnu: gdk-pixbuf: Add a search path for the loaders cache file.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 27 Oct 2021 00:51:49 -0400

Fixes <https://issues.guix.gnu.org/50957>.

The previous commit added a profile hook to compute a gdk-pixbuf loaders cache
file.  This change enables gdk-pixbuf to make use of it.

* gnu/packages/gtk.scm (gdk-pixbuf)[native-search-paths]: Add a search path
specification to set the GDK_PIXBUF_MODULE_FILE environment variable.
---
 gnu/packages/gtk.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 22106c1185..0463e26246 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -52,6 +52,8 @@ (define-module (gnu packages gtk)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module ((guix build utils) #:select (alist-replace))
+  #:use-module ((guix build glib-or-gtk-build-system)
+                #:select (%gdk-pixbuf-loaders-cache-file))
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
@@ -697,6 +699,14 @@ (define-public gdk-pixbuf
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)
        ("xsltproc" ,libxslt)))
+    (native-search-paths
+     ;; This file is produced by the gdk-pixbuf-loaders-cache-file
+     ;; profile hook.
+     (list (search-path-specification
+            (variable "GDK_PIXBUF_MODULE_FILE")
+            (files (list %gdk-pixbuf-loaders-cache-file))
+            (separator #f)              ;single valued
+            (file-type 'regular))))
     (synopsis "Image loading library")
     (description "GdkPixbuf is a library that loads image data in various
 formats and stores it as linear buffers in memory.  The buffers can then be
-- 
2.33.1