diff --git a/.gitignore b/.gitignore index 10954df..0d0a144 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,4 @@ gnome-shell-2.31.5.tar.bz2 /gnome-shell-3.32.0.tar.xz /gnome-shell-3.32.1.tar.xz /gnome-shell-3.33.1.tar.xz +/gnome-shell-3.33.2.tar.xz diff --git a/0001-calendar-server-Port-to-libecal-2.0.patch b/0001-calendar-server-Port-to-libecal-2.0.patch deleted file mode 100644 index 4014a94..0000000 --- a/0001-calendar-server-Port-to-libecal-2.0.patch +++ /dev/null @@ -1,451 +0,0 @@ -From bd4aac8f498d0012b9498839ff1e7d1943720552 Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Thu, 18 Apr 2019 16:21:43 +0200 -Subject: [PATCH] calendar-server: Port to libecal-2.0 - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/501 ---- - meson.build | 4 +- - src/calendar-server/calendar-sources.c | 6 +- - .../gnome-shell-calendar-server.c | 219 ++++++++++-------- - 3 files changed, 125 insertions(+), 104 deletions(-) - -diff --git a/meson.build b/meson.build -index 1801d5413..e57e1928f 100644 ---- a/meson.build -+++ b/meson.build -@@ -14,7 +14,7 @@ cogl_pango_pc = 'mutter-cogl-pango-' + mutter_api_version - libmutter_pc = 'libmutter-' + mutter_api_version - - croco_req = '>= 0.6.8' --ecal_req = '>= 3.5.3' -+ecal_req = '>= 3.33.1' - eds_req = '>= 3.17.2' - gcr_req = '>= 3.7.5' - gdesktop_req = '>= 3.7.90' -@@ -73,7 +73,7 @@ else - endif - - atk_bridge_dep = dependency('atk-bridge-2.0') --ecal_dep = dependency('libecal-1.2', version: ecal_req) -+ecal_dep = dependency('libecal-2.0', version: ecal_req) - eds_dep = dependency('libedataserver-1.2', version: eds_req) - gcr_dep = dependency('gcr-base-3', version: gcr_req) - gdk_x11_dep = dependency('gdk-x11-3.0') -diff --git a/src/calendar-server/calendar-sources.c b/src/calendar-server/calendar-sources.c -index 628f89b07..38b765ecc 100644 ---- a/src/calendar-server/calendar-sources.c -+++ b/src/calendar-server/calendar-sources.c -@@ -295,13 +295,13 @@ create_client_for_source (ESource *source, - CalendarSourceData *source_data) - { - ClientData *data; -- ECalClient *client; -+ EClient *client; - GError *error = NULL; - - client = g_hash_table_lookup (source_data->clients, source); - g_return_if_fail (client == NULL); - -- client = e_cal_client_new (source, source_type, &error); -+ client = e_cal_client_connect_sync (source, source_type, -1, NULL, &error); - if (!client) - { - g_warning ("Could not load source '%s': %s", -@@ -312,7 +312,7 @@ create_client_for_source (ESource *source, - } - - data = g_slice_new0 (ClientData); -- data->client = client; /* takes ownership */ -+ data->client = E_CAL_CLIENT (client); /* takes ownership */ - data->backend_died_id = g_signal_connect (client, - "backend-died", - G_CALLBACK (backend_died_cb), -diff --git a/src/calendar-server/gnome-shell-calendar-server.c b/src/calendar-server/gnome-shell-calendar-server.c -index 2ad8fb99e..d5b6e01f7 100644 ---- a/src/calendar-server/gnome-shell-calendar-server.c -+++ b/src/calendar-server/gnome-shell-calendar-server.c -@@ -102,97 +102,120 @@ typedef struct - } CollectAppointmentsData; - - static time_t --get_time_from_property (icalcomponent *ical, -- icalproperty_kind prop_kind, -- struct icaltimetype (* get_prop_func) (const icalproperty *prop), -- icaltimezone *default_zone) -+get_time_from_property (ICalComponent *icomp, -+ ICalPropertyKind prop_kind, -+ ICalTime * (* get_prop_func) (ICalProperty *prop), -+ ICalTimezone *default_zone) - { -- icalproperty *prop; -- struct icaltimetype ical_time; -- icalparameter *param; -- icaltimezone *timezone = NULL; -+ ICalProperty *prop; -+ ICalTime *itt; -+ ICalParameter *param; -+ ICalTimezone *timezone = NULL; -+ time_t retval; - -- prop = icalcomponent_get_first_property (ical, prop_kind); -+ prop = i_cal_component_get_first_property (icomp, prop_kind); - if (!prop) - return 0; - -- ical_time = get_prop_func (prop); -+ itt = get_prop_func (prop); - -- param = icalproperty_get_first_parameter (prop, ICAL_TZID_PARAMETER); -+ param = i_cal_property_get_first_parameter (prop, I_CAL_TZID_PARAMETER); - if (param) -- timezone = icaltimezone_get_builtin_timezone_from_tzid (icalparameter_get_tzid (param)); -- else if (icaltime_is_utc (ical_time)) -- timezone = icaltimezone_get_utc_timezone (); -+ timezone = i_cal_timezone_get_builtin_timezone_from_tzid (i_cal_parameter_get_tzid (param)); -+ else if (i_cal_time_is_utc (itt)) -+ timezone = i_cal_timezone_get_utc_timezone (); - else - timezone = default_zone; - -- return icaltime_as_timet_with_zone (ical_time, timezone); -+ retval = i_cal_time_as_timet_with_zone (itt, timezone); -+ -+ g_clear_object (¶m); -+ g_clear_object (&prop); -+ g_clear_object (&itt); -+ -+ return retval; - } - - static char * --get_ical_uid (icalcomponent *ical) -+get_ical_uid (ICalComponent *icomp) - { -- return g_strdup (icalcomponent_get_uid (ical)); -+ return g_strdup (i_cal_component_get_uid (icomp)); - } - - static char * --get_ical_summary (icalcomponent *ical) -+get_ical_summary (ICalComponent *icomp) - { -- icalproperty *prop; -+ ICalProperty *prop; -+ char *retval; - -- prop = icalcomponent_get_first_property (ical, ICAL_SUMMARY_PROPERTY); -+ prop = i_cal_component_get_first_property (icomp, I_CAL_SUMMARY_PROPERTY); - if (!prop) - return NULL; - -- return g_strdup (icalproperty_get_summary (prop)); -+ retval = g_strdup (i_cal_property_get_summary (prop)); -+ -+ g_object_unref (prop); -+ -+ return retval; - } - - static char * --get_ical_description (icalcomponent *ical) -+get_ical_description (ICalComponent *icomp) - { -- icalproperty *prop; -+ ICalProperty *prop; -+ char *retval; - -- prop = icalcomponent_get_first_property (ical, ICAL_DESCRIPTION_PROPERTY); -+ prop = i_cal_component_get_first_property (icomp, I_CAL_DESCRIPTION_PROPERTY); - if (!prop) - return NULL; - -- return g_strdup (icalproperty_get_description (prop)); -+ retval = g_strdup (i_cal_property_get_description (prop)); -+ -+ g_object_unref (prop); -+ -+ return retval; - } - - static inline time_t --get_ical_start_time (icalcomponent *ical, -- icaltimezone *default_zone) -+get_ical_start_time (ICalComponent *icomp, -+ ICalTimezone *default_zone) - { -- return get_time_from_property (ical, -- ICAL_DTSTART_PROPERTY, -- icalproperty_get_dtstart, -+ return get_time_from_property (icomp, -+ I_CAL_DTSTART_PROPERTY, -+ i_cal_property_get_dtstart, - default_zone); - } - - static inline time_t --get_ical_end_time (icalcomponent *ical, -- icaltimezone *default_zone) -+get_ical_end_time (ICalComponent *icomp, -+ ICalTimezone *default_zone) - { -- return get_time_from_property (ical, -- ICAL_DTEND_PROPERTY, -- icalproperty_get_dtend, -+ return get_time_from_property (icomp, -+ I_CAL_DTEND_PROPERTY, -+ i_cal_property_get_dtend, - default_zone); - } - - static gboolean --get_ical_is_all_day (icalcomponent *ical, -+get_ical_is_all_day (ICalComponent *icomp, - time_t start_time, -- icaltimezone *default_zone) -+ ICalTimezone *default_zone) - { -- icalproperty *prop; -- struct tm *start_tm; -- time_t end_time; -- struct icaldurationtype duration; -- struct icaltimetype start_icaltime; -+ ICalProperty *prop; -+ ICalDuration *duration; -+ ICalTime *dtstart; -+ struct tm *start_tm; -+ time_t end_time; -+ gboolean retval; -+ -+ dtstart = i_cal_component_get_dtstart (icomp); -+ if (dtstart && i_cal_time_is_date (dtstart)) -+ { -+ g_clear_object (&dtstart); -+ return TRUE; -+ } - -- start_icaltime = icalcomponent_get_dtstart (ical); -- if (start_icaltime.is_date) -- return TRUE; -+ g_clear_object (&dtstart); - - start_tm = gmtime (&start_time); - if (start_tm->tm_sec != 0 || -@@ -200,35 +223,40 @@ get_ical_is_all_day (icalcomponent *ical, - start_tm->tm_hour != 0) - return FALSE; - -- if ((end_time = get_ical_end_time (ical, default_zone))) -+ if ((end_time = get_ical_end_time (icomp, default_zone))) - return (end_time - start_time) % 86400 == 0; - -- prop = icalcomponent_get_first_property (ical, ICAL_DURATION_PROPERTY); -+ prop = i_cal_component_get_first_property (icomp, I_CAL_DURATION_PROPERTY); - if (!prop) - return FALSE; - -- duration = icalproperty_get_duration (prop); -+ duration = i_cal_property_get_duration (prop); -+ -+ retval = duration && (i_cal_duration_as_int (duration) % 86400) == 0; - -- return icaldurationtype_as_int (duration) % 86400 == 0; -+ g_clear_object (&duration); -+ g_clear_object (&prop); -+ -+ return retval; - } - - static inline time_t --get_ical_due_time (icalcomponent *ical, -- icaltimezone *default_zone) -+get_ical_due_time (ICalComponent *icomp, -+ ICalTimezone *default_zone) - { -- return get_time_from_property (ical, -- ICAL_DUE_PROPERTY, -- icalproperty_get_due, -+ return get_time_from_property (icomp, -+ I_CAL_DUE_PROPERTY, -+ i_cal_property_get_due, - default_zone); - } - - static inline time_t --get_ical_completed_time (icalcomponent *ical, -- icaltimezone *default_zone) -+get_ical_completed_time (ICalComponent *icomp, -+ ICalTimezone *default_zone) - { -- return get_time_from_property (ical, -- ICAL_COMPLETED_PROPERTY, -- icalproperty_get_completed, -+ return get_time_from_property (icomp, -+ I_CAL_COMPLETED_PROPERTY, -+ i_cal_property_get_completed, - default_zone); - } - -@@ -365,67 +393,69 @@ calendar_appointment_free (CalendarAppointment *appointment) - - static void - calendar_appointment_init (CalendarAppointment *appointment, -- icalcomponent *ical, -+ ICalComponent *icomp, - ECalClient *cal) - { -- icaltimezone *default_zone; -+ ICalTimezone *default_zone; - const char *source_id; - - source_id = e_source_get_uid (e_client_get_source (E_CLIENT (cal))); - default_zone = e_cal_client_get_default_timezone (cal); - -- appointment->uid = get_ical_uid (ical); -+ appointment->uid = get_ical_uid (icomp); - appointment->source_id = g_strdup (source_id); - appointment->backend_name = get_source_backend_name (cal); -- appointment->summary = get_ical_summary (ical); -- appointment->description = get_ical_description (ical); -+ appointment->summary = get_ical_summary (icomp); -+ appointment->description = get_ical_description (icomp); - appointment->color_string = get_source_color (cal); -- appointment->start_time = get_ical_start_time (ical, default_zone); -- appointment->end_time = get_ical_end_time (ical, default_zone); -- appointment->is_all_day = get_ical_is_all_day (ical, -+ appointment->start_time = get_ical_start_time (icomp, default_zone); -+ appointment->end_time = get_ical_end_time (icomp, default_zone); -+ appointment->is_all_day = get_ical_is_all_day (icomp, - appointment->start_time, - default_zone); - } - - static CalendarAppointment * --calendar_appointment_new (icalcomponent *ical, -+calendar_appointment_new (ICalComponent *icomp, - ECalClient *cal) - { - CalendarAppointment *appointment; - - appointment = g_new0 (CalendarAppointment, 1); - -- calendar_appointment_init (appointment, ical, cal); -+ calendar_appointment_init (appointment, icomp, cal); - return appointment; - } - - static gboolean --generate_instances_cb (ECalComponent *comp, -- time_t start, -- time_t end, -- gpointer data) -+generate_instances_cb (ICalComponent *icomp, -+ ICalTime *instance_start, -+ ICalTime *instance_end, -+ gpointer user_data, -+ GCancellable *cancellable, -+ GError **error) - { -- ECalClient *cal = ((CollectAppointmentsData *)data)->client; -- GHashTable *appointments = ((CollectAppointmentsData *)data)->appointments; -+ ECalClient *cal = ((CollectAppointmentsData *)user_data)->client; -+ GHashTable *appointments = ((CollectAppointmentsData *)user_data)->appointments; - CalendarAppointment *appointment; - CalendarOccurrence *occurrence; -- const char *uid; -+ ICalTimezone *default_zone; -+ const gchar *uid; - -- e_cal_component_get_uid (comp, &uid); -+ default_zone = e_cal_client_get_default_timezone (cal); -+ uid = i_cal_component_get_uid (icomp); - appointment = g_hash_table_lookup (appointments, uid); - - if (appointment == NULL) - { -- icalcomponent *ical = e_cal_component_get_icalcomponent (comp); -- -- appointment = calendar_appointment_new (ical, cal); -+ appointment = calendar_appointment_new (icomp, cal); - g_hash_table_insert (appointments, g_strdup (uid), appointment); - } - - occurrence = g_new0 (CalendarOccurrence, 1); -- occurrence->start_time = start; -- occurrence->end_time = end; -- occurrence->rid = e_cal_component_get_recurid_as_string (comp); -+ occurrence->start_time = i_cal_time_as_timet_with_zone (instance_start, default_zone); -+ occurrence->end_time = i_cal_time_as_timet_with_zone (instance_end, default_zone); -+ occurrence->rid = e_cal_util_component_get_recurid_as_string (icomp); - - appointment->occurrences = g_slist_append (appointment->occurrences, occurrence); - -@@ -442,7 +472,7 @@ struct _App - time_t since; - time_t until; - -- icaltimezone *zone; -+ ICalTimezone *zone; - - CalendarSources *sources; - gulong sources_signal_id; -@@ -468,9 +498,9 @@ app_update_timezone (App *app) - if (g_strcmp0 (location, app->timezone_location) != 0) - { - if (location == NULL) -- app->zone = icaltimezone_get_utc_timezone (); -+ app->zone = i_cal_timezone_get_utc_timezone (); - else -- app->zone = icaltimezone_get_builtin_timezone (location); -+ app->zone = i_cal_timezone_get_builtin_timezone (location); - g_free (app->timezone_location); - app->timezone_location = location; - print_debug ("Using timezone %s", app->timezone_location); -@@ -528,10 +558,10 @@ on_objects_added (ECalClientView *view, - - for (l = objects; l != NULL; l = l->next) - { -- icalcomponent *ical = l->data; -+ ICalComponent *icomp = l->data; - const char *uid; - -- uid = icalcomponent_get_uid (ical); -+ uid = i_cal_component_get_uid (icomp); - - if (g_hash_table_lookup (app->appointments, uid) == NULL) - { -@@ -600,7 +630,7 @@ app_load_events (App *app) - - since_iso8601 = isodate_from_time_t (app->since); - until_iso8601 = isodate_from_time_t (app->until); -- tz_location = icaltimezone_get_location (app->zone); -+ tz_location = i_cal_timezone_get_location (app->zone); - - print_debug ("Loading events since %s until %s", - since_iso8601, -@@ -622,21 +652,12 @@ app_load_events (App *app) - - e_cal_client_set_default_timezone (cal, app->zone); - -- error = NULL; -- if (!e_client_open_sync (E_CLIENT (cal), TRUE, NULL, &error)) -- { -- ESource *source = e_client_get_source (E_CLIENT (cal)); -- g_warning ("Error opening calendar %s: %s\n", -- e_source_get_uid (source), error->message); -- g_error_free (error); -- continue; -- } -- - data.client = cal; - data.appointments = app->appointments; - e_cal_client_generate_instances_sync (cal, - app->since, - app->until, -+ NULL, - generate_instances_cb, - &data); - --- -2.21.0 - diff --git a/gnome-shell.spec b/gnome-shell.spec index 23b1052..7c84bfa 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell -Version: 3.33.1 -Release: 2%{?dist} +Version: 3.33.2 +Release: 1%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ @@ -17,17 +17,14 @@ Patch1: gnome-shell-favourite-apps-firefox.patch Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch -# Backported from upstream -Patch4: 0001-calendar-server-Port-to-libecal-2.0.patch - %define libcroco_version 0.6.8 -%define eds_version 3.17.2 +%define eds_version 3.33.1 %define gnome_desktop_version 3.7.90 %define glib2_version 2.56.0 %define gobject_introspection_version 1.49.1 %define gjs_version 1.54.0 %define gtk3_version 3.15.0 -%define mutter_version 3.33.1 +%define mutter_version 3.33.2 %define polkit_version 0.100 %define gsettings_desktop_schemas_version 3.27.90 %define ibus_version 1.5.2 @@ -204,6 +201,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_mandir}/man1/%{name}.1.gz %changelog +* Wed May 22 2019 Florian Müllner - 3.33.2-1 +- Update to 3.33.2 + * Wed May 22 2019 Kalev Lember - 3.33.1-2 - Rebuild for libecal-2.0 diff --git a/sources b/sources index 9a1bd37..d76c759 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-3.33.1.tar.xz) = 37b1759a53f332e3c8656bd8acc5781687da85d226d20c0af8523fac602db222e285b2f9eb714f1a87718b9ae5d526e4dbdeb0e3e85846293c50ea9f982bb5fd +SHA512 (gnome-shell-3.33.2.tar.xz) = aab43446a5296b99137449ea9eacbe6876623f2920bce1f0467e607ef441bc290f073c99d505450fb4b6297e0e97ce369d08967e2357704f738a8bbd12f7e843