summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2018-01-08 13:13:40 +0200
committerMart Raudsepp <leio@gentoo.org>2018-01-08 14:57:00 +0200
commit7e605439425d9d382896c8224064691e8cf6760b (patch)
tree9247a73cbbedf9264339500c68970a09c5ee5c2a /gnome-extra
parentapp-misc/elasticsearch: Most recent SugarCRM Enterprise supported release. Re... (diff)
downloadgentoo-7e605439425d9d382896c8224064691e8cf6760b.tar.gz
gentoo-7e605439425d9d382896c8224064691e8cf6760b.tar.bz2
gentoo-7e605439425d9d382896c8224064691e8cf6760b.zip
gnome-extra/evolution-data-server: bump to 3.24.7, fresh install fix, libical3 compat
Bump, patch to honor DESTDIR and not update caches when set (might cause sandbox violation for us and be generally wrong), patches for libical:0/3 compatibility. Bug: https://bugs.gentoo.org/628460 Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'gnome-extra')
-rw-r--r--gnome-extra/evolution-data-server/Manifest1
-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
4 files changed, 330 insertions, 0 deletions
diff --git a/gnome-extra/evolution-data-server/Manifest b/gnome-extra/evolution-data-server/Manifest
index d481b5f9a47d..45eaf7d0e193 100644
--- a/gnome-extra/evolution-data-server/Manifest
+++ b/gnome-extra/evolution-data-server/Manifest
@@ -1,2 +1,3 @@
DIST evolution-data-server-3.22.7.tar.xz 5564924 BLAKE2B 8107a13ef46a4457e122c5d719c0d29ccbf5ec61424fb6b4810b1e165bb68cb8c1c87ec9ab34446458321c0c56ba5a5408f45ae9fc95bcee965c21caaad6a230 SHA512 53648c0b893982b3577008aeae57e213e084aa5ba4663ca109f200b268635fd1544408c1ace065e91e5eaf48a20f59609c8e895a1907501ea5e64119d1590d44
DIST evolution-data-server-3.24.6.tar.xz 4252940 BLAKE2B 42a0a39a8248628964cfd026e4b8bc3794e897f447aadb73e0e7870865314c47d6de11a1aa85d6e7fcb0a414a3552a74cb3012c8a6d4908b280ae7440e1154d7 SHA512 01eece83217e66ce7e08e333ceaf38bae226800dd8a015dda29583b0155b9f1fbef4f18d95a7127d08421cd27b3203d2b7cc6a3bc0b5adba1b06197c85be96e6
+DIST evolution-data-server-3.24.7.tar.xz 4253252 BLAKE2B ca435a4e6c3a003c5166bd06f0308766686cc9e02f1eb6a15a521c58805bafdfd39cbc7ee058339ba383329ab34a11ed2b0eeebd9b545219c4b3d8f51de8df60 SHA512 3e83cb0e87ec822ebf6c81963693e7c701d20266e0811bd261a78073c75724e2c24ac5d5561e997ed8567e9e519c175b3104fa6e2e28158854c8c3ec39a8e9df
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..9c317ebf4171
--- /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
+