diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-05-07 05:58:06 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-05-07 05:58:06 +0000 |
commit | 4e2e66a7ffb7d29b8385d73fc0ace889d1c2b2a5 (patch) | |
tree | 26a2b4557d727c2b4a4475407ddd74589785369a /gnome-extra | |
parent | x86 stable, see bug 403199 (diff) | |
download | gentoo-2-4e2e66a7ffb7d29b8385d73fc0ace889d1c2b2a5.tar.gz gentoo-2-4e2e66a7ffb7d29b8385d73fc0ace889d1c2b2a5.tar.bz2 gentoo-2-4e2e66a7ffb7d29b8385d73fc0ace889d1c2b2a5.zip |
Version bump for gnome-3.4 with numerous bugfixes. Backport patch fixing adding events to Google calendar to 3.2.3-r2 (bug #412829, thanks to Bernd Feige). Drop old.
(Portage version: 2.2.0_alpha101/cvs/Linux x86_64)
Diffstat (limited to 'gnome-extra')
-rw-r--r-- | gnome-extra/evolution-data-server/ChangeLog | 13 | ||||
-rw-r--r-- | gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r2.ebuild (renamed from gnome-extra/evolution-data-server/evolution-data-server-3.2.3.ebuild) | 6 | ||||
-rw-r--r-- | gnome-extra/evolution-data-server/evolution-data-server-3.4.1.ebuild | 140 | ||||
-rw-r--r-- | gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-google-calendar.patch | 138 |
4 files changed, 295 insertions, 2 deletions
diff --git a/gnome-extra/evolution-data-server/ChangeLog b/gnome-extra/evolution-data-server/ChangeLog index 114de2b1c6a6..6e360d9fa3c8 100644 --- a/gnome-extra/evolution-data-server/ChangeLog +++ b/gnome-extra/evolution-data-server/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for gnome-extra/evolution-data-server # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/ChangeLog,v 1.333 2012/05/05 06:25:24 jdhore Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/ChangeLog,v 1.334 2012/05/07 05:58:06 tetromino Exp $ + +*evolution-data-server-3.4.1 (07 May 2012) +*evolution-data-server-3.2.3-r2 (07 May 2012) + + 07 May 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + -evolution-data-server-3.2.3.ebuild, +evolution-data-server-3.2.3-r2.ebuild, + +files/evolution-data-server-3.2.3-google-calendar.patch, + +evolution-data-server-3.4.1.ebuild: + Version bump for gnome-3.4 with numerous bugfixes. Backport patch fixing + adding events to Google calendar to 3.2.3-r2 (bug #412829, thanks to Bernd + Feige). Drop old. 05 May 2012; Jeff Horelick <jdhore@gentoo.org> evolution-data-server-2.32.3-r1.ebuild, diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.2.3.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r2.ebuild index 4cd2150f6593..8a8906da2eab 100644 --- a/gnome-extra/evolution-data-server/evolution-data-server-3.2.3.ebuild +++ b/gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/evolution-data-server-3.2.3.ebuild,v 1.2 2012/05/05 06:25:24 jdhore Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r2.ebuild,v 1.1 2012/05/07 05:58:06 tetromino Exp $ EAPI="4" GCONF_DEBUG="no" @@ -86,6 +86,10 @@ src_prepare() { # fix linking with glib-2.31, bug #395777 epatch "${FILESDIR}/${PN}-3.2.2-gmodule-explicit.patch" epatch "${FILESDIR}/${PN}-3.2.2-g_thread_init.patch" + # fix caldav quoting problems with libical-0.48, bug #405647 + epatch "${FILESDIR}/${P}-caldav-cannot-modify.patch" + # fix Google calendar event adding, bug #412829 + epatch "${FILESDIR}/${P}-google-calendar.patch" eautoreconf diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.4.1.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.4.1.ebuild new file mode 100644 index 000000000000..768ff3b140d1 --- /dev/null +++ b/gnome-extra/evolution-data-server/evolution-data-server-3.4.1.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/evolution-data-server-3.4.1.ebuild,v 1.1 2012/05/07 05:58:06 tetromino Exp $ + +EAPI="4" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" + +inherit db-use eutils flag-o-matic gnome2 versionator virtualx + +DESCRIPTION="Evolution groupware backend" +HOMEPAGE="http://www.gnome.org/projects/evolution/" + +LICENSE="LGPL-2 BSD DB" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-solaris" +IUSE="doc +gnome-online-accounts +introspection ipv6 ldap kerberos vala +weather" + +RDEPEND=">=dev-libs/glib-2.30:2 + >=x11-libs/gtk+-3.2:3 + >=gnome-base/gconf-2 + >=dev-db/sqlite-3.5 + >=dev-libs/libgdata-0.10 + >=gnome-base/gnome-keyring-2.20.1 + >=dev-libs/dbus-glib-0.6 + >=dev-libs/libical-0.43 + >=net-libs/libsoup-2.31.2:2.4 + >=dev-libs/libxml2-2 + >=sys-libs/db-4 + >=dev-libs/nspr-4.4 + >=dev-libs/nss-3.9 + + sys-libs/zlib + virtual/libiconv + + gnome-online-accounts? ( + >=net-libs/gnome-online-accounts-3.1.1 + >=net-libs/liboauth-0.9.4 ) + introspection? ( >=dev-libs/gobject-introspection-0.9.12 ) + kerberos? ( virtual/krb5 ) + ldap? ( >=net-nds/openldap-2 ) + weather? ( >=dev-libs/libgweather-2.90.0:2 ) +" +DEPEND="${RDEPEND} + dev-lang/perl + dev-util/gperf + >=dev-util/intltool-0.35.5 + sys-devel/bison + >=gnome-base/gnome-common-2 + >=dev-util/gtk-doc-am-1.9 + >=sys-devel/gettext-0.17 + virtual/pkgconfig + doc? ( >=dev-util/gtk-doc-1.14 ) + vala? ( >=dev-lang/vala-0.13.0:0.14[vapigen] )" +# eautoreconf needs: +# >=gnome-base/gnome-common-2 +# >=dev-util/gtk-doc-am-1.9 + +REQUIRED_USE="vala? ( introspection )" + +# FIXME +RESTRICT="test" + +pkg_setup() { + DOCS="ChangeLog MAINTAINERS NEWS TODO" + # Uh, what to do about dbus-call-timeout ? + G2CONF="${G2CONF} + --disable-schemas-compile + VALAC=$(type -P valac-0.14) + VAPIGEN=$(type -P vapigen-0.14) + $(use_enable gnome-online-accounts goa) + $(use_enable introspection) + $(use_enable ipv6) + $(use_with kerberos krb5 ${EPREFIX}/usr) + $(use_with ldap openldap) + $(use_enable vala vala-bindings) + $(use_enable weather) + --enable-nntp + --enable-largefile + --enable-smime + --with-libdb=${EPREFIX}/usr" +} + +src_prepare() { + gnome2_src_prepare + + # GNOME bug 611353 (skips failing test atm) + # XXX: uncomment when there's a proper fix + #epatch "${FILESDIR}/e-d-s-camel-skip-failing-test.patch" + + # GNOME bug 621763 (skip failing test-ebook-stress-factory--fifo) + #sed -e 's/\(SUBDIRS =.*\)ebook/\1/' \ + # -i addressbook/tests/Makefile.{am,in} \ + # || die "failing test sed 1 failed" + + # /usr/include/db.h is always db-1 on FreeBSD + # so include the right dir in CPPFLAGS + append-cppflags "-I$(db_includedir)" + + # FIXME: Fix compilation flags crazyness + # Touch configure.ac if doing eautoreconf + sed 's/^\(AM_CPPFLAGS="\)$WARNING_FLAGS/\1/' \ + -i configure || die "sed failed" +} + +src_install() { + # Prevent this evolution-data-server from linking to libs in the installed + # evolution-data-server libraries by adding -L arguments for build dirs to + # every .la file's relink_command field, forcing libtool to look there + # first during relinking. This will mangle the .la files installed by + # make install, but we don't care because we will be punting them anyway. + perl "${FILESDIR}/fix_relink_command.pl" . || + die "fix_relink_command.pl failed" + gnome2_src_install + + if use ldap; then + MY_MAJORV=$(get_version_component_range 1-2) + insinto /etc/openldap/schema + doins "${FILESDIR}"/calentry.schema || die "doins failed" + dosym /usr/share/${PN}-${MY_MAJORV}/evolutionperson.schema /etc/openldap/schema/evolutionperson.schema + fi +} + +src_test() { + unset DBUS_SESSION_BUS_ADDRESS + unset ORBIT_SOCKETDIR + unset SESSION_MANAGER + export XDG_DATA_HOME="${T}" + unset DISPLAY + Xemake check || die "Tests failed." +} + +pkg_postinst() { + gnome2_pkg_postinst + + if use ldap; then + elog "" + elog "LDAP schemas needed by evolution are installed in /etc/openldap/schema" + fi +} diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-google-calendar.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-google-calendar.patch new file mode 100644 index 000000000000..f59e31f2fdc7 --- /dev/null +++ b/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-google-calendar.patch @@ -0,0 +1,138 @@ +From a5af0816154ac498cc231b0a61c905d3646e64f9 Mon Sep 17 00:00:00 2001 +From: Milan Crha <mcrha@redhat.com> +Date: Thu, 12 Apr 2012 14:52:21 +0200 +Subject: [PATCH] Bug #673894 - Adding events to Google Calendar is broken + +[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 3.2] +--- + calendar/backends/caldav/e-cal-backend-caldav.c | 83 +++++++++++++++++++++- + 1 files changed, 79 insertions(+), 4 deletions(-) + +diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c +index 12f8f22..7212e4f 100644 +--- a/calendar/backends/caldav/e-cal-backend-caldav.c ++++ b/calendar/backends/caldav/e-cal-backend-caldav.c +@@ -314,6 +314,18 @@ static gboolean put_comp_to_cache (ECalBackendCalDAV *cbdav, icalcomponent *ical + #define X_E_CALDAV_ATTACHMENT_NAME X_E_CALDAV "ATTACHMENT-NAME" + + static void ++update_slave_cmd (ECalBackendCalDAVPrivate *priv, ++ SlaveCommand slave_cmd) ++{ ++ g_return_if_fail (priv != NULL); ++ ++ if (priv->slave_cmd == SLAVE_SHOULD_DIE) ++ return; ++ ++ priv->slave_cmd = slave_cmd; ++} ++ ++static void + icomp_x_prop_set (icalcomponent *comp, + const gchar *key, + const gchar *value) +@@ -1517,6 +1529,41 @@ caldav_post_freebusy (ECalBackendCalDAV *cbdav, + g_object_unref (message); + } + ++static gchar * ++caldav_gen_file_from_uid_cal (ECalBackendCalDAV *cbdav, ++ icalcomponent *icalcomp) ++{ ++ icalcomponent_kind my_kind; ++ const gchar *uid = NULL; ++ gchar *filename, *res; ++ ++ g_return_val_if_fail (cbdav != NULL, NULL); ++ g_return_val_if_fail (icalcomp != NULL, NULL); ++ ++ my_kind = e_cal_backend_get_kind (E_CAL_BACKEND (cbdav)); ++ if (icalcomponent_isa (icalcomp) == ICAL_VCALENDAR_COMPONENT) { ++ icalcomponent *subcomp; ++ ++ for (subcomp = icalcomponent_get_first_component (icalcomp, my_kind); ++ subcomp; ++ subcomp = icalcomponent_get_next_component (icalcomp, my_kind)) { ++ uid = icalcomponent_get_uid (subcomp); ++ break; ++ } ++ } else if (icalcomponent_isa (icalcomp) == my_kind) { ++ uid = icalcomponent_get_uid (icalcomp); ++ } ++ ++ if (!uid) ++ return NULL; ++ ++ filename = g_strconcat (uid, ".ics", NULL); ++ res = soup_uri_encode (filename, NULL); ++ g_free (filename); ++ ++ return res; ++} ++ + static gboolean + caldav_server_put_object (ECalBackendCalDAV *cbdav, + CalDAVObject *object, +@@ -1583,7 +1630,7 @@ caldav_server_put_object (ECalBackendCalDAV *cbdav, + } + + if (status_code_to_result (message, priv, perror)) { +- gboolean was_get = FALSE; ++ GError *local_error = NULL; + + hdr = soup_message_headers_get (message->response_headers, "ETag"); + if (hdr != NULL) { +@@ -1609,12 +1656,38 @@ caldav_server_put_object (ECalBackendCalDAV *cbdav, + } + } + +- was_get = TRUE; ++ if (!caldav_server_get_object (cbdav, object, &local_error)) { ++ if (g_error_matches (local_error, E_DATA_CAL_ERROR, NoSuchCal)) { ++ gchar *file; ++ ++ /* OK, the event was properly created, but cannot be found on the place ++ where it was PUT - why didn't server tell us where it saved it? */ ++ g_clear_error (&local_error); ++ ++ /* try whether it's saved as its UID.ics file */ ++ file = caldav_gen_file_from_uid_cal (cbdav, icalcomp); ++ if (file) { ++ g_free (object->href); ++ object->href = file; ++ ++ if (!caldav_server_get_object (cbdav, object, &local_error)) { ++ if (g_error_matches (local_error, E_DATA_CAL_ERROR, NoSuchCal)) { ++ g_clear_error (&local_error); ++ ++ /* not sure what can happen, but do not need to guess for ever, ++ thus report success and update the calendar to get fresh info */ ++ update_slave_cmd (cbdav->priv, SLAVE_SHOULD_WORK); ++ g_cond_signal (cbdav->priv->cond); ++ } ++ } ++ } ++ } ++ } + +- if (caldav_server_get_object (cbdav, object, perror)) { ++ if (!local_error) { + icalcomponent *use_comp = NULL; + +- if (object->cdata && was_get) { ++ if (object->cdata) { + /* maybe server also modified component, thus rather store the server's */ + use_comp = icalparser_parse_string (object->cdata); + } +@@ -1626,6 +1699,8 @@ caldav_server_put_object (ECalBackendCalDAV *cbdav, + + if (use_comp != icalcomp) + icalcomponent_free (use_comp); ++ } else { ++ g_propagate_error (perror, local_error); + } + } else if (message->status_code == 401) { + caldav_notify_auth_required (cbdav); +-- +1.7.8.6 + |