Subject: [bug#37091] [PATCH] gnu: Add template-glib.

From: Giacomo Leidi <[email-masked]>
Date: Tue, 20 Aug 2019 01:12:11 +0200

* gnu/packages/glib.scm (template-glib): New variable.
---
 gnu/packages/glib.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index ab9ed0b1bf..3e16c62f53 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2017 Petter <[email-masked]>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2018 Alex Vong <[email-masked]>
+;;; Copyright © 2019 Giacomo Leidi <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -891,3 +892,41 @@ main loop, simply get a connection to the bus via the methods in
 @code{Net::DBus::GLib} rather than the usual @code{Net::DBus} module.  Every
 other API remains the same.")
     (license license:gpl2+)))
+
+(define-public template-glib
+  (package
+    (name "template-glib")
+    (version "3.32.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags '("-D" "enable_gtk_doc=true")))
+    (inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("glib:bin" ,glib "bin") ;; For glib-mkenums
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
+    (home-page "https://gitlab.gnome.org/GNOME/template-glib")
+    (synopsis "Library for template expansion which supports calling into
+GObject Introspection from templates")
+    (description
+     "Template-GLib is a library to help you generate text based on a template and
+user defined state.  Template-GLib does not use a language runtime, so it is
+safe to use from any GObject-Introspectable language.
+
+Template-GLib allows you to access properties on GObjects as well as call
+simple methods via GObject-Introspection.")
+    (license license:lgpl2.1+)))
-- 
2.23.0