import evolution-3.40.4-3.el9

This commit is contained in:
CentOS Sources 2022-05-17 04:43:48 -04:00 committed by Stepan Oksanichenko
commit 8575836c1e
7 changed files with 3686 additions and 0 deletions

2
.evolution.metadata Normal file
View File

@ -0,0 +1,2 @@
2ad33472d280d83737884a0e60a9236793653111 SOURCES/emoji.data
2b480d7dd297d84c1b1321f5c90bd0e35d566433 SOURCES/evolution-3.40.4.tar.xz

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
SOURCES/emoji.data
SOURCES/evolution-3.40.4.tar.xz

View File

@ -0,0 +1,68 @@
From 9bbb9289477c8a61a641b0b67cec367629f1e73a Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Thu, 10 Feb 2022 11:59:36 +0100
Subject: [PATCH] ECompEditor: Timezone can be reset on component save
The libical 3.0.14 contains a change, which unsets non-UTC timezones
in date/time values. That uncovered a bug in the Evolution code, which
expects the timezone will be preserved on re-read from the component,
but it's not always possible. This is corrected by re-setting the timezone
on the used ICalTime value.
---
src/calendar/gui/e-comp-editor-property-part.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/calendar/gui/e-comp-editor-property-part.c b/src/calendar/gui/e-comp-editor-property-part.c
index 6bed833b12..6ce699a2e6 100644
--- a/src/calendar/gui/e-comp-editor-property-part.c
+++ b/src/calendar/gui/e-comp-editor-property-part.c
@@ -913,8 +913,15 @@ ecepp_datetime_fill_component (ECompEditorPropertyPart *property_part,
g_object_unref (prop);
}
} else {
+ ICalTimezone *zone;
+
value = e_comp_editor_property_part_datetime_get_value (part_datetime);
+ zone = value && !i_cal_time_is_null_time (value) ? i_cal_time_get_timezone (value) : NULL;
+
+ if (zone)
+ g_object_ref (zone);
+
if (prop) {
/* Remove the VALUE parameter, to correspond to the actual value being set */
i_cal_property_remove_parameter_by_kind (prop, I_CAL_VALUE_PARAMETER);
@@ -925,6 +932,11 @@ ecepp_datetime_fill_component (ECompEditorPropertyPart *property_part,
g_clear_object (&value);
value = klass->i_cal_get_func (prop);
+ /* The timezone can be dropped since libical 3.0.14, thus restore it
+ before updating the TZID parameter */
+ if (zone && value && !i_cal_time_is_null_time (value) && !i_cal_time_is_date (value))
+ i_cal_time_set_timezone (value, zone);
+
cal_comp_util_update_tzid_parameter (prop, value);
} else {
prop = klass->i_cal_new_func (value);
@@ -933,12 +945,18 @@ ecepp_datetime_fill_component (ECompEditorPropertyPart *property_part,
g_clear_object (&value);
value = klass->i_cal_get_func (prop);
+ /* The timezone can be dropped since libical 3.0.14, thus restore it
+ before updating the TZID parameter */
+ if (zone && value && !i_cal_time_is_null_time (value) && !i_cal_time_is_date (value))
+ i_cal_time_set_timezone (value, zone);
+
cal_comp_util_update_tzid_parameter (prop, value);
i_cal_component_add_property (component, prop);
}
g_clear_object (&value);
g_clear_object (&prop);
+ g_clear_object (&zone);
}
}
--
2.33.1

View File

@ -0,0 +1,56 @@
From e75c4faa36a9eb17b88128e45f9e5d91628149f9 Mon Sep 17 00:00:00 2001
From: Milan Crha <mcrha@redhat.com>
Date: Mon, 4 Oct 2021 17:18:35 +0200
Subject: I#1646 - Emoji picker empty
Embed emoji.data as expected by the copy of the gtk+' emoji chooser dialog.
Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1646
diff --git a/data/org.gnome.Evolution.gresource.xml b/data/org.gnome.Evolution.gresource.xml
new file mode 100644
index 0000000000..783ed153b8
--- /dev/null
+++ b/data/org.gnome.Evolution.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<gresources>
+ <gresource prefix="org.gnome.Evolution">
+ <file>emoji.data</file>
+ </gresource>
+</gresources>
diff --git a/src/e-util/CMakeLists.txt b/src/e-util/CMakeLists.txt
index 03b60d8e4b..6f63f29858 100644
--- a/src/e-util/CMakeLists.txt
+++ b/src/e-util/CMakeLists.txt
@@ -30,6 +30,8 @@ if(WIN32)
)
endif(WIN32)
+glib_compile_resources(${CMAKE_SOURCE_DIR}/data/ ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.Evolution.gresource org_gnome_evolution ../../data/org.gnome.Evolution.gresource.xml ${CMAKE_SOURCE_DIR}/data/emoji.data)
+
# Main libevolution-util
set(DEPENDENCIES
@@ -309,6 +311,8 @@ set(SOURCES
${PLATFORM_SOURCES}
${CMAKE_CURRENT_BINARY_DIR}/e-marshal.c
${CMAKE_CURRENT_BINARY_DIR}/e-util-enumtypes.c
+ ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.Evolution.gresource.c
+ ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.Evolution.gresource.h
)
set(HEADERS
diff --git a/src/e-util/e-gtkemojichooser.c b/src/e-util/e-gtkemojichooser.c
index ba4d15ecee..7d8aae3039 100644
--- a/src/e-util/e-gtkemojichooser.c
+++ b/src/e-util/e-gtkemojichooser.c
@@ -444,7 +444,7 @@ populate_emoji_chooser (gpointer data)
if (!chooser->data)
{
- bytes = g_resources_lookup_data ("/org/gtk/libgtk/emoji/emoji.data", 0, NULL);
+ bytes = g_resources_lookup_data ("/org.gnome.Evolution/emoji.data", 0, NULL);
chooser->data = g_variant_ref_sink (g_variant_new_from_bytes (G_VARIANT_TYPE ("a(auss)"), bytes, TRUE));
}

View File

@ -0,0 +1,10 @@
#!/bin/bash
# see https://gitlab.gnome.org/GNOME/glib/issues/1737
# previous versions used milliseconds instead of seconds as the timeout argument",
(`pkg-config --atleast-version 2.60.1 gio-2.0` || `pkg-config --atleast-version 2.61.0 gio-2.0`) && TIMEOUTMULT= || TIMEOUTMULT=000
sed -e "s|\@SOURCES_SERVICE\@|$(pkg-config --variable=sourcesdbusservicename evolution-data-server-1.2)|" \
-e "s|\@ADDRESSBOOK_SERVICE\@|$(pkg-config --variable=addressbookdbusservicename evolution-data-server-1.2)|" \
-e "s|\@CALENDAR_SERVICE\@|$(pkg-config --variable=calendardbusservicename evolution-data-server-1.2)|" \
-e "s|\@TIMEOUTMULT\@|${TIMEOUTMULT}|"

View File

@ -0,0 +1,30 @@
#!/bin/bash
if [ "$1" = "--quit" -o "$1" = "--force-shutdown" ]; then
/app/bin/evolution.bin "$@"
else
export BOGOFILTER_DIR="${XDG_DATA_HOME}/bogofilter/"
export GIO_USE_NETWORK_MONITOR=base
export WEBKIT_FORCE_SANDBOX=0
gsettings reset org.gnome.evolution-data-server network-monitor-gio-name
LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @SOURCES_SERVICE@ | wc -l)
if [ "${LINES}" = "0" ]; then
/app/libexec/evolution-source-registry &
gdbus wait --session --timeout=1@TIMEOUTMULT@ @SOURCES_SERVICE@
fi
LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @ADDRESSBOOK_SERVICE@ | wc -l)
if [ "${LINES}" = "0" ]; then
/app/libexec/evolution-addressbook-factory -r &
gdbus wait --session --timeout=1@TIMEOUTMULT@ @ADDRESSBOOK_SERVICE@
fi
LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @CALENDAR_SERVICE@ | wc -l)
if [ "${LINES}" = "0" ]; then
/app/libexec/evolution-calendar-factory -r &
gdbus wait --session --timeout=1@TIMEOUTMULT@ @CALENDAR_SERVICE@
fi
/app/bin/evolution.bin "$@"
fi

3518
SPECS/evolution.spec Normal file

File diff suppressed because it is too large Load Diff