summary refs log tree commit diff
path: root/gnu/packages/geo.scm
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2022-10-05 21:59:36 +0200
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2022-10-05 22:05:43 +0200
commit9be5f88e18c50df26e5482f80eb8fcbff9c588bd (patch)
tree039ce2f10bb01a51079feb629654e124ac53333b /gnu/packages/geo.scm
parentccbeb3fde6c0d58f3fd509f3c2d3414dfe03943c (diff)
downloadguix-9be5f88e18c50df26e5482f80eb8fcbff9c588bd.tar.gz
gnu: gnome-maps: Properly wrap GI_TYPELIB_PATH.
This fixes a bug reported by pkill9 and tschilptschilp23 in IRC.
See <http://logs.guix.gnu.org/guix/2022-10-01.log#031053> and
<http://logs.guix.gnu.org/guix/2022-10-05.log#214334>.
It does so by using a snippet that's also applied in gnome-shell.

* gnu/packages/geo.scm (gnome-maps)[#:phases]: Remove ‘patch-dbus-service’.
Update ‘wrap’ so that it uses GJS-specific wrapping code rather than
wrap-program.
Diffstat (limited to 'gnu/packages/geo.scm')
-rw-r--r--gnu/packages/geo.scm15
1 files changed, 8 insertions, 7 deletions
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 6b82087d6e..5e484c6e1c 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -280,15 +280,16 @@ topology functions.")
                                     "update_desktop_database"))
                    (string-append option ": false"))
                   (else all))))))
-          (add-after 'unpack 'patch-dbus-service
-            (lambda _
-              (substitute* "data/org.gnome.Maps.service.in"
-                (("@pkgdatadir@/org.gnome.Maps")
-                 (string-append #$output "/bin/gnome-maps")))))
           (add-after 'install 'wrap
             (lambda _
-              (wrap-program (string-append #$output "/bin/gnome-maps")
-                `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))))))))
+              (let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+                (substitute* (string-append #$output "/share/gnome-maps/"
+                                            "org.gnome.Maps")
+                  (("imports\\.package\\.init" all)
+                   (string-append "'" gi-typelib-path "'.split(':').forEach("
+                                  "path => imports.gi.GIRepository.Repository."
+                                  "prepend_search_path(path));\n"
+                                  all)))))))))
     (native-inputs
      (list gettext-minimal
            `(,glib "bin")