Message ID | VI1PR0202MB350387069B2149803894ED67FD520@VI1PR0202MB3503.eurprd02.prod.outlook.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#38679] gnu: add geary. | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
Hi Kasperi, I have a few helpful criticisms of your patch, if you do not mind! :) Kasperi Keränen <kasperi.keranen@outlook.com> writes: > 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." > > * 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 :).
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 写道: >> + (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’. > 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
Hi, It looks like geary has already been packaged. Sorry for the duplicated effort! :-( Regards, Arun
Arun Isaac <arunisaac@systemreboot.net> writes: > It looks like geary has already been packaged. Sorry for the duplicated > effort! :-( As Geary is packaged, I'm closing this bug.
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(+) 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