Subject: [PATCH v5 06/16] gnu: Add perl-gtk3.

From: Raghav Gururajan <[email-masked]>
Date: Sat, 3 Jul 2021 21:03:10 -0400

* gnu/packages/gtk.scm (perl-gtk3): New variable.
---
 gnu/packages/gtk.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index bc30905444..d92b9aa3e4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1657,6 +1657,48 @@ object-oriented way, freeing you from the casting and memory management in C,
 yet remaining very close in spirit to original API.")
     (license license:lgpl2.1+)))
 
+(define-public perl-gtk3
+  (package
+    (name "perl-gtk3")
+    (version "0.038")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/X/XA/XAOC/Gtk3-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1k3sfcvxxx7ir7ail7w1lkmr4np0k3criljzw5wir63lmbr4pp3h"))))
+    (build-system perl-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'pre-check
+           (lambda _
+             ;; Tests require a running X server.
+             (system "Xvfb :1 +extension GLX &")
+             (setenv "DISPLAY" ":1"))))))
+    (native-inputs
+     `(("adwaita-icon-theme" ,adwaita-icon-theme)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("perl-extutils-depends" ,perl-extutils-depends)
+       ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)
+       ("perl-test-simple" ,perl-test-simple)
+       ("xorg-server" ,xorg-server-for-tests)))
+    (propagated-inputs
+     `(("gtk+" ,gtk+)
+       ("perl-cairo-gobject" ,perl-cairo-gobject)
+       ("perl-carp" ,perl-carp)
+       ("perl-exporter" ,perl-exporter)
+       ("perl-glib-object-introspection" ,perl-glib-object-introspection)))
+    (home-page "https://metacpan.org/dist/Gtk3")
+    (synopsis "Perl interface to the 3.x series of the gtk+ toolkit")
+    (description "Perl bindings to the 3.x series of the gtk+ toolkit.
+This module allows you to write graphical user interfaces in a Perlish and
+object-oriented way, freeing you from the casting and memory management in C,
+yet remaining very close in spirit to original API.")
+    (license license:lgpl2.1+)))
+
 (define-public perl-pango
   (package
     (name "perl-pango")
-- 
2.32.0