Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: gnome-extra/evolution-data-server/files/, gnome-extra/evolution-data-server/
Date: Wed, 27 Feb 2019 12:44:26
Message-Id: 1551271184.ca5f5ea5804f18ff2915a4dec97e80400d94419c.leio@gentoo
1 commit: ca5f5ea5804f18ff2915a4dec97e80400d94419c
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 27 12:09:20 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 27 12:39:44 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca5f5ea5
7
8 gnome-extra/evolution-data-server: fix libgdata enabling logic, backport a patch
9
10 ENABLE_GOOGLE needs to be enabled if GOA or OAUTH2 to support
11 google tasks/calendars, not OAUTH2.
12 Backport a patch that is needed by a evolution-ews certificate
13 checking security fix.
14
15 Package-Manager: Portage-2.3.52, Repoman-2.3.12
16 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
17
18 .../evolution-data-server-3.30.5-r1.ebuild | 153 +++++++++++++++++++++
19 .../files/3.30.5-collection-auth.patch | 35 +++++
20 2 files changed, 188 insertions(+)
21
22 diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.30.5-r1.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.30.5-r1.ebuild
23 new file mode 100644
24 index 00000000000..df09ff1a91b
25 --- /dev/null
26 +++ b/gnome-extra/evolution-data-server/evolution-data-server-3.30.5-r1.ebuild
27 @@ -0,0 +1,153 @@
28 +# Copyright 1999-2019 Gentoo Authors
29 +# Distributed under the terms of the GNU General Public License v2
30 +
31 +EAPI=6
32 +PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
33 +VALA_USE_DEPEND="vapigen"
34 +
35 +inherit cmake-utils db-use flag-o-matic gnome2 python-any-r1 systemd vala virtualx
36 +
37 +DESCRIPTION="Evolution groupware backend"
38 +HOMEPAGE="https://wiki.gnome.org/Apps/Evolution"
39 +
40 +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+".
41 +LICENSE="|| ( LGPL-2 LGPL-3 ) BSD Sleepycat"
42 +SLOT="0/62" # subslot = libcamel-1.2 soname version
43 +
44 +IUSE="berkdb +gnome-online-accounts +gtk gtk-doc +introspection ipv6 ldap kerberos oauth vala +weather"
45 +REQUIRED_USE="vala? ( introspection )"
46 +
47 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
48 +
49 +# gdata-0.17.7 soft required for new gdata_feed_get_next_page_token API to handle more than 100 google tasks
50 +# berkdb needed only for migrating old addressbook data from <3.13 versions, bug #519512
51 +# >=libical-3.0.2 present at build-time ensures less memory usage by calendar backend
52 +gdata_depend=">=dev-libs/libgdata-0.17.7:="
53 +RDEPEND="
54 + >=app-crypt/gcr-3.4
55 + >=app-crypt/libsecret-0.5[crypt]
56 + >=dev-db/sqlite-3.7.17:=
57 + >=dev-libs/glib-2.46:2
58 + >=dev-libs/libical-3.0.2:=
59 + >=dev-libs/libxml2-2
60 + >=dev-libs/nspr-4.4:=
61 + >=dev-libs/nss-3.9:=
62 + >=net-libs/libsoup-2.42:2.4
63 +
64 + dev-libs/icu:=
65 + sys-libs/zlib:=
66 + virtual/libiconv
67 +
68 + berkdb? ( >=sys-libs/db-4:= )
69 + gtk? (
70 + >=app-crypt/gcr-3.4[gtk]
71 + >=x11-libs/gtk+-3.10:3
72 + >=media-libs/libcanberra-0.25[gtk3]
73 + )
74 + oauth? (
75 + >=dev-libs/json-glib-1.0.4
76 + >=net-libs/webkit-gtk-2.11.91:4
77 + ${gdata_depend}
78 + )
79 + gnome-online-accounts? (
80 + >=net-libs/gnome-online-accounts-3.8:=
81 + ${gdata_depend} )
82 + introspection? ( >=dev-libs/gobject-introspection-0.9.12:= )
83 + kerberos? ( virtual/krb5:= )
84 + ldap? ( >=net-nds/openldap-2:= )
85 + weather? ( >=dev-libs/libgweather-3.10:2= )
86 +"
87 +DEPEND="${RDEPEND}
88 + ${PYTHON_DEPS}
89 + dev-util/gdbus-codegen
90 + dev-util/glib-utils
91 + dev-util/gperf
92 + gtk-doc? ( >=dev-util/gtk-doc-1.14 )
93 + >=dev-util/intltool-0.35.5
94 + >=sys-devel/gettext-0.18.3
95 + virtual/pkgconfig
96 + vala? ( $(vala_depend) )
97 +"
98 +
99 +# Some tests fail due to missing locales.
100 +# Also, dbus tests are flaky, bugs #397975 #501834
101 +# It looks like a nightmare to disable those for now.
102 +RESTRICT="test !test? ( test )"
103 +
104 +pkg_setup() {
105 + python-any-r1_pkg_setup
106 +}
107 +
108 +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare call
109 +src_prepare() {
110 + eapply "${FILESDIR}"/${PV}-collection-auth.patch # Prerequisite for evolution-ews cert checking fix
111 + use vala && vala_src_prepare
112 + cmake-utils_src_prepare
113 + gnome2_src_prepare
114 +
115 + # Make CMakeLists versioned vala enabled
116 + sed -e "s;\(find_program(VALAC\) valac);\1 ${VALAC});" \
117 + -e "s;\(find_program(VAPIGEN\) vapigen);\1 ${VAPIGEN});" \
118 + -i "${S}"/CMakeLists.txt || die
119 +}
120 +
121 +src_configure() {
122 + # /usr/include/db.h is always db-1 on FreeBSD
123 + # so include the right dir in CPPFLAGS
124 + use berkdb && append-cppflags "-I$(db_includedir)"
125 +
126 + local google_enable
127 + if use oauth || use gnome-online-accounts; then
128 + google_enable="ON"
129 + else
130 + google_enable="OFF"
131 + fi
132 +
133 + # phonenumber does not exist in tree
134 + local mycmakeargs=(
135 + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc
136 + -DENABLE_GTK_DOC=$(usex gtk-doc)
137 + -DWITH_PRIVATE_DOCS=$(usex gtk-doc)
138 + -DENABLE_SCHEMAS_COMPILE=OFF
139 + -DENABLE_INTROSPECTION=$(usex introspection)
140 + -DWITH_KRB5=$(usex kerberos)
141 + -DWITH_KRB5_INCLUDES=$(usex kerberos "${EPREFIX}"/usr "")
142 + -DWITH_KRB5_LIBS=$(usex kerberos "${EPREFIX}"/usr/$(get_libdir) "")
143 + -DWITH_OPENLDAP=$(usex ldap)
144 + -DWITH_PHONENUMBER=OFF
145 + -DENABLE_SMIME=ON
146 + -DENABLE_GTK=$(usex gtk)
147 + -DENABLE_CANBERRA=$(usex gtk)
148 + -DENABLE_OAUTH2=$(usex oauth)
149 + -DENABLE_EXAMPLES=OFF
150 + -DENABLE_GOA=$(usex gnome-online-accounts)
151 + -DENABLE_UOA=OFF
152 + -DWITH_LIBDB=$(usex berkdb "${EPREFIX}"/usr OFF)
153 + # ENABLE_BACKTRACES requires libdwarf ?
154 + -DENABLE_IPV6=$(usex ipv6)
155 + -DENABLE_WEATHER=$(usex weather)
156 + -DENABLE_GOOGLE=${google_enable}
157 + -DENABLE_LARGEFILE=ON
158 + -DENABLE_VALA_BINDINGS=$(usex vala)
159 + )
160 +
161 + cmake-utils_src_configure
162 +}
163 +
164 +src_compile() {
165 + cmake-utils_src_compile
166 +}
167 +
168 +src_test() {
169 + virtx cmake-utils_src_test
170 +}
171 +
172 +src_install() {
173 + cmake-utils_src_install
174 +
175 + if use ldap; then
176 + insinto /etc/openldap/schema
177 + doins "${FILESDIR}"/calentry.schema
178 + dosym ../../../usr/share/${PN}/evolutionperson.schema /etc/openldap/schema/evolutionperson.schema
179 + fi
180 +}
181
182 diff --git a/gnome-extra/evolution-data-server/files/3.30.5-collection-auth.patch b/gnome-extra/evolution-data-server/files/3.30.5-collection-auth.patch
183 new file mode 100644
184 index 00000000000..5d1c2780162
185 --- /dev/null
186 +++ b/gnome-extra/evolution-data-server/files/3.30.5-collection-auth.patch
187 @@ -0,0 +1,35 @@
188 +From 6672b8236139bd6ef41ecb915f4c72e2a052dba5 Mon Sep 17 00:00:00 2001
189 +From: Milan Crha <mcrha@××××××.com>
190 +Date: Tue, 4 Dec 2018 18:19:30 +0100
191 +Subject: [PATCH] Let child source with 'none' authentication method use
192 + collection source authentication
193 +
194 +That might be the same as having set NULL authentication method.
195 +
196 +Related to https://gitlab.gnome.org/GNOME/evolution-ews/issues/27
197 +---
198 + src/libedataserver/e-data-server-util.c | 4 +++-
199 + 1 file changed, 3 insertions(+), 1 deletion(-)
200 +
201 +diff --git a/src/libedataserver/e-data-server-util.c b/src/libedataserver/e-data-server-util.c
202 +index 47fd4d2ec..bd209c980 100644
203 +--- a/src/libedataserver/e-data-server-util.c
204 ++++ b/src/libedataserver/e-data-server-util.c
205 +@@ -3259,11 +3259,13 @@ e_util_can_use_collection_as_credential_source (ESource *collection_source,
206 + if (can_use_collection) {
207 + gchar *method_source, *method_collection;
208 +
209 +- /* Also check the method; if different, then rather not use the collection */
210 ++ /* Also check the method; if different, then rather not use the collection.
211 ++ Consider 'none' method on the child as the same as the collection method. */
212 + method_source = e_source_authentication_dup_method (auth_source);
213 + method_collection = e_source_authentication_dup_method (auth_collection);
214 +
215 + can_use_collection = !method_source || !method_collection ||
216 ++ g_ascii_strcasecmp (method_source, "none") == 0 ||
217 + g_ascii_strcasecmp (method_source, method_collection) == 0;
218 +
219 + g_free (method_source);
220 +--
221 +2.17.0
222 +