summaryrefslogtreecommitdiff
path: root/gnome-extra/evolution-data-server
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /gnome-extra/evolution-data-server
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'gnome-extra/evolution-data-server')
-rw-r--r--gnome-extra/evolution-data-server/Manifest8
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.22.7.ebuild135
-rw-r--r--gnome-extra/evolution-data-server/evolution-data-server-3.24.7.ebuild152
-rw-r--r--gnome-extra/evolution-data-server/files/3.24.7-DESTDIR-honoring.patch31
-rw-r--r--gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch146
-rw-r--r--gnome-extra/evolution-data-server/files/calentry.schema108
-rw-r--r--gnome-extra/evolution-data-server/metadata.xml16
7 files changed, 596 insertions, 0 deletions
diff --git a/gnome-extra/evolution-data-server/Manifest b/gnome-extra/evolution-data-server/Manifest
new file mode 100644
index 000000000000..b32dd7c69df4
--- /dev/null
+++ b/gnome-extra/evolution-data-server/Manifest
@@ -0,0 +1,8 @@
+AUX 3.24.7-DESTDIR-honoring.patch 1122 BLAKE2B 73d95683bd162f0e93de3b005787b2aa722b0a0f4ba58e3313fa3e66f90c159d5766ac03ee81c2fa3cb33ff2dedfcd4ffb59fb32ac88b17f04447d38c4a7605e SHA512 311e0163ef783430f4eea638e2ece92ab6d1c52d79f399190607eead5359f28eec647c626bb1c435eba427f7844456b4fd2dd60e75ca40331f1d249d1549eb0c
+AUX 3.24.7-libical3-compat.patch 5323 BLAKE2B 5a2392751b009d6726490cbd11227d1d4c5ed5e61c8d0b6acdf282182dffcdeb31a2ed6395626231dc729dd9ee7b1ca26a3ce9148b3cca1fbdc83376e58baca7 SHA512 0b29c1d86eedf778d489a4a4c78bfc292898ceba2d90ac4c81aae2a0c65ac132e71de767f7a74ef839977c2fbdcc38da50579735e1775cfb5b2414fa304d19b5
+AUX calentry.schema 3661 BLAKE2B 0235e8d98d1367f209a31cc74da9563d53dfc12ca34e020f63a18fcb73c13345e58a9e4a9f5bb3e14a7774bdcd279118d84d971a4b164c8ce41cd26798efabdd SHA512 56606848319539b8c9af732a5d572db44e2d7da433b1689ef7f14a283880951e10d5fc39f27245a7ddc8f0cb2e7563a757060020c17e5411f875cae10b119834
+DIST evolution-data-server-3.22.7.tar.xz 5564924 BLAKE2B 8107a13ef46a4457e122c5d719c0d29ccbf5ec61424fb6b4810b1e165bb68cb8c1c87ec9ab34446458321c0c56ba5a5408f45ae9fc95bcee965c21caaad6a230 SHA512 53648c0b893982b3577008aeae57e213e084aa5ba4663ca109f200b268635fd1544408c1ace065e91e5eaf48a20f59609c8e895a1907501ea5e64119d1590d44
+DIST evolution-data-server-3.24.7.tar.xz 4253252 BLAKE2B ca435a4e6c3a003c5166bd06f0308766686cc9e02f1eb6a15a521c58805bafdfd39cbc7ee058339ba383329ab34a11ed2b0eeebd9b545219c4b3d8f51de8df60 SHA512 3e83cb0e87ec822ebf6c81963693e7c701d20266e0811bd261a78073c75724e2c24ac5d5561e997ed8567e9e519c175b3104fa6e2e28158854c8c3ec39a8e9df
+EBUILD evolution-data-server-3.22.7.ebuild 3689 BLAKE2B 4b37c74e6b0d27d4cd1061049f27e5044cd0319367fae2d521cd0a861076de52a52c736e009ee55ea93fae46fb38a7d1e63b3988d5d188dd35f0e034c85174a1 SHA512 ec236fda93b156d8ee5ada17f83ba66fee61807c44979d6f9301711e088bca1135abc367f2959cbc95c2e7be5c2976844418decb82e8eda362bb2af059adf1cb
+EBUILD evolution-data-server-3.24.7.ebuild 4145 BLAKE2B 57e6f7f7908806fa50aa131648aaae3e6a2a835826bd0184f0cc89a631e876e8c2bbca68442fb134855f4b86513b13c8fbc2f5e573ace476ee3f8e82b739f5f7 SHA512 3091dac9ea3d6ccc827b84d68fb6e08d1a8dc0579f2aa7e08f320628d58e1641f65186e104b1e6f15759261813cd7857bba2334335f849c4f69dbece01b89e35
+MISC metadata.xml 894 BLAKE2B 2b37b8e2f6a027c64cf3fa2e93dda6270d6d73291213c956aabd91d3cdbeed7b7f40d7738f22566059304c13cb4471d6a344b564d28c4d11e86ac159dd789ebb SHA512 26ebc7b28f82f5d0d048bb699ad3663f8cb26cecccff86bb77543412a8faaf54c9cfbf3f526a6d3e113ec5b573fb97cc60eb56343d3a79d9d6162922cfddab52
diff --git a/gnome-extra/evolution-data-server/evolution-data-server-3.22.7.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.22.7.ebuild
new file mode 100644
index 000000000000..5d597fe7d157
--- /dev/null
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.22.7.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/evolution-data-server-3.24.7.ebuild b/gnome-extra/evolution-data-server/evolution-data-server-3.24.7.ebuild
new file mode 100644
index 000000000000..cfc4ff4b4e9f
--- /dev/null
+++ b/gnome-extra/evolution-data-server/evolution-data-server-3.24.7.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2018 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,6} pypy )
+VALA_USE_DEPEND="vapigen"
+
+inherit cmake-utils 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/60" # 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 ~arm64 ~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
+ >=sys-devel/gettext-0.18.3
+ 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"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-DESTDIR-honoring.patch
+ "${FILESDIR}"/${PV}-libical3-compat.patch
+)
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ use vala && vala_src_prepare
+ gnome2_src_prepare
+
+ # Make CMakeLists versioned vala enabled
+ sed -e "s;\(find_program(VALAC\) valac);\1 ${VALAC});" \
+ -e "s;\(find_program(VAPIGEN\) vapigen);\1 ${VAPIGEN});" \
+ -i "${S}"/CMakeLists.txt || die
+}
+
+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 google_auth_enable
+ if use google || use gnome-online-accounts; then
+ google_auth_enable="ON"
+ else
+ google_auth_enable="OFF"
+ fi
+
+ # phonenumber does not exist in tree
+ local mycmakeargs=(
+ -DENABLE_GTK_DOC=$(usex api-doc-extras)
+ -DWITH_PRIVATE_DOCS=$(usex api-doc-extras)
+ -DENABLE_SCHEMAS_COMPILE=OFF
+ -DENABLE_INTROSPECTION=$(usex introspection)
+ -DWITH_KRB5=$(usex kerberos)
+ -DWITH_KRB5_INCLUDES=$(usex kerberos "${EPREFIX}"/usr "")
+ -DWITH_KRB5_LIBS=$(usex kerberos "${EPREFIX}"/usr/$(get_libdir) "")
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_PHONENUMBER=OFF
+ -DENABLE_SMIME=ON
+ -DENABLE_GTK=$(usex gtk)
+ -DENABLE_GOOGLE_AUTH=${google_auth_enable}
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_GOA=$(usex gnome-online-accounts)
+ -DENABLE_UOA=OFF
+ -DWITH_LIBDB=$(usex berkdb "${EPREFIX}"/usr OFF)
+ # ENABLE_BACKTRACES requires libdwarf ?
+ -DENABLE_IPV6=$(usex ipv6)
+ -DENABLE_WEATHER=$(usex weather)
+ -DENABLE_GOOGLE=$(usex google)
+ -DENABLE_LARGEFILE=ON
+ -DENABLE_VALA_BINDINGS=$(usex vala)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_test() {
+ virtx cmake-utils_src_test
+}
+
+src_install() {
+ cmake-utils_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/files/3.24.7-DESTDIR-honoring.patch b/gnome-extra/evolution-data-server/files/3.24.7-DESTDIR-honoring.patch
new file mode 100644
index 000000000000..a3a3d470b984
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/3.24.7-DESTDIR-honoring.patch
@@ -0,0 +1,31 @@
+From 5406fcda088be73f462e7d02d4a2ae56cc7329cc Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha@redhat.com>
+Date: Mon, 2 Oct 2017 19:20:36 +0200
+Subject: Bug 781645 - Skip GSettings schema compile when DESTDIR is set
+
+---
+ cmake/modules/GLibTools.cmake | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/modules/GLibTools.cmake b/cmake/modules/GLibTools.cmake
+index fc8eb82..f0be558 100644
+--- a/cmake/modules/GLibTools.cmake
++++ b/cmake/modules/GLibTools.cmake
+@@ -238,9 +238,11 @@ macro(add_gsettings_schemas _target _schema0)
+ if(_install_code)
+ # Compile gsettings schemas and ensure that all of them are in the place.
+ install(CODE
+- "execute_process(${_install_code}
+- COMMAND ${CMAKE_COMMAND} -E chdir . \"${GLIB_COMPILE_SCHEMAS}\" \"${GSETTINGS_SCHEMAS_DIR}\"
+- )")
++ "if(\"\$ENV{DESTDIR}\" STREQUAL \"\")
++ execute_process(${_install_code}
++ COMMAND ${CMAKE_COMMAND} -E chdir . \"${GLIB_COMPILE_SCHEMAS}\" \"${GSETTINGS_SCHEMAS_DIR}\"
++ )
++ endif(\"\$ENV{DESTDIR}\" STREQUAL \"\")")
+ endif(_install_code)
+ endmacro(add_gsettings_schemas)
+
+--
+cgit v0.12
+
diff --git a/gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch b/gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch
new file mode 100644
index 000000000000..8f574b0f8d9c
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/3.24.7-libical3-compat.patch
@@ -0,0 +1,146 @@
+From dc5fc0e163421f5a01c3cdaab23ca2ea1eb3fae2 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha@redhat.com>
+Date: Wed, 4 Oct 2017 11:48:48 +0200
+Subject: [PATCH 1/2] Use icaltime_is_utc() instead of icaltimetype::is_utc
+
+The structure member is going to be removed from libical in the next release
+and the function is available for a long time, thus it's safe to replace
+the usage in the code.
+
+(cherry picked from commit f607f8628a28440374579531bc78848dfe0c782e)
+---
+ src/calendar/backends/contacts/e-cal-backend-contacts.c | 1 -
+ src/calendar/libecal/e-cal-component.c | 8 ++++----
+ src/calendar/libecal/e-cal-recur.c | 8 ++++----
+ src/calendar/libecal/e-cal-time-util.c | 3 +--
+ 4 files changed, 9 insertions(+), 11 deletions(-)
+
+diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c
+index d2b570885..cf2c62062 100644
+--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
++++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
+@@ -699,7 +699,6 @@ cdate_to_icaltime (EContactDate *cdate)
+ ret.month = cdate->month;
+ ret.day = cdate->day;
+ ret.is_date = TRUE;
+- ret.is_utc = FALSE;
+ ret.zone = NULL;
+ ret.is_daylight = FALSE;
+
+diff --git a/src/calendar/libecal/e-cal-component.c b/src/calendar/libecal/e-cal-component.c
+index 65b530d1e..6d8a9814d 100644
+--- a/src/calendar/libecal/e-cal-component.c
++++ b/src/calendar/libecal/e-cal-component.c
+@@ -2522,7 +2522,7 @@ get_datetime (struct datetime *datetime,
+ * This makes the timezone code simpler. */
+ if (datetime->tzid_param)
+ dt->tzid = g_strdup (icalparameter_get_tzid (datetime->tzid_param));
+- else if (dt->value && dt->value->is_utc)
++ else if (dt->value && icaltime_is_utc (*dt->value))
+ dt->tzid = g_strdup ("UTC");
+ else
+ dt->tzid = NULL;
+@@ -2559,9 +2559,9 @@ set_datetime (ECalComponent *comp,
+
+ /* If the TZID is set to "UTC", we set the is_utc flag. */
+ if (dt->tzid && !strcmp (dt->tzid, "UTC"))
+- dt->value->is_utc = 1;
+- else
+- dt->value->is_utc = 0;
++ dt->value->zone = icaltimezone_get_utc_timezone ();
++ else if (dt->value->zone == icaltimezone_get_utc_timezone ())
++ dt->value->zone = NULL;
+
+ if (datetime->prop) {
+ /* make sure no VALUE property is left if not needed */
+diff --git a/src/calendar/libecal/e-cal-recur.c b/src/calendar/libecal/e-cal-recur.c
+index 535d56c14..cad588c4d 100644
+--- a/src/calendar/libecal/e-cal-recur.c
++++ b/src/calendar/libecal/e-cal-recur.c
+@@ -195,7 +195,7 @@ ensure_timezone (icalcomponent *comp,
+ a different icalcomponent and cause use-after-free. */
+ tt->zone = NULL;
+
+- if (tt->is_utc)
++ if (icaltime_is_utc (*tt))
+ return TRUE;
+
+ tt->zone = default_timezone;
+@@ -435,7 +435,7 @@ e_cal_recur_generate_instances_sync (icalcomponent *comp,
+ rrule.until.minute = 0;
+ rrule.until.second = 0;
+
+- if (!rrule.until.zone && !rrule.until.is_utc)
++ if (!rrule.until.zone && !icaltime_is_utc (rrule.until))
+ rrule.until.zone = dtstart.zone;
+ }
+
+@@ -542,7 +542,7 @@ e_cal_recur_generate_instances_sync (icalcomponent *comp,
+ exrule.until.minute = 0;
+ exrule.until.second = 0;
+
+- if (!exrule.until.zone && !exrule.until.is_utc)
++ if (!exrule.until.zone && !icaltime_is_utc (exrule.until))
+ exrule.until.zone = dtstart.zone;
+ }
+
+@@ -586,7 +586,7 @@ e_cal_recur_generate_instances_sync (icalcomponent *comp,
+ if (!success)
+ break;
+
+- if (!exdate.zone && !exdate.is_utc)
++ if (!exdate.zone && !icaltime_is_utc (exdate))
+ exdate.zone = dtstart.zone;
+
+ if (intersects_interval (&exdate, NULL, duration_days, duration_seconds, &interval_start, &interval_end)) {
+diff --git a/src/calendar/libecal/e-cal-time-util.c b/src/calendar/libecal/e-cal-time-util.c
+index 7bcbc8ba1..914761cb0 100644
+--- a/src/calendar/libecal/e-cal-time-util.c
++++ b/src/calendar/libecal/e-cal-time-util.c
+@@ -763,9 +763,8 @@ tm_to_icaltimetype (struct tm *tm,
+
+ itt.day = tm->tm_mday;
+ itt.month = tm->tm_mon + 1;
+- itt.year = tm->tm_year+ 1900;
++ itt.year = tm->tm_year + 1900;
+
+- itt.is_utc = 0;
+ itt.is_date = is_date;
+
+ return itt;
+--
+2.15.1
+
+
+From fccd77cf4620ca76c4fd2bf7721e3fb7eaf55ec6 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha@redhat.com>
+Date: Thu, 5 Oct 2017 13:50:08 +0200
+Subject: [PATCH 2/2] e-cal-recur.c:ensure_timezone(): Unset icaltimetype::zone
+ only if not UTC
+
+With a removal of icaltimetype::is_utc the icaltimetype::zone is used
+to determine whether it's UTC or not. That means that the icaltimetype::zone
+can be unset only if it's not the built-in UTC time zone.
+
+(cherry picked from commit 1f39ade8db00091d6fa4c752ccb70361ef0e8abc)
+---
+ src/calendar/libecal/e-cal-recur.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/calendar/libecal/e-cal-recur.c b/src/calendar/libecal/e-cal-recur.c
+index cad588c4d..fc14fb15c 100644
+--- a/src/calendar/libecal/e-cal-recur.c
++++ b/src/calendar/libecal/e-cal-recur.c
+@@ -193,7 +193,8 @@ ensure_timezone (icalcomponent *comp,
+
+ /* Do not trust the 'zone' set on the structure, as it can come from
+ a different icalcomponent and cause use-after-free. */
+- tt->zone = NULL;
++ if (tt->zone != icaltimezone_get_utc_timezone ())
++ tt->zone = NULL;
+
+ if (icaltime_is_utc (*tt))
+ return TRUE;
+--
+2.15.1
+
diff --git a/gnome-extra/evolution-data-server/files/calentry.schema b/gnome-extra/evolution-data-server/files/calentry.schema
new file mode 100644
index 000000000000..bc79da273cc2
--- /dev/null
+++ b/gnome-extra/evolution-data-server/files/calentry.schema
@@ -0,0 +1,108 @@
+# RFC2739 calEntry schema for OpenLDAP 2.x
+
+#
+# From https://bugs.gentoo.org/show_bug.cgi?id=83988
+# Please notify us of updated revisions by submitting a bug report at bugs.gentoo.org
+#
+
+# Version of RFC 2739 schema translated by Terrelle Shaw
+# (xytek@xytek.org) # Nov. 7, 2002 # Modifications by Peter Marschall
+# <peter.marschall@adpm.de> # Nov. 9, 2002
+
+# Notes:
+# * RFC2739 seems to be a bit sloppy about attribute type and
+# objectclass definitions syntax and also about attribute syntax
+# and matching rules.
+# (It even counts the attributes in the calEntry objectclass wrong ;-)
+# * The following changes have been applied to correct the schema
+# - added description to each attributetype definition
+# - changed SYNTAX from 'IA5String' to corresponding OID
+# to make matching rules and syntax consistent
+# - replaced illegal keyword SUBSTRING by SUBSTR
+# - changed SUBSTR from caseIgnoreIA5Match to caseIgnoreIA5SubstringsMatch
+# - removed illegal keyword MULTI-VALUE
+# - added keyword SINGLE-VALUE where appropriate
+# - removed USAGE since cwuserApplications is the default
+# - added description to the objectclass defintion
+# - corrected typo in objectclass definition
+# - added the attributetypes defined but not used to the objectclass
+
+
+# 2.4.4.1 calCalURI
+attributetype ( 1.2.840.113556.1.4.478
+ NAME 'calCalURI'
+ DESC 'URI to a snapshot of the users entire default calendar'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+# 2.4.4.2 calFBURL
+attributetype ( 1.2.840.113556.1.4.479
+ NAME 'calFBURL'
+ DESC 'URI to the users default free/busy time data'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+# 2.4.4.3 calCAPURI
+attributetype ( 1.2.840.113556.1.4.480
+ NAME 'calCAPURI'
+ DESC 'URI used to communicate with the users calendar'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+# 2.4.4.4 calCalAdrURI
+attributetype ( 1.2.840.113556.1.4.481
+ NAME 'calCalAdrURI'
+ DESC 'URI to which event requests should be sent for the user'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+# 2.4.4.5 calOtherCalURIs
+attributetype ( 1.2.840.113556.1.4.482
+ NAME 'calOtherCalURIs'
+ DESC 'URIs to snapshots of non-default calendars belonging to the user'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+# 2.4.4.6 calOtherFBURLs
+attributetype ( 1.2.840.113556.1.4.483
+ NAME 'calOtherFBURLs'
+ DESC 'URIs to non-default free/busy data belonging to the user'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+# 2.4.4.7 calOtherCAPURIs
+attributetype ( 1.2.840.113556.1.4.484
+ NAME 'calOtherCAPURIs'
+ DESC 'URIs to non-default calendars belonging to the user'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+# 2.4.4.8 calOtherCalAdrURIs
+attributetype ( 1.2.840.113556.1.4.485
+ NAME 'calOtherCalAdrURIs'
+ DESC 'URIs of destinations for event requests to non-default calendars'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+# 2.4.3.1 calEntry
+objectclass ( 1.2.840.113556.1.5.87
+ NAME 'calEntry'
+ DESC 'Calendering and free/busy information'
+ SUP top AUXILIARY
+ MAY ( calCalURI $ calFBURL $ calCAPURI $ calCalAdrURI $
+ calOtherCAPURIs $ calOtherCalURIs $ calOtherFBURLs $
+ calOtherCalAdrURIs ) )
+
+# EOF
diff --git a/gnome-extra/evolution-data-server/metadata.xml b/gnome-extra/evolution-data-server/metadata.xml
new file mode 100644
index 000000000000..5c891ea46d4d
--- /dev/null
+++ b/gnome-extra/evolution-data-server/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <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 <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>