diff --git a/0001-Build-with-gcr4-by-default.patch b/0001-Build-with-gcr4-by-default.patch new file mode 100644 index 0000000..2b5a225 --- /dev/null +++ b/0001-Build-with-gcr4-by-default.patch @@ -0,0 +1,203 @@ +From f0df67904c3a71479808d56f33d22274e317b085 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Tue, 19 Jul 2022 18:54:42 +0200 +Subject: [PATCH] Build with gcr4 by default + +Use -DWITH_GCR3=ON to build with gcr3 instead. The gcr4 will replace gcr3 +in the future, thus let the gcr4 be the default build option. +--- + CMakeLists.txt | 15 +++++++++-- + config.h.in | 3 +++ + .../gui/contact-editor/e-contact-editor.c | 12 ++++++--- + src/smime/gui/certificate-manager.c | 27 ++++++++++++++----- + src/smime/gui/e-cert-selector.c | 8 ++++-- + src/smime/lib/e-cert.c | 4 +++ + 6 files changed, 54 insertions(+), 15 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 736428e888..21224b0606 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,7 +75,8 @@ add_definitions(-DSOUP_VERSION_MIN_REQUIRED=${soup_encoded_version}) + set(eds_minimum_version ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) + set(enchant1_minimum_version 1.6.0) + set(enchant2_minimum_version 2.2.0) +-set(gcr_minimum_version 3.4) ++set(gcr3_minimum_version 3.4) ++set(gcr4_minimum_version 3.90.0) + set(gdk_pixbuf_minimum_version 2.24.0) + set(gnome_desktop_minimum_version 2.91.3) + set(gsettings_desktop_schemas_minimum_version 2.91.92) +@@ -252,10 +253,20 @@ else(ENABLE_GNOME_DESKTOP) + set(HAVE_GNOME_DESKTOP OFF) + endif(ENABLE_GNOME_DESKTOP) + ++add_printable_option(WITH_GCR3 "Use gcr3, instead of gcr4" OFF) ++ ++if(WITH_GCR3) ++ set(GCR_DEPENDENCY gcr-3) ++ set(gcr_minimum_version ${gcr3_minimum_version}) ++else(WITH_GCR3) ++ set(GCR_DEPENDENCY gcr-4-gtk3) ++ set(gcr_minimum_version ${gcr4_minimum_version}) ++endif(WITH_GCR3) ++ + pkg_check_modules(GNOME_PLATFORM REQUIRED + cairo-gobject + gail-3.0>=${gdk_minimum_version} +- gcr-3>=${gcr_minimum_version} ++ ${GCR_DEPENDENCY}>=${gcr_minimum_version} + gdk-pixbuf-2.0>=${gdk_pixbuf_minimum_version} + gio-2.0>=${glib_minimum_version} + ${GIO_UNIX_REQUIREMENT} +diff --git a/config.h.in b/config.h.in +index 0b6ea1fb1c..90f15a8394 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -122,3 +122,6 @@ + + /* Define if libical-glib has I_CAL_EMAIL_PARAMETER */ + #cmakedefine HAVE_I_CAL_EMAIL_PARAMETER 1 ++ ++/* Defined, when using gcr3, not gcr4 */ ++#cmakedefine WITH_GCR3 1 +diff --git a/src/addressbook/gui/contact-editor/e-contact-editor.c b/src/addressbook/gui/contact-editor/e-contact-editor.c +index 7bda5826da..d517f5f598 100644 +--- a/src/addressbook/gui/contact-editor/e-contact-editor.c ++++ b/src/addressbook/gui/contact-editor/e-contact-editor.c +@@ -34,7 +34,11 @@ + #include + + #define GCR_API_SUBJECT_TO_CHANGE ++#ifdef WITH_GCR3 + #include ++#else ++#include ++#endif + #undef GCR_API_SUBJECT_TO_CHANGE + + #include "shell/e-shell.h" +@@ -3536,7 +3540,7 @@ init_certs (EContactEditor *editor) + GtkTreeViewColumn *column; + GtkTreeSelection *selection; + GtkCellRenderer *renderer; +- GcrCertificateWidget *certificate_widget; ++ GtkWidget *certificate_widget; + GtkWidget *widget; + + tree_view = GTK_TREE_VIEW (e_builder_get_widget (editor->priv->builder, "certs-treeview")); +@@ -3568,10 +3572,10 @@ init_certs (EContactEditor *editor) + + gtk_tree_view_set_model (tree_view, GTK_TREE_MODEL (list_store)); + +- certificate_widget = gcr_certificate_widget_new (NULL); +- gtk_widget_show (GTK_WIDGET (certificate_widget)); ++ certificate_widget = GTK_WIDGET (gcr_certificate_widget_new (NULL)); ++ gtk_widget_show (certificate_widget); + widget = e_builder_get_widget (editor->priv->builder, "cert-preview-scw"); +- gtk_container_add (GTK_CONTAINER (widget), GTK_WIDGET (certificate_widget)); ++ gtk_container_add (GTK_CONTAINER (widget), certificate_widget); + + selection = gtk_tree_view_get_selection (tree_view); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); +diff --git a/src/smime/gui/certificate-manager.c b/src/smime/gui/certificate-manager.c +index 9e630f4921..58568e5533 100644 +--- a/src/smime/gui/certificate-manager.c ++++ b/src/smime/gui/certificate-manager.c +@@ -49,8 +49,11 @@ + + /* XXX Yeah, yeah... */ + #define GCR_API_SUBJECT_TO_CHANGE +- ++#ifdef WITH_GCR3 + #include ++#else ++#include ++#endif + + #include "shell/e-shell.h" + +@@ -1235,8 +1238,7 @@ cm_prepare_certificate_widget (GcrCertificate *certificate) + { + GcrParser *parser; + GcrParsed *parsed = NULL; +- GckAttributes *attributes; +- GcrCertificateWidget *certificate_widget; ++ GtkWidget *widget; + const guchar *der_data = NULL; + gsize der_length; + GError *local_error = NULL; +@@ -1264,13 +1266,24 @@ cm_prepare_certificate_widget (GcrCertificate *certificate) + return NULL; + } + +- attributes = gcr_parsed_get_attributes (parsed); +- certificate_widget = gcr_certificate_widget_new (certificate); +- gcr_certificate_widget_set_attributes (certificate_widget, attributes); ++ #ifdef WITH_GCR3 ++ { ++ GcrCertificateWidget *certificate_widget; ++ GckAttributes *attributes; ++ ++ attributes = gcr_parsed_get_attributes (parsed); ++ certificate_widget = gcr_certificate_widget_new (certificate); ++ gcr_certificate_widget_set_attributes (certificate_widget, attributes); ++ ++ widget = GTK_WIDGET (certificate_widget); ++ } ++ #else ++ widget = gcr_certificate_widget_new (certificate); ++ #endif + + gcr_parsed_unref (parsed); + +- return GTK_WIDGET (certificate_widget); ++ return widget; + } + + static void +diff --git a/src/smime/gui/e-cert-selector.c b/src/smime/gui/e-cert-selector.c +index 77e492b1f9..4986047c01 100644 +--- a/src/smime/gui/e-cert-selector.c ++++ b/src/smime/gui/e-cert-selector.c +@@ -39,7 +39,11 @@ + #define PKCS11_H 1 + + #define GCR_API_SUBJECT_TO_CHANGE +-#include "gcr/gcr.h" ++#ifdef WITH_GCR3 ++#include ++#else ++#include ++#endif + + #include "smime/lib/e-cert.h" + +@@ -168,7 +172,7 @@ e_cert_selector_new (gint type, + e_load_ui_builder_definition (builder, "smime-ui.ui"); + + p->combobox = e_builder_get_widget (builder, "cert_combobox"); +- p->cert_widget = gcr_certificate_widget_new (NULL); ++ p->cert_widget = GCR_CERTIFICATE_WIDGET (gcr_certificate_widget_new (NULL)); + + w = e_builder_get_widget (builder, "cert_selector_vbox"); + content_area = gtk_dialog_get_content_area (GTK_DIALOG (ecs)); +diff --git a/src/smime/lib/e-cert.c b/src/smime/lib/e-cert.c +index f6792cb352..88ffbffa83 100644 +--- a/src/smime/lib/e-cert.c ++++ b/src/smime/lib/e-cert.c +@@ -62,7 +62,11 @@ + /* XXX Yeah, yeah */ + #define GCR_API_SUBJECT_TO_CHANGE + ++#ifdef WITH_GCR3 + #include ++#else ++#include ++#endif + + #define E_CERT_GET_PRIVATE(obj) \ + (G_TYPE_INSTANCE_GET_PRIVATE \ +-- +2.35.1 + diff --git a/evolution.spec b/evolution.spec index 899a178..1a98301 100644 --- a/evolution.spec +++ b/evolution.spec @@ -11,17 +11,16 @@ %global tnef_support 1 %endif -%define glib2_version 2.56 +%define glib2_version 2.66 %define gtk3_version 3.22 %define gnome_autoar_version 0.1.1 %define gnome_desktop_version 2.91.3 %define intltool_version 0.35.5 -%define libgdata_version 0.10.0 -%define libgweather_version 3.10 -%define geocode_glib_version 3.10 +%define libgweather_version 3.91 +%define geocode_glib_version 3.26.3 %define sqlite_version 3.7.17 -%define libsoup_version 2.42 -%define webkit2gtk_version 2.28.0 +%define libsoup_version 3.1.1 +%define webkit2gtk_version 2.34.0 %define last_anjal_version 0.3.2-3 %define last_libgal2_version 2:2.5.3-2 @@ -44,15 +43,17 @@ ### Abstract ### Name: evolution -Version: 3.44.3 +Version: 3.45.1 Release: 1%{?dist} Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL URL: https://wiki.gnome.org/Apps/Evolution -Source: http://download.gnome.org/sources/%{name}/3.44/%{name}-%{version}.tar.xz +Source: http://download.gnome.org/sources/%{name}/3.45/%{name}-%{version}.tar.xz Source1: flatpak-evolution-fix-service-names.sh Source2: flatpak-evolution-wrapper.sh.in +Patch01: 0001-Build-with-gcr4-by-default.patch + # Approximate version number Provides: bundled(libgnomecanvas) = 2.30.0 @@ -101,7 +102,7 @@ BuildRequires: pkgconfig(cairo-gobject) BuildRequires: pkgconfig(camel-1.2) >= %{eds_version} BuildRequires: pkgconfig(enchant-2) BuildRequires: pkgconfig(gail-3.0) >= %{gtk3_version} -BuildRequires: pkgconfig(gcr-3) +BuildRequires: pkgconfig(gcr-4-gtk3) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gmodule-2.0) >= %{glib2_version} @@ -111,8 +112,8 @@ BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{gnome_desktop_version} BuildRequires: pkgconfig(gsettings-desktop-schemas) BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} BuildRequires: pkgconfig(gspell-1) -BuildRequires: pkgconfig(gweather-3.0) >= %{libgweather_version} -BuildRequires: pkgconfig(geocode-glib-1.0) >= %{geocode_glib_version} +BuildRequires: pkgconfig(gweather4) >= %{libgweather_version} +BuildRequires: pkgconfig(geocode-glib-2.0) >= %{geocode_glib_version} BuildRequires: pkgconfig(iso-codes) BuildRequires: pkgconfig(libcanberra-gtk3) BuildRequires: pkgconfig(libcmark) @@ -121,15 +122,14 @@ BuildRequires: pkgconfig(libebook-1.2) >= %{eds_version} BuildRequires: pkgconfig(libecal-2.0) >= %{eds_version} BuildRequires: pkgconfig(libedataserver-1.2) >= %{eds_version} BuildRequires: pkgconfig(libedataserverui-1.2) >= %{eds_version} -BuildRequires: pkgconfig(libgdata) >= %{libgdata_version} -BuildRequires: pkgconfig(libsoup-2.4) >= %{libsoup_version} +BuildRequires: pkgconfig(libsoup-3.0) >= %{libsoup_version} BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(nspr) BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(shared-mime-info) BuildRequires: pkgconfig(sqlite3) >= %{sqlite_version} -BuildRequires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk_version} -BuildRequires: pkgconfig(webkit2gtk-web-extension-4.0) >= %{webkit2gtk_version} +BuildRequires: pkgconfig(webkit2gtk-4.1) >= %{webkit2gtk_version} +BuildRequires: pkgconfig(webkit2gtk-web-extension-4.1) >= %{webkit2gtk_version} %if %{tnef_support} BuildRequires: pkgconfig(libytnef) @@ -160,13 +160,12 @@ Requires: pkgconfig(camel-1.2) >= %{eds_version} Requires: pkgconfig(enchant) Requires: pkgconfig(gtk+-3.0) >= %{gtk3_version} Requires: pkgconfig(gspell-1) -Requires: pkgconfig(gweather-3.0) >= %{libgweather_version} +Requires: pkgconfig(gweather4) >= %{libgweather_version} Requires: pkgconfig(libebackend-1.2) >= %{eds_version} Requires: pkgconfig(libebook-1.2) >= %{eds_version} Requires: pkgconfig(libecal-2.0) >= %{eds_version} Requires: pkgconfig(libedataserver-1.2) >= %{eds_version} -Requires: pkgconfig(libgdata) >= %{libgdata_version} -Requires: pkgconfig(libsoup-2.4) >= %{libsoup_version} +Requires: pkgconfig(libsoup-3.0) >= %{libsoup_version} Requires: pkgconfig(libxml-2.0) Obsoletes: libgal2-devel <= %{last_libgal2_version} @@ -571,6 +570,9 @@ grep -v "%{_datadir}/locale" evolution.lang > help.lang %endif %changelog +* Tue Jul 19 2022 Milan Crha - 3.45.1-1 +- Update to 3.45.1 + * Fri Jul 01 2022 Milan Crha - 3.44.3-1 - Update to 3.44.3 diff --git a/sources b/sources index a256aaf..29964d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (evolution-3.44.3.tar.xz) = b314082f4bc8b0515d90afb7292cd0713f4412c89e6b71e2a46c9d516bef7aa822128a82cddcd155b5bece2c903b464108068abfce5729a617eaf83a184019ab +SHA512 (evolution-3.45.1.tar.xz) = 26250ef4447b76cb64e3e88123115034e222a589701fc80fb53a23c967c75b620338aa936263acaa7f22ad28c197253456a0f5dd869883651f82f1ecc5042f7c