Subject: 1-girara-v1

From: Raghav Gururajan <[email-masked]>
Date: Fri, 1 May 2020 09:49:48 -0400

From 4f73a7fbd82838e99680e8043b78e9d7009284eb Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Fri, 1 May 2020 07:26:49 -0400
Subject: [PATCH 1/2] gnu: girara: Move to pwmt module.

Moved variable from gtk.scm to pwmt.scm, for being part of pwmt project.
Added extra dependencies and arguments for additional features.
Changed source-origin from git to release files.
Made some cosmetic changes in the definition.

* gnu/packages/gtk.scm (girara): Remove variable.
* gnu/packages/pwmt.scm (girara): Add variable.
---
 gnu/packages/gtk.scm  |  49 --------------------
 gnu/packages/pwmt.scm | 101 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+), 49 deletions(-)
 create mode 100644 gnu/packages/pwmt.scm

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index bea4850d15..4d093a0e0a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1445,55 +1445,6 @@ In addition to the low level layout rendering routines, Pango includes
 and routines to assist in editing internationalized text.")
     (license license:lgpl2.1+)))
 
-(define-public girara
-  (package
-    (name "girara")
-    (version "0.3.4")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://git.pwmt.org/pwmt/girara")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k"))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("check" ,check)
-                     ("gettext" ,gettext-minimal)
-                     ("glib:bin" ,glib "bin")
-                     ("xorg-server" ,xorg-server-for-tests)))
-    ;; Listed in 'Requires.private' of 'girara.pc'.
-    (propagated-inputs `(("gtk+" ,gtk+)))
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-before 'check 'start-xserver
-                    ;; Tests require a running X server.
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((xorg-server (assoc-ref inputs "xorg-server"))
-                            (display ":1"))
-                        (setenv "DISPLAY" display)
-
-                        ;; On busy machines, tests may take longer than
-                        ;; the default of four seconds.
-                        (setenv "CK_DEFAULT_TIMEOUT" "20")
-
-                        ;; Don't fail due to missing '/etc/machine-id'.
-                        (setenv "DBUS_FATAL_WARNINGS" "0")
-                        (zero? (system (string-append xorg-server "/bin/Xvfb "
-                                                      display " &")))))))))
-    (build-system meson-build-system)
-    (home-page "https://pwmt.org/projects/girara/")
-    (synopsis "Library for minimalistic gtk+3 user interfaces")
-    (description "Girara is a library that implements a user interface that
-focuses on simplicity and minimalism.  Currently based on GTK+, a
-cross-platform widget toolkit, it provides an interface that focuses on three
-main components: a so-called view widget that represents the actual
-application, an input bar that is used to execute commands of the
-application and the status bar which provides the user with current
-information.")
-    (license license:zlib)))
-
 (define-public gtk-doc
   (package
     (name "gtk-doc")
diff --git a/gnu/packages/pwmt.scm b/gnu/packages/pwmt.scm
new file mode 100644
index 0000000000..3e986c3656
--- /dev/null
+++ b/gnu/packages/pwmt.scm
@@ -0,0 +1,101 @@
+;;; GNU Guix --- Functional package management for GNU
+;;;
+;;; Copyright © 2015 Paul van der Walt <[email-masked]>
+;;; Copyright © 2016 ng0 <[email-masked]>
+;;; Copyright © 2017 2018 Marius Bakke <[email-masked]>
+;;; Copyright © 2017 Kei Kebreau <[email-masked]>
+;;; Copyright © 2018 2019 2020 Tobias Geerinckx-Rice <[email-masked]>
+;;; Copyright © 2020 Raghav Gururajan <[email-masked]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages pwmt)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages web)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xdisorg)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson))
+
+(define-public girara
+  (package
+    (name "girara")
+    (version "0.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://pwmt.org/projects/" name "/download/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "0cmjdismdsx9a5l7zx54zkd33mgg3mx4ckpvc7aap3x6a1ddmz2i"))))
+    (arguments
+     `(#:glib-or-gtk? #t                ; To compile schemas
+       #:configure-flags
+       (list
+        "-Dnotify=enabled")             ; For notification support
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'start-xserver
+           ;; Tests require a running X server.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let
+                 ((xorg-server (assoc-ref inputs "xorg-server"))
+                  (display ":1"))
+               (setenv "DISPLAY" display)
+               ;; On busy machines, tests may take longer than
+               ;; the default of four seconds.
+               (setenv "CK_DEFAULT_TIMEOUT" "20")
+               ;; Don't fail due to missing '/etc/machine-id'.
+               (setenv "DBUS_FATAL_WARNINGS" "0")
+               (zero?
+                (system
+                 (string-append xorg-server "/bin/Xvfb "
+                                display " &")))))))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("check" ,check)                 ; For tests
+       ("doxygen" ,doxygen)             ; For docs
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("pkg-config" ,pkg-config)
+       ("xorg-server" ,xorg-server-for-tests))) ; For tests
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("json-c" ,json-c)          ; For configuration dumping support
+       ("libnotify" ,libnotify)    ; For notification support
+       ("pango" ,pango)))
+    (home-page "https://pwmt.org/projects/girara/")
+    (synopsis "Library for minimalistic gtk+3 user interfaces")
+    (description "Girara is a library that implements a user interface that
+focuses on simplicity and minimalism.  Currently based on GTK+, a
+cross-platform widget toolkit, it provides an interface that focuses on three
+main components: a so-called view widget that represents the actual
+application, an input bar that is used to execute commands of the
+application and the status bar which provides the user with current
+information.")
+    (license license:zlib)))
-- 
2.26.2