Subject: gnu: meld: Fix startup

From: Leo Prikler <[email-masked]>
Date: Fri, 25 Oct 2019 11:17:26 +0200

It was reported in IRC, that Meld is having troubles starting up. After
some building on my own I've decided to fix it.

Caveat: Running `guix build meld` followed by `/gnu/store/.../bin/meld`
will lead to a crash -- it seems GSettings is having some trouble.
`guix environment --ad-hoc meld` should work, though.

Regards,

Leo
From d0b647ac2b038e8bed5b99fa8dd4a70b4b4be357 Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Fri, 25 Oct 2019 11:01:50 +0200
Subject: [PATCH] gnu: meld: Fix startup.

* /gnu/packages/patchutils.scm: (meld)[inputs]: Use gtksourceview-3.
[arguments]<#:phases>: Add 'wrap-typelib'.
---
 gnu/packages/patchutils.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index a63d889cff..4cd6bbbf48 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -265,7 +265,7 @@ GiB).")
     (inputs
      `(("python-cairo" ,python-pycairo)
        ("python-gobject" ,python-pygobject)
-       ("gtksourceview" ,gtksourceview)))
+       ("gtksourceview" ,gtksourceview-3)))
     (propagated-inputs
      `(("dconf" ,dconf)))
     (arguments
@@ -292,7 +292,14 @@ GiB).")
              (setenv "HOME" "/tmp")
              (invoke "py.test" "-v" "-k"
                      ;; TODO: Those tests fail, why?
-                     "not test_classify_change_actions"))))))
+                     "not test_classify_change_actions")))
+         (add-after 'wrap 'wrap-typelib
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/meld")
+                 `("GI_TYPELIB_PATH" prefix
+                   ,(search-path-as-string->list (getenv "GI_TYPELIB_PATH"))))
+               #t))))))
     (home-page "https://meldmerge.org/")
     (synopsis "Compare files, directories and working copies")
     (description "Meld is a visual diff and merge tool targeted at
-- 
2.23.0