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/, gnome-extra/evolution-data-server/files/
Date: Sat, 07 Sep 2019 22:09:26
Message-Id: 1567894131.a05460c8b8328d896b4d6fecaba3eb7066ec3267.leio@gentoo
1 commit: a05460c8b8328d896b4d6fecaba3eb7066ec3267
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 7 15:06:28 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 7 22:08:51 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a05460c8
7
8 gnome-extra/evolution-data-server: bump to 3.32.4
9
10 Package-Manager: Portage-2.3.69, Repoman-2.3.12
11 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
12
13 gnome-extra/evolution-data-server/Manifest | 1 +
14 .../evolution-data-server-3.32.4.ebuild | 153 +++++++++++++++++++++
15 .../files/3.32.4-gtk-doc-fix1.patch | 88 ++++++++++++
16 .../files/3.32.4-gtk-doc-fix2.patch | 29 ++++
17 4 files changed, 271 insertions(+)
18
19 diff --git a/gnome-extra/evolution-data-server/Manifest b/gnome-extra/evolution-data-server/Manifest
20 index 6e514e69b7e..2ee2362be1c 100644
21 --- a/gnome-extra/evolution-data-server/Manifest
22 +++ b/gnome-extra/evolution-data-server/Manifest
23 @@ -1 +1,2 @@
24 DIST evolution-data-server-3.30.5.tar.xz 4582264 BLAKE2B 96303da0fcd285dffc2a56bab0828b2011238a0970dc50df005f690a76c432abad27afd74569b1cc6ff2ddc56f1dbde003241d53609b0222a474941724e46910 SHA512 b841b23343745afdc59f42ee384911ae24be6b1518095d52099ce5b657def17e5b4e1fe1e61fc1e03e4856b0d26c6a1abac3d9ee5530da84c645d07c69b8d859
25 +DIST evolution-data-server-3.32.4.tar.xz 4585396 BLAKE2B d89b71beaf24deb89e510e318050a8a3146b8a6804c148c62d4cb2c0cfb3b50a3767cfc213db05b44c6b5b99e578a24d3c272daccadb4e950b2d103639ce9797 SHA512 fccbad5989e6366840c50dacf2e81510f65c8640c9309ca0446c1b236df99f43a310fcadd377e205d0a94f0e3f9b53b83c41c042c3244e05bfda0d6df090d0c7
26
27 diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.32.4.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.32.4.ebuild
28 new file mode 100644
29 index 00000000000..f2100b28c06
30 --- /dev/null
31 +++ b/gnome-extra/evolution-data-server/evolution-data-server-3.32.4.ebuild
32 @@ -0,0 +1,153 @@
33 +# Copyright 1999-2019 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=6
37 +PYTHON_COMPAT=( python2_7 python3_{5,6} pypy )
38 +VALA_USE_DEPEND="vapigen"
39 +
40 +inherit cmake-utils db-use flag-o-matic gnome2 python-any-r1 systemd vala virtualx
41 +
42 +DESCRIPTION="Evolution groupware backend"
43 +HOMEPAGE="https://wiki.gnome.org/Apps/Evolution"
44 +
45 +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+".
46 +LICENSE="|| ( LGPL-2 LGPL-3 ) BSD Sleepycat"
47 +SLOT="0/62-24" # subslot = libcamel-1.2/libedataserver-1.2 soname version
48 +
49 +IUSE="berkdb +gnome-online-accounts +gtk gtk-doc +introspection ipv6 ldap kerberos oauth vala +weather"
50 +REQUIRED_USE="vala? ( introspection )"
51 +
52 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
53 +
54 +# gdata-0.17.7 soft required for new gdata_feed_get_next_page_token API to handle more than 100 google tasks
55 +# berkdb needed only for migrating old addressbook data from <3.13 versions, bug #519512
56 +# >=libical-3.0.2 present at build-time ensures less memory usage by calendar backend
57 +gdata_depend=">=dev-libs/libgdata-0.17.7:="
58 +RDEPEND="
59 + >=app-crypt/gcr-3.4
60 + >=app-crypt/libsecret-0.5[crypt]
61 + >=dev-db/sqlite-3.7.17:=
62 + >=dev-libs/glib-2.46:2
63 + >=dev-libs/libical-3.0.2:=
64 + >=dev-libs/libxml2-2
65 + >=dev-libs/nspr-4.4:=
66 + >=dev-libs/nss-3.9:=
67 + >=net-libs/libsoup-2.42:2.4
68 +
69 + dev-libs/icu:=
70 + sys-libs/zlib:=
71 + virtual/libiconv
72 +
73 + berkdb? ( >=sys-libs/db-4:= )
74 + gtk? (
75 + >=app-crypt/gcr-3.4[gtk]
76 + >=x11-libs/gtk+-3.10:3
77 + >=media-libs/libcanberra-0.25[gtk3]
78 + )
79 + oauth? (
80 + >=dev-libs/json-glib-1.0.4
81 + >=net-libs/webkit-gtk-2.11.91:4
82 + ${gdata_depend}
83 + )
84 + gnome-online-accounts? (
85 + >=net-libs/gnome-online-accounts-3.8:=
86 + ${gdata_depend} )
87 + introspection? ( >=dev-libs/gobject-introspection-0.9.12:= )
88 + kerberos? ( virtual/krb5:= )
89 + ldap? ( >=net-nds/openldap-2:= )
90 + weather? ( >=dev-libs/libgweather-3.10:2= )
91 +"
92 +DEPEND="${RDEPEND}
93 + ${PYTHON_DEPS}
94 + dev-util/gdbus-codegen
95 + dev-util/glib-utils
96 + dev-util/gperf
97 + gtk-doc? ( >=dev-util/gtk-doc-1.14
98 + app-text/docbook-xml-dtd:4.1.2 )
99 + >=dev-util/intltool-0.35.5
100 + >=sys-devel/gettext-0.18.3
101 + virtual/pkgconfig
102 + vala? ( $(vala_depend) )
103 +"
104 +
105 +# Some tests fail due to missing locales.
106 +# Also, dbus tests are flaky, bugs #397975 #501834
107 +# It looks like a nightmare to disable those for now.
108 +RESTRICT="test !test? ( test )"
109 +
110 +pkg_setup() {
111 + python-any-r1_pkg_setup
112 +}
113 +
114 +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare call
115 +src_prepare() {
116 + eapply "${FILESDIR}"/${PV}-gtk-doc-fix{1,2}.patch
117 + use vala && vala_src_prepare
118 + cmake-utils_src_prepare
119 + gnome2_src_prepare
120 +
121 + # Make CMakeLists versioned vala enabled
122 + sed -e "s;\(find_program(VALAC\) valac);\1 ${VALAC});" \
123 + -e "s;\(find_program(VAPIGEN\) vapigen);\1 ${VAPIGEN});" \
124 + -i "${S}"/CMakeLists.txt || die
125 +}
126 +
127 +src_configure() {
128 + # /usr/include/db.h is always db-1 on FreeBSD
129 + # so include the right dir in CPPFLAGS
130 + use berkdb && append-cppflags "-I$(db_includedir)"
131 +
132 + local google_enable
133 + if use oauth || use gnome-online-accounts; then
134 + google_enable="ON"
135 + else
136 + google_enable="OFF"
137 + fi
138 +
139 + # phonenumber does not exist in tree
140 + local mycmakeargs=(
141 + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc
142 + -DENABLE_GTK_DOC=$(usex gtk-doc)
143 + -DWITH_PRIVATE_DOCS=$(usex gtk-doc)
144 + -DENABLE_SCHEMAS_COMPILE=OFF
145 + -DENABLE_INTROSPECTION=$(usex introspection)
146 + -DWITH_KRB5=$(usex kerberos)
147 + -DWITH_KRB5_INCLUDES=$(usex kerberos "${EPREFIX}"/usr "")
148 + -DWITH_KRB5_LIBS=$(usex kerberos "${EPREFIX}"/usr/$(get_libdir) "")
149 + -DWITH_OPENLDAP=$(usex ldap)
150 + -DWITH_PHONENUMBER=OFF
151 + -DENABLE_SMIME=ON
152 + -DENABLE_GTK=$(usex gtk)
153 + -DENABLE_CANBERRA=$(usex gtk)
154 + -DENABLE_OAUTH2=$(usex oauth)
155 + -DENABLE_EXAMPLES=OFF
156 + -DENABLE_GOA=$(usex gnome-online-accounts)
157 + -DWITH_LIBDB=$(usex berkdb "${EPREFIX}"/usr OFF)
158 + # ENABLE_BACKTRACES requires libdwarf ?
159 + -DENABLE_IPV6=$(usex ipv6)
160 + -DENABLE_WEATHER=$(usex weather)
161 + -DENABLE_GOOGLE=${google_enable}
162 + -DENABLE_LARGEFILE=ON
163 + -DENABLE_VALA_BINDINGS=$(usex vala)
164 + )
165 +
166 + cmake-utils_src_configure
167 +}
168 +
169 +src_compile() {
170 + cmake-utils_src_compile
171 +}
172 +
173 +src_test() {
174 + virtx cmake-utils_src_test
175 +}
176 +
177 +src_install() {
178 + cmake-utils_src_install
179 +
180 + if use ldap; then
181 + insinto /etc/openldap/schema
182 + doins "${FILESDIR}"/calentry.schema
183 + dosym ../../../usr/share/${PN}/evolutionperson.schema /etc/openldap/schema/evolutionperson.schema
184 + fi
185 +}
186
187 diff --git a/gnome-extra/evolution-data-server/files/3.32.4-gtk-doc-fix1.patch b/gnome-extra/evolution-data-server/files/3.32.4-gtk-doc-fix1.patch
188 new file mode 100644
189 index 00000000000..54a5fc714de
190 --- /dev/null
191 +++ b/gnome-extra/evolution-data-server/files/3.32.4-gtk-doc-fix1.patch
192 @@ -0,0 +1,88 @@
193 +From 925070132ca90787ccfe9a993c3eb7e0feb74fa7 Mon Sep 17 00:00:00 2001
194 +From: Ting-Wei Lan <lantw@×××××××××.org>
195 +Date: Mon, 22 Jul 2019 16:06:21 +0800
196 +Subject: [PATCH] M!28 - Include LDFLAGS in gtkdoc-scangobj command line
197 +
198 +When a library provides no way to find linker flags for linking with it,
199 +the build system usually depends on the user to necessary put -L flags
200 +in LDFLAGS environment variable in order to find it. However, GtkDoc
201 +module constructs the command line by itself, and it forgets to add
202 +LDFLAGS to the command line of gtkdoc-scangobj.
203 +
204 +It is especially important to include LDFLAGS on non-GNU systems. For
205 +example, FreeBSD libc doesn't include a gettext implementation. GLib
206 +requires gettext, and it pulls in an external gettext runtime for it.
207 +However, gettext-runtime doesn't include a .pc file, so LDFLAGS is
208 +required if gettext-runtime isn't installed in the same prefix as GLib.
209 +Failing to include LDFLAGS in --ldflags passed to gtkdoc-scangobj can
210 +result in a linking error because -lintl cannot be found.
211 +
212 +In evolution-data-server we are lucky most of the time because it
213 +depends on a lot of external libraries. These external libraries are
214 +likely to be installed in the same prefix as gettext-runtime, so not
215 +using LDFLAGS doesn't cause linking failure because required flags are
216 +already pulled in by other libraries. In fact, this problem was found
217 +when building libical, which uses a similar GtkDoc.cmake file.
218 +
219 +In addition to the change to include LDFLAGS, this commit also changes
220 +the following things:
221 +
222 + - Instead of constructing _scangobj_ldflags in reverse order, do it in
223 + normal order. Appending is easier to understand than prepending, and
224 + the linker also interprets -L and -l flags in normal order.
225 +
226 + - Move -L${LIB_INSTALL_DIR} to the bottom. This is what the comment
227 + says, and it is expected to work because we no longer constructs
228 + _scangobj_ldflags in reverse order.
229 +
230 +Closes https://gitlab.gnome.org/GNOME/evolution-data-server/merge_requests/28
231 +---
232 + cmake/modules/GtkDoc.cmake | 11 ++++++++---
233 + 1 file changed, 8 insertions(+), 3 deletions(-)
234 +
235 +diff --git a/cmake/modules/GtkDoc.cmake b/cmake/modules/GtkDoc.cmake
236 +index cc6cc007a..0ba1a7a78 100644
237 +--- a/cmake/modules/GtkDoc.cmake
238 ++++ b/cmake/modules/GtkDoc.cmake
239 +@@ -96,9 +96,8 @@ macro(add_gtkdoc _module _namespace _deprecated_guards _srcdirsvar _depsvar _ign
240 + list(APPEND _scangobj_deps ${opt})
241 + endforeach(opt)
242 +
243 +- # Add them as the last, thus in-tree headers/libs have precedence
244 ++ # Add it as the last, thus in-tree headers have precedence
245 + list(APPEND _scangobj_cflags_list -I${INCLUDE_INSTALL_DIR})
246 +- list(APPEND _scangobj_ldflags -L${LIB_INSTALL_DIR})
247 +
248 + if(_scangobj_deps)
249 + list(REMOVE_DUPLICATES _scangobj_deps)
250 +@@ -122,7 +121,7 @@ macro(add_gtkdoc _module _namespace _deprecated_guards _srcdirsvar _depsvar _ign
251 + if(NOT _output_name)
252 + set(_output_name ${opt})
253 + endif(NOT _output_name)
254 +- set(_scangobj_ldflags "-L$<TARGET_FILE_DIR:${opt}> -l${_output_name} ${_scangobj_ldflags}")
255 ++ set(_scangobj_ldflags "${_scangobj_ldflags} -L$<TARGET_FILE_DIR:${opt}> -l${_output_name}")
256 +
257 + if(_target_type STREQUAL "SHARED_LIBRARY" OR (_target_type STREQUAL "MODULE_LIBRARY"))
258 + set(_scangobj_ld_lib_dirs "${_scangobj_ld_lib_dirs}:$<TARGET_FILE_DIR:${opt}>")
259 +@@ -133,12 +132,18 @@ macro(add_gtkdoc _module _namespace _deprecated_guards _srcdirsvar _depsvar _ign
260 + endif(TARGET ${opt})
261 + endforeach(opt)
262 +
263 ++ # Add extra flags from LDFLAGS environment variable
264 ++ set(_scangobj_ldflags "${_scangobj_ldflags} ${CMAKE_SHARED_LINKER_FLAGS}")
265 ++
266 + foreach(opt IN LISTS _scangobj_deps)
267 + if(NOT TARGET ${opt})
268 + set(_scangobj_ldflags "${_scangobj_ldflags} ${opt}")
269 + endif(NOT TARGET ${opt})
270 + endforeach(opt)
271 +
272 ++ # Add it as the last, thus in-tree libs have precedence
273 ++ set(_scangobj_ldflags "${_scangobj_ldflags} -L${LIB_INSTALL_DIR}")
274 ++
275 + set(_scangobj_prefix ${CMAKE_COMMAND} -E env LD_LIBRARY_PATH="${_scangobj_ld_lib_dirs}:${LIB_INSTALL_DIR}:$ENV{LD_LIBRARY_PATH}")
276 +
277 + if(NOT (_scangobj_cflags STREQUAL ""))
278 +--
279 +2.20.1
280 +
281
282 diff --git a/gnome-extra/evolution-data-server/files/3.32.4-gtk-doc-fix2.patch b/gnome-extra/evolution-data-server/files/3.32.4-gtk-doc-fix2.patch
283 new file mode 100644
284 index 00000000000..56e66eae893
285 --- /dev/null
286 +++ b/gnome-extra/evolution-data-server/files/3.32.4-gtk-doc-fix2.patch
287 @@ -0,0 +1,29 @@
288 +From 78dc64008f1312a97eaa56b5c12f93a2bfa3b096 Mon Sep 17 00:00:00 2001
289 +From: Milan Crha <mcrha@××××××.com>
290 +Date: Mon, 5 Aug 2019 12:55:23 +0200
291 +Subject: [PATCH] Include also CFLAGS in gtkdoc-scangobj command line
292 +
293 +The LDFLAGS could imply certain compile options being used (like -fPIC),
294 +but these CFLAGS were not passed to gtkdoc-scangobj, thus the compilation
295 +could fail.
296 +
297 +Related to https://gitlab.gnome.org/GNOME/evolution-data-server/merge_requests/28
298 +---
299 + cmake/modules/GtkDoc.cmake | 1 +
300 + 1 file changed, 1 insertion(+)
301 +
302 +diff --git a/cmake/modules/GtkDoc.cmake b/cmake/modules/GtkDoc.cmake
303 +index 0ba1a7a78..2dfc4d691 100644
304 +--- a/cmake/modules/GtkDoc.cmake
305 ++++ b/cmake/modules/GtkDoc.cmake
306 +@@ -98,6 +98,7 @@ macro(add_gtkdoc _module _namespace _deprecated_guards _srcdirsvar _depsvar _ign
307 +
308 + # Add it as the last, thus in-tree headers have precedence
309 + list(APPEND _scangobj_cflags_list -I${INCLUDE_INSTALL_DIR})
310 ++ list(APPEND _scangobj_cflags_list ${CMAKE_C_FLAGS})
311 +
312 + if(_scangobj_deps)
313 + list(REMOVE_DUPLICATES _scangobj_deps)
314 +--
315 +2.20.1
316 +