Subject: [PATCH] glade: Search for catalogues and modules

From: Leo Prikler <[email-masked]>
Date: Tue, 08 Sep 2020 15:05:20 +0200

Hi Guix,

I noticed, that libhandy still has the glade catalog disabled even if
the module builds fine (although the 0.0 version appears to be broken).
To actually get glade to load them correctly, I had to define some
search paths, which is the actual functionality added by this patch
set.  I'm not sure, if other gtk+-based libraries would also add their
catalogs, so for now it's just these two patches.

Regards,
Leo
From 21671bd6a3c193be0b75a29d8edc71be25bae103 Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Tue, 8 Sep 2020 14:03:40 +0200
Subject: [PATCH 1/2] gnu: glade: Add catalog and module search paths.

* gnu/packages/gnome.scm (glade3)[native-search-paths]: Add
GLADE_CATALOG_SEARCH_PATH and GLADE_MODULE_SEARCH_PATH.
---
 gnu/packages/gnome.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8f75a4e914..1092065069 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2919,7 +2919,13 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
     (description "Glade is a rapid application development (RAD) tool to
 enable quick & easy development of user interfaces for the GTK+ toolkit and
 the GNOME desktop environment.")
-    (license license:lgpl2.0+)))
+    (license license:lgpl2.0+)
+    (native-search-paths (list (search-path-specification
+                                (variable "GLADE_CATALOG_SEARCH_PATH")
+                                (files '("share/glade/catalogs")))
+                               (search-path-specification
+                                (variable "GLADE_MODULE_SEARCH_PATH")
+                                (files '("lib/glade/modules")))))))
 
 (define-public libcroco
   (package
-- 
2.28.0

From c54baafc4b97e89c241ee3fff765ee84aa2e6e54 Mon Sep 17 00:00:00 2001
From: Leo Prikler <[email-masked]>
Date: Tue, 8 Sep 2020 14:08:33 +0200
Subject: [PATCH 2/2] gnu: libhandy: Enable glade_catalog.

* gnu/packages/gnome.scm (libhandy)[configure-flags]: Add glade_catalog.
[inputs]: Add glade and libxml2.
(libhandy-0.0)[configure-flags]: Keep glade_catalog disabled.
---
 gnu/packages/gnome.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 1092065069..31c5b0319c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10508,7 +10508,7 @@ advanced image management tool")
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags
-       '("-Dglade_catalog=disabled"
+       '("-Dglade_catalog=enabled"
          "-Dgtk_doc=true")
        #:phases
        (modify-phases %standard-phases
@@ -10519,7 +10519,9 @@ advanced image management tool")
              (setenv "DISPLAY" ":1")
              #t)))))
     (inputs
-     `(("gtk+" ,gtk+)))
+     `(("gtk+" ,gtk+)
+       ("glade" ,glade3)
+       ("libxml2" ,libxml2)))
     (native-inputs
      `(("glib:bin" ,glib "bin")
        ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner
@@ -10550,7 +10552,11 @@ for usage on small and big screens.")
              (commit (string-append "v" version))))
        (file-name (git-file-name "libhandy" version))
        (sha256
-        (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))))
+        (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments libhandy)
+       ((#:configure-flags flags)
+        '(list "-Dglade_catalog=disabled" "-Dgtk_doc=true"))))))
 
 (define-public libgit2-glib
   (package
-- 
2.28.0