[PATCH] gnu: add geary.

  • Done
  • quality assurance status badge
Details
5 participants
  • Arun Isaac
  • Brett Gilio
  • Kasperi Keränen
  • Christopher Baines
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Kasperi Keränen
Severity
normal
K
K
Kasperi Keränen wrote on 19 Dec 2019 22:15
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
VI1PR0202MB350387069B2149803894ED67FD520@VI1PR0202MB3503.eurprd02.prod.outlook.com

From 3d3ff29798e203f6cf7861a3ecfbb3fd5834c10b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kasperi=20Ker=C3=A4nen?= <kasperi.keranen@outlook.com>
Date: Thu, 19 Dec 2019 19:17:38 +0100
Subject: [PATCH] gnu: add geary.
* gnu/packages/gnome.scm (geary): New variable.
---
gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
Toggle diff (83 lines)
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)
#: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.
+ #: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")
--
2.24.1
B
B
Brett Gilio wrote on 21 Dec 2019 05:53
(name . Kasperi Keränen)(address . kasperi.keranen@outlook.com)(address . 38679@debbugs.gnu.org)
87d0ciqnxw.fsf@gnu.org
Hi Kasperi,

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

Kasperi Keränen <kasperi.keranen@outlook.com> writes:

Toggle quote (5 lines)
> From 3d3ff29798e203f6cf7861a3ecfbb3fd5834c10b Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Kasperi=20Ker=C3=A4nen?= <kasperi.keranen@outlook.com>
> 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."

Toggle quote (16 lines)
>
> * 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?

Toggle quote (23 lines)
> #: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:?

Toggle quote (52 lines)
> + #: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]
<brettg@gnu.org> <brettg@posteo.net>
K
K
Kasperi Keränen wrote on 10 Jan 2020 19:52
[bug#38679] [PATCH] gnu: add geary.
(name . 38679@debbugs.gnu.org)(address . 38679@debbugs.gnu.org)
VI1PR0202MB3503DCFE2CAC9027F68EF86CFD380@VI1PR0202MB3503.eurprd02.prod.outlook.com
I've enabled the tests and made them pass.

There's still a small problem with icons not loading when entering the
online accounts section of GNOME settings from geary, but given that
the same happens with all applications I don't think anyone has a fix
for it.
From c7aada574a734437747fa81c82e3df3487b71222 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kasperi=20Ker=C3=A4nen?= <kasperi.keranen@outlook.com>
Date: Thu, 19 Dec 2019 19:17:38 +0100
Subject: [PATCH] gnu: Add geary.
* gnu/packages/gnome.scm (geary): New variable.
---
gnu/packages/gnome.scm | 83 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
Toggle diff (103 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 0e18c2ec06..403b5e0a89 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -117,6 +117,7 @@
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libunistring)
+ #:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lirc)
@@ -8942,6 +8943,88 @@ 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? #t
+ #: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))
+ (add-after 'unpack 'change-webkit-process-model
+ ;; Since webkitgtk 2.26 programs no longer have a choise in
+ ;; this but using the depreciated value will fail the test
+ ;; suite. Hope this is temporary and can be removed as soon
+ ;; as GNOME updates.
+ (lambda _
+ (substitute* "src/client/components/client-web-view.vala"
+ (("SHARED_SECONDARY_PROCESS")
+ "MULTIPLE_SECONDARY_PROCESSES"))))
+ (add-before 'check 'start-xserver
+ ;; Client tests require a Wayland/X11 display.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xorg-server (assoc-ref inputs "xorg-server"))
+ (display ":99"))
+ (setenv "HOME" (getcwd))
+ (setenv "DISPLAY" display)
+ (zero? (system (format #f "~a/bin/Xvfb ~a &"
+ xorg-server display)))))))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("gettext" ,gettext-minimal)
+ ("itstool" ,itstool)
+ ("pkg-config" ,pkg-config)
+ ("cmake" ,cmake)
+ ("vala" ,vala)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("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")
--
2.24.1
T
T
Tobias Geerinckx-Rice wrote on 12 Jan 2020 07:43
87k15xqinv.fsf@nckx
Kasperi,

Thank you for packaging Geary! Unfortunately I can't test it
right now, but here are two general points to help you apply
Brett's suggestions.

Brett Gilio ???
Toggle quote (12 lines)
>> + (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:?

You can start a ‘virtual frame buffer’ (Xvfb) X server in the
build environment:

(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref inputs "xorg-server"))
(display ":1"))
(setenv "DISPLAY" display)
(system (format #f "~a/bin/Xvfb ~a &" xorg-server
display))
#t)))

You'll find many other examples with ‘grep Xvfb
gnu/packages/*scm’.

Toggle quote (5 lines)
> 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.

A rule of thumb is that inputs missing from

$ guix gc --references $(guix build geary)

should probably be native. It's likely that vala will be so
missing.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfo+u0AlEeO9y5k0W2Imw8BjFSTwFAl4awAQACgkQ2Imw8BjF
STzYXg/+IasYFy3z8i2uZBl28FP4+4DMJipwMFGZJW/UoWUOO7/8vPoRckH9rWVl
YITlbEuJ5nG5LefMnJe4K3KXxtCEGV4TLNtHxKnmWpzV8REUbPW5B0VJbOunvs3V
SkBT48UaT9E43EERBAQXRECbLe9G4zDX1+CrB9EF1hG/8hBSBhQ3RdnCqjDNdDYY
X/CjsZq68d5blfsiOq9DTVDJii35wziKXu47YyPFPSCDh4hoNcbY8/uZM9FVyybr
rqE1vTyoTV8pJi8DWg35o98Ddsv3lbEmQA25AzNhjBFS1Dpbq1WMqOpHzEZzEOYG
62stTPv87jXL9nnMwRTb0n6ic/ZQ2sEE5ewBrElfqJM3XDs5+BB8Ip/VHlty+gS1
RkQ+OAWeq6YOrAIVOIFT+s5UI/FBsXoggtgxMIt6EN+svasBACjmIX19wi1Qinwf
qCt+iaCApACLO5fvrdqCwel7tsbegiIK/Trmo4krx+N+GUADd6y3PrMnnx8Y14AB
Ub22YdbsT/VSCn2fY2YCmXwSEgJLlyuqHBWsnfb0CSM+G4hpxFz0Ee5SN+YDMbon
brWbEHaTU08f7XeGdMwFCeOJTEt7SDc6PoRSK501knmKVtUpw0mImqZJ7RT3nr1L
ZeWn/0YCFnEd11qBzPgoJlPZs8YQLHpzVwFaIVuwz6EEC2fSp/c=
=8r1O
-----END PGP SIGNATURE-----

A
A
Arun Isaac wrote on 29 May 2020 23:26
cu7k10ue8kw.fsf@systemreboot.net
Hi,

It looks like geary has already been packaged. Sorry for the duplicated
effort! :-(

Regards,
Arun
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEf3MDQ/Lwnzx3v3nTLiXui2GAK7MFAl7Rfg8ACgkQLiXui2GA
K7MBmAf/SCu6h7YDhMjB0l4tY740v8EY9XyfgxCWrz8/UcPSYR0t68Sfsm9V0uKC
GVvAhnLX3Y+kmS/gKPH2BWUPFD4BxTzV1sCVn4L96mjIR8U5M/0xJbE5H+dIiVQQ
UmxTzt1UCI+APVznS/IRsNWwGPFImkh4KwwZilxzmQFBV7G7cGYtK5qB4g5zbG2Z
QirLD6wxx7HYus4Wh4XHN7sPSQJSItgwg4vskpfaHD5V+ZVmdLaLnFYKq+XQqjGM
Mhe45zO9+SRO/siRisJKzS5tsbv41ioSFV2+APkBsxG3+nYhXjY4KH8EKUdMFbK8
28VV3FfoZCOkBfeEUTUEk8gGdBVNKQ==
=C3Lk
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 19 Nov 2020 10:28
(address . 38679-done@debbugs.gnu.org)
87a6vdlmql.fsf@cbaines.net
Arun Isaac <arunisaac@systemreboot.net> writes:

Toggle quote (3 lines)
> It looks like geary has already been packaged. Sorry for the duplicated
> effort! :-(

As Geary is packaged, I'm closing this bug.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl+2OqJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xf/Mw//VAZNM0Gg+9Rh6+4TuPIZq06k1RMVrNWX
AI/3yYYsxJ6TT07t0zXjP4f2YwtvOmMQBces4O3JHZ8yE3RovWrNTV+8kcrVB+Cq
p3sDXHeit/DRKxNGJfn5aj40FrqF8uL2VU4ybr08sb9et5CZctVDcagbFLjj1DfA
LIUAcp8uzy3mtA1kd4mn9fM/S2s1YpJFhTH2hTORLxozgG2IpkVUpJ4hdVCLUw60
rJIV4garLpdfMztGUz+e3CW+fgKH3CZObdGR3FuoVBtI/8auPfmMl/BPVMTeGp8d
lI5l2qEQBOmpoNh3n5QPMboZA2An0IqFhC72ZuWA1X3rEWHjYWRnBZzk36k6vL1d
nVRI0NIpl3SkDxaXg4CwbDoZNIZa3uzFBjkw+E7lfMdY7k+FDPtAvgD95Y92iuF8
TDKPI0QYZhhYryMwFuN9P02egp9e8DJ7giO04PCai2ulOf2PyJHUEUEn92XeqX93
uI+mHPMVrTg7ZGdA8XjJ4GNJvcyrSfsmIvkruLPQOX8Lz8o421YZBL3K3zvXXYGp
e515bzsmWiWv2Vu9Et99fUeQ3vKVqVl63nXeyM8K3QsMWyc1wyxQ2xprhmPWAspq
Nghc+zY8vw2QH+H1O++MoiSQKuWmS0bVmRA9Q6mA7kSPl7d1dFLP3uUIozaKyGj8
dDKueNDB5iY=
=bwQz
-----END PGP SIGNATURE-----

Closed
?