mail-client/geary: various package fixes and touchups
authorMart Raudsepp <leio@gentoo.org>
Sun, 29 Dec 2019 13:40:25 +0000 (15:40 +0200)
committerMart Raudsepp <leio@gentoo.org>
Sun, 29 Dec 2019 14:35:09 +0000 (16:35 +0200)
* Fix tests (one needs virtx)
* Fix some minimum deps and sort in meson.build occurrence order
* Require webkit-gtk-2.26 to ensure a build conditional
  compatibility branch is used (building against 2.24 and then
  upgrading webkitgtk to 2.26 without geary rebuild may end up
  taking lots of CPU for some operations, afaiu)
* Fix automagic dep on ytnef (previously may have linked against
  it even with USE=-ytnef if the library was present)
* Drop conditional unwind support, as it's automagic and as it's
  a small dep, didn't fix it fully (much more involved than for
  ytnef)
* Move introspection,vala USE flag requirements to build-time
  only - these aren't needed at runtime for geary.
* Add missing itstool build depend
* Drop old LINGUAS based translation file dropping - it's not
  done for almost all meson based packages, and we aren't special
  in any way
* Drop dconf dep - again, don't think geary is more special than
  any other GSettings using application that don't dep on it for
  persistent configuration storage
* Explicit meson_options settings where appropriate, resorted in
  meson_options.txt order

Package-Manager: Portage-2.3.79, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
mail-client/geary/files/3.34.2-fix-ytnef-automagic.patch [new file with mode: 0644]
mail-client/geary/geary-3.34.2-r1.ebuild [new file with mode: 0644]

diff --git a/mail-client/geary/files/3.34.2-fix-ytnef-automagic.patch b/mail-client/geary/files/3.34.2-fix-ytnef-automagic.patch
new file mode 100644 (file)
index 0000000..dccc40a
--- /dev/null
@@ -0,0 +1,32 @@
+From 91f78fb411bc2bf1e2269ceab02740e9cb969c9b Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Thu, 26 Dec 2019 19:28:07 +0200
+Subject: [PATCH] build: Fix automagic dependency on ytnef library
+
+It would be best to use meson feature option type for ytnef and unwind,
+but for now fix the automagic dependency on ytnef with the existing
+meson_options.txt setup.
+It was adding ytnef to list of dependencies unconditionally, and then
+also if tnef-support was enabled. So if the option was disabled, but the
+pkg-config file was present, it would still link to it surprisingly.
+Just remove the unconditional addition to dep, and rely on the already
+existing conditional addition to deps.
+---
+ src/engine/meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/engine/meson.build b/src/engine/meson.build
+index cb61c2aa..23b5fa48 100644
+--- a/src/engine/meson.build
++++ b/src/engine/meson.build
+@@ -325,7 +325,6 @@ geary_engine_dependencies = [
+   gmime,
+   libmath,
+   libxml,
+-  libytnef,
+   posix,
+   sqlite
+ ]
+-- 
+2.20.1
+
diff --git a/mail-client/geary/geary-3.34.2-r1.ebuild b/mail-client/geary/geary-3.34.2-r1.ebuild
new file mode 100644 (file)
index 0000000..3b14c01
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_MIN_API_VERSION="0.44"
+
+inherit gnome.org gnome2-utils meson vala virtualx xdg
+
+DESCRIPTION="A lightweight, easy-to-use, feature-rich email client"
+HOMEPAGE="https://wiki.gnome.org/Apps/Geary"
+
+LICENSE="LGPL-2.1+ BSD-2 CC-BY-3.0 CC-BY-SA-3.0" # code is LGPL-2.1+, BSD-2 for bundled snowball-stemmer, CC licenses for some icons
+SLOT="0"
+
+IUSE="ytnef"
+
+KEYWORDS="~amd64"
+
+# for now both enchants work
+# FIXME: add valadoc support
+
+# >=webkit-gtk-2.26 dep to ensure HAS_WEBKIT_SHARED_PROC is handled for it.
+# If not, it could be compiled against 2.24 and then webkit-gtk upgraded and
+# geary not rebuilt, ending up in geary issues #558 and #559 still.
+DEPEND="
+       >=dev-libs/glib-2.54:2
+       >=x11-libs/gtk+-3.24.7:3
+       >=net-libs/webkit-gtk-2.26:4=
+       >=dev-libs/gmime-2.6.17:2.6
+       >=dev-db/sqlite-3.12:3
+
+       >=dev-libs/appstream-glib-0.7.10
+       app-text/enchant
+       >=dev-libs/folks-0.11:0
+       >=app-crypt/gcr-3.10.1:0=
+       >=dev-libs/libgee-0.8.5:0.8=
+       net-libs/gnome-online-accounts
+       app-text/gspell
+       app-text/iso-codes
+       >=dev-libs/json-glib-1.0
+       >=media-libs/libcanberra-0.28
+       >=gui-libs/libhandy-0.0.9:0.0=
+       >=app-crypt/libsecret-0.11
+       >=net-libs/libsoup-2.48:2.4
+       >=sys-libs/libunwind-1.1:7
+       >=dev-libs/libxml2-2.7.8:2
+       ytnef? ( >=net-mail/ytnef-1.9.3 )
+"
+RDEPEND="${DEPEND}
+       gnome-base/gsettings-desktop-schemas
+"
+BDEPEND="
+       dev-util/itstool
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+
+       $(vala_depend)
+       x11-libs/gtk+:3[introspection]
+       net-libs/webkit-gtk:4[introspection]
+       app-crypt/gcr:0[introspection,vala]
+       dev-libs/libgee:0.8[introspection]
+       app-text/gspell[vala]
+       app-crypt/libsecret[introspection,vala]
+       net-libs/libsoup:2.4[introspection,vala]
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PV}-fix-ytnef-automagic.patch # https://gitlab.gnome.org/GNOME/geary/merge_requests/390
+)
+
+src_prepare() {
+       vala_src_prepare
+       xdg_src_prepare
+}
+
+src_configure() {
+       local emesonargs=(
+               -Dvaladoc=false
+               -Dcontractor=false
+               -Dpoodle=true
+               -Dlibunwind_optional=false # TODO: Automagical if optional=true
+               $(meson_use ytnef tnef-support)
+               -Dprofile=default
+       )
+
+       meson_src_configure
+}
+
+src_test() {
+       virtx meson_src_test
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       gnome2_schemas_update
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+       gnome2_schemas_update
+}