summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2017-03-15 19:41:53 +0200
committerMart Raudsepp <leio@gentoo.org>2017-03-16 01:15:47 +0200
commitd7aaf5f20bb2540f1dc8d041a1645f152babfd76 (patch)
tree5e54f6a79fa981a53a9c6c2b63814be7b27d557f /gnome-extra
parentsys-process/glances: version bump to 2.8.1 (diff)
downloadgentoo-d7aaf5f20bb2540f1dc8d041a1645f152babfd76.tar.gz
gentoo-d7aaf5f20bb2540f1dc8d041a1645f152babfd76.tar.bz2
gentoo-d7aaf5f20bb2540f1dc8d041a1645f152babfd76.zip
gnome-extra/evolution-data-server: fix Google Contacts/Tasks support with USE="gnome-online-accounts -google"
--enable-google controls whether evolution knows how to talk to Google outside IMAP/SMTP/CalDAV; this should have been named --enable-gdata by upstream (and might get renamed to that soon, actually). --enable-goa controls whether gnome-online-accounts is supported as a credentials backend for Google OAuth2. --enable-uoa controls whether ubuntu-online-accounts is supported as a credentials backend for Google OAuth2; we do not support this (at least currently). --enable-google-auth controls whether an internal Google support for OAuth2 credentials is built and supported. Rework the logic based on this to just always enable Contacts/Tasks support when either way to support Google OAuth2 is enabled and thus available. Both can be enabled as well and is suggested by upstream to do so. Also clarify metadata.xml with this, and remove the security warnings as 3.22 is not affected by this (having ported to SLOT=4) and the impact to 3.20 is minimal as only Google OAuth2 login/auth view is shown by it. Package-Manager: Portage-2.3.4, Repoman-2.3.1
Diffstat (limited to 'gnome-extra')
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.22.6-r1.ebuild135
-rw-r--r--gnome-extra/evolution-data-server/metadata.xml7
2 files changed, 138 insertions, 4 deletions
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.22.6-r1.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.22.6-r1.ebuild
new file mode 100644
index 000000000000..bd14ba82162c
--- /dev/null
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.22.6-r1.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 python3_{4,5} pypy )
+VALA_USE_DEPEND="vapigen"
+
+inherit db-use flag-o-matic gnome2 python-any-r1 systemd vala virtualx
+
+DESCRIPTION="Evolution groupware backend"
+HOMEPAGE="https://wiki.gnome.org/Apps/Evolution"
+
+# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+".
+LICENSE="|| ( LGPL-2 LGPL-3 ) BSD Sleepycat"
+SLOT="0/59" # subslot = libcamel-1.2 soname version
+
+IUSE="api-doc-extras berkdb +gnome-online-accounts +gtk google +introspection ipv6 ldap kerberos vala +weather"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris"
+
+# sys-libs/db is only required for migrating from <3.13 versions
+# gdata-0.17.7 soft required for new gdata_feed_get_next_page_token API to handle more than 100 google tasks
+# berkdb needed only for migrating old calendar data, bug #519512
+gdata_depend=">=dev-libs/libgdata-0.17.7:="
+RDEPEND="
+ >=app-crypt/gcr-3.4
+ >=app-crypt/libsecret-0.5[crypt]
+ >=dev-db/sqlite-3.7.17:=
+ >=dev-libs/glib-2.46:2
+ >=dev-libs/libical-0.43:=
+ >=dev-libs/libxml2-2
+ >=dev-libs/nspr-4.4:=
+ >=dev-libs/nss-3.9:=
+ >=net-libs/libsoup-2.42:2.4
+
+ dev-libs/icu:=
+ sys-libs/zlib:=
+ virtual/libiconv
+
+ berkdb? ( >=sys-libs/db-4:= )
+ gtk? (
+ >=app-crypt/gcr-3.4[gtk]
+ >=x11-libs/gtk+-3.10:3
+ )
+ google? (
+ >=dev-libs/json-glib-1.0.4
+ >=net-libs/webkit-gtk-2.11.91:4
+ ${gdata_depend}
+ )
+ gnome-online-accounts? (
+ >=net-libs/gnome-online-accounts-3.8:=
+ ${gdata_depend} )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.12:= )
+ kerberos? ( virtual/krb5:= )
+ ldap? ( >=net-nds/openldap-2:= )
+ weather? ( >=dev-libs/libgweather-3.10:2= )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-util/gdbus-codegen
+ dev-util/gperf
+ >=dev-util/gtk-doc-am-1.14
+ >=dev-util/intltool-0.35.5
+ >=gnome-base/gnome-common-2
+ >=sys-devel/gettext-0.17
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+# Some tests fail due to missings locales.
+# Also, dbus tests are flacky, bugs #397975 #501834
+# It looks like a nightmare to disable those for now.
+RESTRICT="test"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+}
+
+src_configure() {
+ # /usr/include/db.h is always db-1 on FreeBSD
+ # so include the right dir in CPPFLAGS
+ use berkdb && append-cppflags "-I$(db_includedir)"
+ local gdata_flag
+ if use google || use gnome-online-accounts; then
+ gdata_flag="--enable-google"
+ else
+ gdata_flag="--disable-google"
+ fi
+
+ # phonenumber does not exist in tree
+ gnome2_src_configure \
+ $(use_enable api-doc-extras gtk-doc) \
+ $(use_with api-doc-extras private-docs) \
+ $(usex berkdb --with-libdb="${EPREFIX}"/usr --with-libdb=no) \
+ $(use_enable gnome-online-accounts goa) \
+ $(use_enable gtk) \
+ $(use_enable google google-auth) \
+ ${gdata_flag} \
+ $(use_enable introspection) \
+ $(use_enable ipv6) \
+ $(use_with kerberos krb5 "${EPREFIX}"/usr) \
+ $(use_with kerberos krb5-libs "${EPREFIX}"/usr/$(get_libdir)) \
+ $(use_with ldap openldap) \
+ $(use_enable vala vala-bindings) \
+ $(use_enable weather) \
+ --enable-largefile \
+ --enable-smime \
+ --with-systemduserunitdir="$(systemd_get_userunitdir)" \
+ --without-phonenumber \
+ --disable-examples \
+ --disable-uoa
+}
+
+src_test() {
+ unset ORBIT_SOCKETDIR
+ unset SESSION_MANAGER
+ virtx emake check
+}
+
+src_install() {
+ gnome2_src_install
+
+ if use ldap; then
+ insinto /etc/openldap/schema
+ doins "${FILESDIR}"/calentry.schema
+ dosym /usr/share/${PN}/evolutionperson.schema /etc/openldap/schema/evolutionperson.schema
+ fi
+}
diff --git a/gnome-extra/evolution-data-server/metadata.xml b/gnome-extra/evolution-data-server/metadata.xml
index 06a94bb621b2..5c891ea46d4d 100644
--- a/gnome-extra/evolution-data-server/metadata.xml
+++ b/gnome-extra/evolution-data-server/metadata.xml
@@ -8,10 +8,9 @@
<use>
<flag name="api-doc-extras">Build documentation for private APIs</flag>
<flag name="berkdb"><pkg>sys-libs/db</pkg> support needed to migrate old (pre-3.12 evolution versions) addressbook data</flag>
- <flag name="gnome-online-accounts">Enable using <pkg>net-libs/gnome-online-accounts</pkg> for authorization</flag>
- <flag name="google">Enable Google Contacts support. This will also enable the internal Google authentication support.
- Please note this last one relies on a deprecated (and vulnerable) <pkg>net-libs/webkit-gtk</pkg> slot.
- If you want to avoid this dependency, you can disable this support and rely on gnome-online-accounts instead</flag>
+ <flag name="gnome-online-accounts">Enable <pkg>net-libs/gnome-online-accounts</pkg> based Google authentication support</flag>
+ <flag name="google">Enable internal Google authentication support. If gnome-online-accounts is enabled and used, this is not necessary,
+ but both can be supported at the same time with different setup at runtime</flag>
<flag name="weather">Enable optional weather calendar support</flag>
</use>
</pkgmetadata>