Subject: [PATCH 07/80] gnu: gedit: Update to 3.32.2.

From: Kei Kebreau <[email-masked]>
Date: Fri, 1 Nov 2019 21:40:56 -0400

* gnu/packages/gnome.scm (gedit): Update to 3.32.2.
[build-system]: Use meson-build-system.
[arguments]: Set glib-or-gtk? flag; add 'patch-libgd-fetch' phase; pass
configure flag to add $out/lib/gedit to RUNPATH.
[native-inputs]: Add desktop-file-utils, libgd, glib:bin and gtk+:bin.
[inputs]: Replace gtksourceview-3 with gtksourceview.
---
 gnu/packages/gnome.scm | 67 +++++++++++++++++++++++++++++-------------
 1 file changed, 46 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5d8add8c55..c1cba7687a 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4922,7 +4922,7 @@ javascript engine and the GObject introspection framework.")
 (define-public gedit
   (package
     (name "gedit")
-    (version "3.30.2")
+    (version "3.32.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -4930,38 +4930,63 @@ javascript engine and the GObject introspection framework.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0qwig35hzvjaqic9x92jcpmycnvcybsbnbiw6rppryx0arwb3wza"))))
-    (build-system glib-or-gtk-build-system)
+                "1q2rk7fym542c7k3bn2wlnzgy384gxacbifsjny0spbg95gfybvl"))))
+    (build-system meson-build-system)
     (arguments
-     `(#:phases
+     `(#:glib-or-gtk? #t
+       #:configure-flags
+       ;; Otherwise, the RUNPATH will lack the final path component.
+       (list (string-append "-Dc_link_args=-Wl,-rpath="
+                            (assoc-ref %outputs "out") "/lib/gedit"))
+       #:phases
        (modify-phases %standard-phases
-         (add-after
-          'install 'wrap-gedit
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((out               (assoc-ref outputs "out"))
-                  (gtksourceview     (assoc-ref inputs "gtksourceview"))
-                  (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
-                  (python-path       (getenv "PYTHONPATH")))
-              (wrap-program (string-append out "/bin/gedit")
-                ;; For plugins.
-                `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
-                `("PYTHONPATH" ":" prefix (,python-path))
-                ;; For language-specs.
-                `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
-                                                              "/share")))))
-            #t)))))
+         (add-after 'unpack 'patch-libgd-fetch
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((libgd (assoc-ref inputs "libgd")))
+               ;; Calling git is unnecessary because libgd is fetched as a
+               ;; native input to this package.
+               (substitute* "meson.build"
+                 ((".*git.*") ""))
+               (copy-recursively libgd "subprojects/libgd")
+               #t)))
+         (add-after 'install 'wrap-gedit
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out               (assoc-ref outputs "out"))
+                   (gtksourceview     (assoc-ref inputs "gtksourceview"))
+                   (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
+                   (python-path       (getenv "PYTHONPATH")))
+               (wrap-program (string-append out "/bin/gedit")
+                 ;; For plugins.
+                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+                 `("PYTHONPATH" ":" prefix (,python-path))
+                 ;; For language-specs.
+                 `("XDG_DATA_DIRS" ":" prefix (,(string-append gtksourceview
+                                                               "/share")))))
+             #t)))))
     (propagated-inputs
      `(("dconf" ,dconf)))
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
+       ("intltool" ,intltool)
        ("itstool" ,itstool)
+       ("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection)
+       ("gtk+" ,gtk+ "bin") ; for gtk-update-icon-cache
+       ("libgd"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://gitlab.gnome.org/GNOME/libgd")
+                 (commit "c7c7ff4e05d3fe82854219091cf116cce6b19de0")))
+           (file-name (git-file-name "libgd" version))
+           (sha256
+            (base32 "16yld0ap7qj1n96h4f2sqkjmibg7xx5xwkqxdfzam2nmyfdlrrrs"))))
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
        ("gspell" ,gspell)
        ("gtk+" ,gtk+)
-       ("gtksourceview" ,gtksourceview-3)
+       ("gtksourceview" ,gtksourceview)
        ("libpeas" ,libpeas)
        ("libxml2" ,libxml2)
        ("iso-codes" ,iso-codes)
-- 
2.23.0