Subject: Re: [bug#38679] [PATCH] gnu: add geary.

From: Brett Gilio <[email-masked]>
Date: Fri, 20 Dec 2019 22:53:31 -0600

Hi Kasperi,

I have a few helpful criticisms of your patch, if you do not mind! :)

Kasperi Keränen <[email-masked]> writes:

> From 3d3ff29798e203f6cf7861a3ecfbb3fd5834c10b Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Kasperi=20Ker=C3=A4nen?= <[email-masked]>
> Date: Thu, 19 Dec 2019 19:17:38 +0100
> Subject: [PATCH] gnu: add geary.

Usually, when using the GNU Emacs yasnippet form from /guix/etc/snippets
the "add" is capitalized like so, "gnu: Add geary."

>
> * gnu/packages/gnome.scm (geary): New variable.
> ---
>  gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 63 insertions(+)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 0a9087eaff..7b3c337d60 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -168,6 +168,7 @@
>    #:use-module (gnu packages xml)
>    #:use-module (gnu packages xorg)
>    #:use-module (gnu packages xorg)
> +  #:use-module (gnu packages libunwind)

Would you mind adding this in its alphabetical order?

>    #:use-module (gnu artwork)
>    #:use-module (guix build-system cargo)
>    #:use-module (guix build-system cmake)
> @@ -8684,6 +8685,68 @@ functionality.")
>                     license:openldap2.8 ; addressbook/gui/component/openldap-extract.h
>                     license:lgpl2.1+))))  ; smime/lib/*
>  
> +(define-public geary
> +  (package
> +    (name "geary")
> +    (version "3.32.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "mirror://gnome/sources/geary/"
> +                                  (version-major+minor version) "/"
> +                                  "geary-" version ".tar.xz"))
> +              (sha256
> +               (base32
> +                "0sg53zq81v28hdqiy5d048skwfgsa8ck0z7ywsagdh7iaqin68gq"))))
> +    (build-system meson-build-system)
> +    (arguments `(#:tests? #f ;; Client tests require a wayland/X11
> display.

A single ; comment will suffice here since it exists on the same line. I
also wonder if it is possible to spoof that display variable in the
tests or just remove that singular test? I might look into this if I
have some time. Maybe mark this as a TODO:?

> +                 #:glib-or-gtk? #t
> +                 #:phases (modify-phases %standard-phases
> +                            (add-after 'unpack 'skip-gtk-update-icon-cache
> +                              (lambda _
> +                                (substitute* "build-aux/post_install.py"
> +                                  (("gtk-update-icon-cache") "true"))
> +                                #t)))))
> +    (native-inputs
> +     `(("glib:bin" ,glib "bin")
> +       ("gettext" ,gettext-minimal)
> +       ("itstool" ,itstool)
> +       ("pkg-config" ,pkg-config)
> +       ("cmake" ,cmake)))
> +    (inputs
> +     `(("vala" ,vala)
> +       ("sqlite" ,sqlite)
> +       ("webkitgtk" ,webkitgtk)
> +       ("gtk+" ,gtk+)
> +       ("glib" ,glib)
> +       ("gmime" ,gmime-2.6)
> +       ("appstream-glib" ,appstream-glib)
> +       ("libarchive" ,libarchive)
> +       ("folks" ,folks)
> +       ("libgee" ,libgee)
> +       ("enchant" ,enchant)
> +       ("gcr" ,gcr)
> +       ("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
> +       ("gspell" ,gspell)
> +       ("iso-codes" ,iso-codes)
> +       ("json-glib" ,json-glib)
> +       ;; ("libpeas" ,libpeas) ;; Required by a newer version of geary
> +       ("libnotify" ,libnotify)
> +       ("libsecret" ,libsecret)
> +       ("libunwind" ,libunwind)
> +       ("libcanberra" ,libcanberra)
> +       ("glib-networking" ,glib-networking)
> +       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
> +    (home-page "https://gitlab.gnome.org/GNOME/geary")
> +    (synopsis "An email application built around conversations")
> +    (description "Geary is an email application built around conversations, for the
> +GNOME 3 desktop.  It allows you to read, find and send email with a
> +straightforward, modern interface.")
> +    (license (list license:lgpl2.1
> +                   license:cc-by3.0      ;;
> +                   license:cc-by-sa3.0   ;; icons
> +                   license:public-domain ;;
> +                   license:bsd-2))))     ;; snowball
> +
>  (define-public gthumb
>    (package
>      (name "gthumb")

Some of my other comments apply to other sections, name about the single
; for same-line comments. I will give this a build and test when I get a
moment. In the mean time, I would also look over some of the inputs some
more, because I wonder if things like "vala" should be native-inputs
instead? Just a thought, I could be wrong.

If you can reroll your patch for a V2 and send it to this tracker issue,
I would appreciate it :).

-- 
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<[email-masked]> <[email-masked]>