Subject: [PATCH gnome-team 01/59] gnu: gjs: Wrap GI_TYPELIB_PATH to include necessary typelibs.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 9 Jan 2025 22:38:02 +0100

Some packages, like gnome-maps rely on being able to patch the GIRepository
search path from inside gjs.  For this to work, however, gjs must be able to
load GIRepository, needing both glib and gobject-introspection to do so.

* gnu/packages/gnome.scm (gjs)[#:phases]: Add ‘wrap-gi’.
---
 gnu/packages/gnome.scm | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index dd61b544d5..134b1b75ac 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7922,7 +7922,20 @@ (define-public gjs
              (setenv "DISPLAY" ":1")
 
              ;; For the missing /etc/machine-id.
-             (setenv "DBUS_FATAL_WARNINGS" "0"))))))
+             (setenv "DBUS_FATAL_WARNINGS" "0")))
+         (add-after 'install 'wrap-gi
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/gjs")
+               `("GI_TYPELIB_PATH" suffix
+                 (,(dirname
+                    (search-input-file
+                     inputs
+                     "lib/girepository-1.0/GObject-2.0.typelib"))
+                  ,(dirname
+                    (search-input-file
+                     inputs
+                     "lib/girepository-1.0/GIRepository-2.0.typelib"))))))))))
     (native-inputs
      (list `(,glib "bin")               ;for glib-compile-resources
            pkg-config
-- 
2.47.1