Subject: [PATCH gnome-team 1/6] gnu: Add libpeas-2.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 28 Dec 2024 20:22:21 +0100

* gnu/packages/gnome.scm (libpeas-2): New variable.
---
 gnu/packages/gnome.scm | 60 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 38d5043ef71..26ebd02e74c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3173,6 +3173,66 @@ (define-public libnotify
 some form of information without getting in the user's way.")
     (license license:lgpl2.1+)))
 
+(define-public libpeas-2
+  (package
+    (name "libpeas")
+    (version "2.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://gnome/sources/" name "/"
+                           (version-major+minor version)  "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1pg6km41bp9ayr6z9pi40nc6mkw2ccdxkcdsvl9lxd9isxrjyvrp"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:configure-flags #~'("-Dvapi=true" "-Dgtk_doc=true"
+                            ;; XXX: fails to find lua-lgi
+                            "-Dlua51=false")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'start-xserver
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((disp ":1"))
+                (setenv "DISPLAY" disp)
+                (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
+                (setenv "XDG_CONFIG_HOME" "/tmp")
+                ;; Tests require a running X server.
+                (system (format #f "~a ~a &"
+                                (search-input-file inputs "bin/Xvfb")
+                                disp))))))))
+    (inputs
+     (list gtk
+           gjs
+           glade3
+           ;; lua-5.1
+           ;; lua5.1-lgi
+           python
+           python-pygobject))
+    (native-inputs
+     (list pkg-config
+           gettext-minimal
+           gi-docgen
+           `(,glib "bin")
+           gobject-introspection
+           xorg-server-for-tests
+           vala))
+    (propagated-inputs
+     ;; The .pc file "Requires" gobject-introspection.
+     (list glib gobject-introspection))
+    (home-page "https://wiki.gnome.org/Projects/Libpeas")
+    (synopsis "GObject plugin system")
+    (description
+     "Libpeas is a gobject-based plugin engine, targeted at giving every
+application the chance to assume its own extensibility.  It also has a set of
+features including, but not limited to: multiple extension points; on-demand
+(lazy) programming language support for C, Python and JS; simplicity of the
+API.")
+    (license license:lgpl2.0+)))
+
 (define-public libpeas
   (package
     (name "libpeas")
-- 
2.46.0