summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-02-24 23:22:11 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-02-24 23:22:11 +0000
commit3ee42d41487edb4785c26c68cac624a7a57971b0 (patch)
treec1194f22dbd0fd02756b05661940d7570e4057ad /gnome-extra/evolution-data-server
parentUpdates from Richard Yao for bug 405203. (diff)
downloadgentoo-2-3ee42d41487edb4785c26c68cac624a7a57971b0.tar.gz
gentoo-2-3ee42d41487edb4785c26c68cac624a7a57971b0.tar.bz2
gentoo-2-3ee42d41487edb4785c26c68cac624a7a57971b0.zip
Fix quoting problems with libical-0.48 (i.e. the 'existing event has different ETag' error), bug #405647 (thanks to Ole Craig for reporting).
(Portage version: 2.2.0_alpha88/cvs/Linux x86_64)
Diffstat (limited to 'gnome-extra/evolution-data-server')
-rw-r--r--gnome-extra/evolution-data-server/ChangeLog10
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r1.ebuild144
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-caldav-cannot-modify.patch35
3 files changed, 188 insertions, 1 deletions
diff --git a/gnome-extra/evolution-data-server/ChangeLog b/gnome-extra/evolution-data-server/ChangeLog
index 4f3e9885ef03..f97ed67d95d7 100644
--- a/gnome-extra/evolution-data-server/ChangeLog
+++ b/gnome-extra/evolution-data-server/ChangeLog
@@ -1,6 +1,14 @@
# 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.325 2012/02/12 17:25:02 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-extra/evolution-data-server/ChangeLog,v 1.326 2012/02/24 23:22:11 tetromino Exp $
+
+*evolution-data-server-3.2.3-r1 (24 Feb 2012)
+
+ 24 Feb 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +evolution-data-server-3.2.3-r1.ebuild,
+ +files/evolution-data-server-3.2.3-caldav-cannot-modify.patch:
+ Fix quoting problems with libical-0.48 (i.e. the 'existing event has
+ different ETag' error), bug #405647 (thanks to Ole Craig for reporting).
*evolution-data-server-2.32.3-r2 (12 Feb 2012)
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r1.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r1.ebuild
new file mode 100644
index 000000000000..4c5cfb8bd8db
--- /dev/null
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.2.3-r1.ebuild
@@ -0,0 +1,144 @@
+# 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-r1.ebuild,v 1.1 2012/02/24 23:22:11 tetromino Exp $
+
+EAPI="4"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit autotools 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"
+
+# GNOME3: How do we slot libedataserverui-3.0.so?
+# Also, libedata-cal-1.2.so and libecal-1.2.so use gtk-3, but aren't slotted
+RDEPEND=">=dev-libs/glib-2.28:2
+ >=x11-libs/gtk+-3.0:3
+ >=gnome-base/gconf-2
+ >=dev-db/sqlite-3.5
+ >=dev-libs/libgdata-0.9.1
+ >=gnome-base/gnome-keyring-2.20.1
+ >=dev-libs/libical-0.43
+ >=net-libs/libsoup-2.31.2:2.4
+ >=dev-libs/libxml2-2
+ >=dev-libs/nspr-4.4
+ >=dev-libs/nss-3.9
+ >=sys-libs/db-4
+ 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/pkgconfig-0.9
+ >=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
+ doc? ( >=dev-util/gtk-doc-1.9 )
+ 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 ?
+ # Fails to build with --disable-ssl; bug #392679, https://bugzilla.gnome.org/show_bug.cgi?id=642984
+ G2CONF="${G2CONF}
+ 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-calendar
+ --enable-largefile
+ --enable-nntp
+ --enable-ssl
+ --enable-smime
+ --with-libdb=${EPREFIX}/usr"
+}
+
+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"
+
+ eautoreconf
+
+ 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)"
+}
+
+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-caldav-cannot-modify.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-caldav-cannot-modify.patch
new file mode 100644
index 000000000000..47a7ed8b1e0e
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/evolution-data-server-3.2.3-caldav-cannot-modify.patch
@@ -0,0 +1,35 @@
+commit 830fa86226aa2c4fd0687aef605c93920888e3c4
+Author: Milan Crha <mcrha@redhat.com>
+Date: Mon Jan 30 19:25:41 2012 +0100
+
+ Bug #669003 - CalDAV: Cannot modify calendar object (libical 0.48)
+
+diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c
+index 694e64a..50cece5 100644
+--- a/calendar/backends/caldav/e-cal-backend-caldav.c
++++ b/calendar/backends/caldav/e-cal-backend-caldav.c
+@@ -422,6 +422,24 @@ ecalcomp_get_etag (ECalComponent *comp)
+
+ str = icomp_x_prop_get (icomp, X_E_CALDAV "ETAG");
+
++ /* libical 0.48 escapes quotes, thus unescape them */
++ if (str && strchr (str, '\\')) {
++ gint ii, jj;
++
++ for (ii = 0, jj = 0; str[ii]; ii++) {
++ if (str[ii] == '\\') {
++ ii++;
++ if (!str[ii])
++ break;
++ }
++
++ str[jj] = str[ii];
++ jj++;
++ }
++
++ str[jj] = 0;
++ }
++
+ return str;
+ }
+