diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..d87f5613ec4234f82f8eaeebc563711f587fdf88 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.xz filter=lfs diff=lfs merge=lfs -text diff --git a/.lfsconfig b/.lfsconfig new file mode 100644 index 0000000000000000000000000000000000000000..859adfa64b4602650b780ec7f3df058ea0d114e2 --- /dev/null +++ b/.lfsconfig @@ -0,0 +1,2 @@ +[lfs] + url = https://artlfs.openeuler.openatom.cn/src-openEuler/evolution-data-server diff --git a/0001-use-GNUInstallDirs.patch b/0001-use-GNUInstallDirs.patch new file mode 100644 index 0000000000000000000000000000000000000000..4f9099b7580ecc193d247038586dce52bbfeffbd --- /dev/null +++ b/0001-use-GNUInstallDirs.patch @@ -0,0 +1,149 @@ +From 3b277621285686f59609850998b765c72255ced7 Mon Sep 17 00:00:00 2001 +From: Funda Wang +Date: Sun, 23 Nov 2025 17:42:09 +0800 +Subject: [PATCH] use GNUInstallDirs + +--- + CMakeLists.txt | 30 ++++++++++++++--------------- + cmake/modules/FindKRB5.cmake | 3 ++- + cmake/modules/FindLDAP.cmake | 7 ++++--- + cmake/modules/FindPhonenumber.cmake | 3 ++- + 4 files changed, 23 insertions(+), 20 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7c37366..ed0db11 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -153,19 +153,19 @@ include(CheckIncludeFile) + include(CheckLibraryExists) + include(CheckSymbolExists) + include(CheckTypeSize) ++include(GNUInstallDirs) + + # Project custom modules + include(PrintableOptions) + +-add_printable_variable(LIB_SUFFIX "Library directory suffix, usually defined to '64' for x86_64 systems" "") + add_printable_variable_bare(CMAKE_INSTALL_PREFIX) +-add_printable_variable_path(BIN_INSTALL_DIR "Install directory for binary files, defaults to CMAKE_INSTALL_PREFIX/bin" "") +-add_printable_variable_path(INCLUDE_INSTALL_DIR "Install directory for header files, defaults to CMAKE_INSTALL_PREFIX/include" "") +-add_printable_variable_path(LIB_INSTALL_DIR "Install directory for library files, defaults to CMAKE_INSTALL_PREFIX/lib{LIB_SUFFIX}" "") +-add_printable_variable_path(LIBEXEC_INSTALL_DIR "Install directory for library executable files, defaults to CMAKE_INSTALL_PREFIX/libexec" "") +-add_printable_variable_path(SHARE_INSTALL_PREFIX "Install directory for shared files, defaults to CMAKE_INSTALL_PREFIX/share" "") +-add_printable_variable_path(LOCALE_INSTALL_DIR "Install directory for locale files, defaults to SHARE_INSTALL_PREFIX/locale" "") +-add_printable_variable_path(SYSCONF_INSTALL_DIR "Install directory for system configuration files, defaults to CMAKE_INSTALL_PREFIX/etc" "") ++add_printable_variable_path(BIN_INSTALL_DIR "Install directory for binary files, defaults to CMAKE_INSTALL_FULL_BINDIR" "") ++add_printable_variable_path(INCLUDE_INSTALL_DIR "Install directory for header files, defaults to CMAKE_INSTALL_FULL_INCLUDEDIR" "") ++add_printable_variable_path(LIB_INSTALL_DIR "Install directory for library files, defaults to CMAKE_INSTALL_FULL_LIBDIR" "") ++add_printable_variable_path(LIBEXEC_INSTALL_DIR "Install directory for library executable files, defaults to CMAKE_INSTALL_FULL_LIBEXECDIR" "") ++add_printable_variable_path(SHARE_INSTALL_PREFIX "Install directory for shared files, defaults to CMAKE_INSTALL_FULL_DATADIR" "") ++add_printable_variable_path(LOCALE_INSTALL_DIR "Install directory for locale files, defaults to CMAKE_INSTALL_FULL_LOCALEDIR" "") ++add_printable_variable_path(SYSCONF_INSTALL_DIR "Install directory for system configuration files, defaults to CMAKE_INSTALL_FULL_SYSCONFDIR" "") + add_printable_variable_path(EXTENSIONS_DIR "Directory, where out-of-tree extensions can be installed, defaults to LIBEXEC_INSTALL_DIR/evolution/extensions" "") + + macro(ensure_default_value _var _defvalue) +@@ -174,13 +174,13 @@ macro(ensure_default_value _var _defvalue) + endif(${_var} STREQUAL "") + endmacro(ensure_default_value) + +-ensure_default_value(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin") +-ensure_default_value(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include") +-ensure_default_value(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") +-ensure_default_value(LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/libexec") +-ensure_default_value(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/share") +-ensure_default_value(LOCALE_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/locale") +-ensure_default_value(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc") ++ensure_default_value(BIN_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}") ++ensure_default_value(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") ++ensure_default_value(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") ++ensure_default_value(LIBEXEC_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}") ++ensure_default_value(SHARE_INSTALL_PREFIX "${CMAKE_INSTALL_FULL_DATADIR}") ++ensure_default_value(LOCALE_INSTALL_DIR "${CMAKE_INSTALL_FULL_LOCALEDIR}") ++ensure_default_value(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}") + ensure_default_value(EXTENSIONS_DIR "${LIBEXEC_INSTALL_DIR}/evolution/extensions") + + add_printable_variable(DBUS_SERVICES_PREFIX "Prefix for D-Bus services, usually left empty, without trailing dot" "") +diff --git a/cmake/modules/FindKRB5.cmake b/cmake/modules/FindKRB5.cmake +index 8928035..650f4c7 100644 +--- a/cmake/modules/FindKRB5.cmake ++++ b/cmake/modules/FindKRB5.cmake +@@ -12,6 +12,7 @@ + include(CheckCSourceCompiles) + include(PkgConfigEx) + include(PrintableOptions) ++include(GNUInstallDirs) + + add_printable_variable_path(WITH_KRB5 "Location of Kerberos 5 install dir, defaults to ON to search for it" "ON") + add_printable_variable_path(WITH_KRB5_INCLUDES "Location of Kerberos 5 headers" "") +@@ -70,7 +71,7 @@ set(heimdal_libs "-lkrb5 -lcrypto -lasn1 -lcom_err -lroken -lgssapi") + set(sun_includes "${WITH_KRB5}/include/kerberosv5") + set(sun_libs "-lkrb5 -lgss") + +-set(krb_libs "${WITH_KRB5}/lib${LIB_SUFFIX}") ++set(krb_libs "${WITH_KRB5}/${CMAKE_INSTALL_LIBDIR}") + + if(NOT (WITH_KRB5_INCLUDES STREQUAL "")) + set(mit_includes "${WITH_KRB5_INCLUDES}") +diff --git a/cmake/modules/FindLDAP.cmake b/cmake/modules/FindLDAP.cmake +index a98bbba..1e3320e 100644 +--- a/cmake/modules/FindLDAP.cmake ++++ b/cmake/modules/FindLDAP.cmake +@@ -19,6 +19,7 @@ + include(CheckCSourceCompiles) + include(CheckLibraryExists) + include(PrintableOptions) ++include(GNUInstallDirs) + + add_printable_variable_path(WITH_OPENLDAP "Enable LDAP support using OpenLDAP, default ON" "ON") + add_printable_variable_path(WITH_SUNLDAP "Enable LDAP support using SunLDAP, default OFF" "OFF") +@@ -78,7 +79,7 @@ endif(WITH_OPENLDAP) + + set(LDAP_CFLAGS "") + set(LDAP_INCLUDE_DIRS "${LDAP_PREFIX}/include") +-set(LDAP_LIBS "-L${LDAP_PREFIX}/lib${LIB_SUFFIX}") ++set(LDAP_LIBS "-L${LDAP_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + + set(CMAKE_REQUIRED_INCLUDES "${LDAP_INCLUDE_DIRS}") + set(CMAKE_REQUIRED_LIBRARIES "${LDAP_LIBS}") +@@ -112,7 +113,7 @@ add_ldap_lib_if_provides(socket bind) + CHECK_LIBRARY_EXISTS(lber ber_get_tag "" liblber_provides_ber_get_tag) + if(liblber_provides_ber_get_tag) + if(WITH_STATIC_LDAP) +- set(LDAP_LIBS "${LDAP_LIBS} ${LDAP_PREFIX}/lib${LIB_SUFFIX}/liblber.a") ++ set(LDAP_LIBS "${LDAP_LIBS} ${LDAP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/liblber.a") + # # libldap might depend on OpenSSL... We need to pull + # # in the dependency libs explicitly here since we're + # # not using libtool for the configure test. +@@ -127,7 +128,7 @@ endif(liblber_provides_ber_get_tag) + CHECK_LIBRARY_EXISTS(ldap ldap_open "" libldap_provides_ldap_open) + if(libldap_provides_ldap_open) + if(WITH_STATIC_LDAP) +- set(LDAP_LIBS "${LDAP_LIBS} ${LDAP_PREFIX}/lib${LIB_SUFFIX}/libldap.a") ++ set(LDAP_LIBS "${LDAP_LIBS} ${LDAP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libldap.a") + else(WITH_STATIC_LDAP) + set(LDAP_LIBS "${LDAP_LIBS} -lldap") + endif(WITH_STATIC_LDAP) +diff --git a/cmake/modules/FindPhonenumber.cmake b/cmake/modules/FindPhonenumber.cmake +index 80bcda4..8c5bc7e 100644 +--- a/cmake/modules/FindPhonenumber.cmake ++++ b/cmake/modules/FindPhonenumber.cmake +@@ -13,6 +13,7 @@ + + include(PrintableOptions) + include(CheckCXXSourceCompiles) ++include(GNUInstallDirs) + + add_printable_variable_path(WITH_PHONENUMBER "Path prefix where the libphonenumber is installed" OFF) + +@@ -41,7 +42,7 @@ if(("${optupper}" STREQUAL "ON") OR ("${substr}" STREQUAL "${CMAKE_BINARY_DIR}") + set(PHONENUMBER_LDFLAGS -L${PHONENUMBER_LIB_DIRS} ${PHONENUMBER_LDFLAGS}) + else(("${optupper}" STREQUAL "ON") OR ("${substr}" STREQUAL "${CMAKE_BINARY_DIR}")) + set(PHONENUMBER_INCLUDE_DIRS "${WITH_PHONENUMBER}/include") +- set(PHONENUMBER_LIB_DIRS ${WITH_PHONENUMBER}/lib${LIB_SUFFIX}) ++ set(PHONENUMBER_LIB_DIRS ${WITH_PHONENUMBER}/${CMAKE_INSTALL_LIBDIR}) + set(PHONENUMBER_LDFLAGS -L${PHONENUMBER_LIB_DIRS} ${PHONENUMBER_LDFLAGS}) + endif(("${optupper}" STREQUAL "ON") OR ("${substr}" STREQUAL "${CMAKE_BINARY_DIR}")) + +-- +2.50.1 + diff --git a/backport-evolution-data-server-OAuth2-use-WebKitNetworkSession-to-manage-proxy.patch b/backport-evolution-data-server-OAuth2-use-WebKitNetworkSession-to-manage-proxy.patch deleted file mode 100644 index 4330a0c03718683b83ff17fdc1e886a6ae34f43f..0000000000000000000000000000000000000000 --- a/backport-evolution-data-server-OAuth2-use-WebKitNetworkSession-to-manage-proxy.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 02703b28d798931afccebf79c842b54625a8dcd0 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Wed, 1 Feb 2023 13:46:15 -0600 -Subject: [PATCH] M!114 - OAuth2: use WebKitNetworkSession to manage proxy - settings - -With WebKitGTK 2.39.6, network proxy settings moved from -WebKitWebsiteDataManager to WebKitNetworkSession. ---- - .../e-credentials-prompter-impl-oauth2.c | 40 +++++++++++++++++-- - 1 file changed, 36 insertions(+), 4 deletions(-) - -diff --git a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -index 7a1f40e106..9a3918b617 100644 ---- a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -+++ b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -@@ -679,7 +679,12 @@ credentials_prompter_impl_oauth2_sanitize_host (gchar *host) - } - - static void --credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context, -+credentials_prompter_impl_oauth2_set_proxy ( -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ WebKitNetworkSession *network_session, -+#else -+ WebKitWebsiteDataManager *data_manager, -+#endif - ESourceRegistry *registry, - ESource *auth_source) - { -@@ -704,7 +709,6 @@ credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context, - - if (proxy_source && e_source_has_extension (proxy_source, E_SOURCE_EXTENSION_PROXY)) { - ESourceProxy *proxy; -- WebKitWebsiteDataManager *data_manager; - WebKitNetworkProxySettings *proxy_settings = NULL; - GUri *guri; - gchar **ignore_hosts = NULL; -@@ -712,11 +716,14 @@ credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context, - guint16 port; - - proxy = e_source_get_extension (proxy_source, E_SOURCE_EXTENSION_PROXY); -- data_manager = webkit_web_context_get_website_data_manager (web_context); - - switch (e_source_proxy_get_method (proxy)) { - case E_PROXY_METHOD_DEFAULT: -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ webkit_network_session_set_proxy_settings (network_session, WEBKIT_NETWORK_PROXY_MODE_DEFAULT, NULL); -+#else - webkit_website_data_manager_set_network_proxy_settings (data_manager, WEBKIT_NETWORK_PROXY_MODE_DEFAULT, NULL); -+#endif - break; - case E_PROXY_METHOD_MANUAL: - ignore_hosts = e_source_proxy_dup_ignore_hosts (proxy); -@@ -770,13 +777,21 @@ credentials_prompter_impl_oauth2_set_proxy (WebKitWebContext *web_context, - } - g_free (tmp); - -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ webkit_network_session_set_proxy_settings (network_session, WEBKIT_NETWORK_PROXY_MODE_CUSTOM, proxy_settings); -+#else - webkit_website_data_manager_set_network_proxy_settings (data_manager, WEBKIT_NETWORK_PROXY_MODE_CUSTOM, proxy_settings); -+#endif - break; - case E_PROXY_METHOD_AUTO: - /* not supported by WebKitGTK */ - break; - case E_PROXY_METHOD_NONE: -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ webkit_network_session_set_proxy_settings (network_session, WEBKIT_NETWORK_PROXY_MODE_NO_PROXY, proxy_settings); -+#else - webkit_website_data_manager_set_network_proxy_settings (data_manager, WEBKIT_NETWORK_PROXY_MODE_NO_PROXY, NULL); -+#endif - break; - } - -@@ -899,6 +914,11 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 * - GtkWidget *progress_bar; - WebKitSettings *webkit_settings; - WebKitWebContext *web_context; -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ WebKitNetworkSession *network_session; -+#else -+ WebKitWebsiteDataManager *data_manager; -+#endif - #endif /* WITH_WEBKITGTK */ - gchar *title, *uri; - GString *info_markup; -@@ -1213,9 +1233,18 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 * - #if !GTK_CHECK_VERSION(4, 0, 0) || !WEBKIT_CHECK_VERSION(2, 39, 5) - webkit_web_context_set_sandbox_enabled (web_context, TRUE); - #endif -- credentials_prompter_impl_oauth2_set_proxy (web_context, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source); -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ network_session = webkit_network_session_new (NULL, NULL); -+ credentials_prompter_impl_oauth2_set_proxy (network_session, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source); -+#else -+ data_manager = webkit_web_context_get_website_data_manager (web_context); -+ credentials_prompter_impl_oauth2_set_proxy (data_manager, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source); -+#endif - - widget = g_object_new (WEBKIT_TYPE_WEB_VIEW, -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ "network-session", network_session, -+#endif - "settings", webkit_settings, - "web-context", web_context, - NULL); -@@ -1231,6 +1260,9 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 * - gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scrolled_window), widget); - #else - gtk_container_add (GTK_CONTAINER (scrolled_window), widget); -+#endif -+#if GTK_CHECK_VERSION(4, 0, 0) && WEBKIT_CHECK_VERSION(2, 39, 6) -+ g_object_unref (network_session); - #endif - g_object_unref (webkit_settings); - g_object_unref (web_context); --- -GitLab - diff --git a/backport-evolution-data-server-Update-for-removal-of-WebKitGTK-sandbox-API.patch b/backport-evolution-data-server-Update-for-removal-of-WebKitGTK-sandbox-API.patch deleted file mode 100644 index 28c714f4753c24ccf0ce4dcd8b5e0a47f00f8f29..0000000000000000000000000000000000000000 --- a/backport-evolution-data-server-Update-for-removal-of-WebKitGTK-sandbox-API.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 6f4d38537ec2192d7066a7ba145ca7ab0f607e56 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Thu, 19 Jan 2023 20:12:04 -0600 -Subject: [PATCH] M!112 - Update for removal of WebKitGTK sandbox API - -WebKitGTK 2.39.5 contains an ABI break. The sandbox is now mandatory, so -the function to enable/disable it has been removed. ---- - src/libedataserverui/e-credentials-prompter-impl-oauth2.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -index 099a8f20c6..0e5fb582f6 100644 ---- a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -+++ b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -@@ -1149,7 +1149,9 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 * - NULL); - - web_context = webkit_web_context_new (); -+#if !WEBKIT_CHECK_VERSION(2, 39, 5) - webkit_web_context_set_sandbox_enabled (web_context, TRUE); -+#endif - credentials_prompter_impl_oauth2_set_proxy (web_context, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source); - - widget = g_object_new (WEBKIT_TYPE_WEB_VIEW, --- -GitLab - -From 9317117ce9d7eba6265642803266cdd1f0d0ee98 Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Fri, 20 Jan 2023 15:27:45 -0600 -Subject: [PATCH] M!113 - Don't accidentally disable sandbox for GTK 3 users - -In !112 I removed the sandbox enable call because it's gone in the GTK 4 -API where the sandbox is now mandatory. But this code is built for GTK 3 -as well, so where the call is still required. ---- - src/libedataserverui/e-credentials-prompter-impl-oauth2.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -index 0e5fb582f6..e2346b16fb 100644 ---- a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -+++ b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -@@ -1149,7 +1149,7 @@ e_credentials_prompter_impl_oauth2_show_dialog (ECredentialsPrompterImplOAuth2 * - NULL); - - web_context = webkit_web_context_new (); --#if !WEBKIT_CHECK_VERSION(2, 39, 5) -+#if !GTK_CHECK_VERSION(4, 0, 0) || !WEBKIT_CHECK_VERSION(2, 39, 5) - webkit_web_context_set_sandbox_enabled (web_context, TRUE); - #endif - credentials_prompter_impl_oauth2_set_proxy (web_context, e_credentials_prompter_get_registry (prompter), prompter_oauth2->priv->auth_source); --- -GitLab - diff --git a/backport-evolution-data-server-cmake-3.15.patch b/backport-evolution-data-server-cmake-3.15.patch deleted file mode 100644 index 828fa46520542fd6ae755bbbadc1bca4a8b2c146..0000000000000000000000000000000000000000 --- a/backport-evolution-data-server-cmake-3.15.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f41430411039204c47bfe8479be21a1721caf0bb Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Fri, 12 Jan 2024 15:56:08 +0100 -Subject: [PATCH] build: Bump CMake version requirement to 3.15 and change - libedataserverui4 .h files copy - -Let's depend on a newer version of CMake. The previous 3.1 compatibility code -will be gone in future CMake releases. - -The Ninja generator requires different way to copy the libedataserverui4 header -files, thus it knows where the files come from. ---- - CMakeLists.txt | 4 ++-- - src/libedataserverui/CMakeLists.txt | 14 ++++++++++---- - 2 files changed, 12 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f75420b..dd59de6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,7 +1,7 @@ - # Evolution-Data-Server build script - --cmake_minimum_required(VERSION 3.1) --cmake_policy(VERSION 3.1) -+cmake_minimum_required(VERSION 3.15) -+cmake_policy(VERSION 3.15) - - project(evolution-data-server - VERSION 3.46.2 -diff --git a/src/libedataserverui/CMakeLists.txt b/src/libedataserverui/CMakeLists.txt -index c2d250c..860946c 100644 ---- a/src/libedataserverui/CMakeLists.txt -+++ b/src/libedataserverui/CMakeLists.txt -@@ -271,10 +271,16 @@ install(FILES ${HEADERS} - DESTINATION ${privincludedir}/libedataserverui${UI_VERSION} - ) - --# create libedataserverui4/... in the build dir, thus .gir can find it --file(COPY ${HEADERS} -- DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/libedataserverui${UI_VERSION}/ --) -+# create libedataserverui4/... in the build dir, thus .gir can find it; -+# do it this way, to satisfy Ninja generator (see CMP0058) -+foreach(_item IN LISTS HEADERS SOURCES) -+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${_item}") -+ file(GENERATE -+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libedataserverui${UI_VERSION}/${_item} -+ INPUT ${CMAKE_CURRENT_SOURCE_DIR}/${_item} -+ ) -+ endif() -+endforeach() - - set(gir_sources ${SOURCES} ${HEADERS}) - set(gir_identifies_prefixes E) --- -GitLab - diff --git a/backport-evolution-data-server-icu76.patch b/backport-evolution-data-server-icu76.patch deleted file mode 100644 index af1a0669507bde27b65ab6081ac79c2e5faf9a96..0000000000000000000000000000000000000000 --- a/backport-evolution-data-server-icu76.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 52021a61ffa20d7a2d3b79ed5caa18805cb027cf Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Tue, 19 Nov 2024 11:15:12 +0100 -Subject: [PATCH] I#574 - Fails to build/link against icu 76.1 - -Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/574 ---- - CMakeLists.txt | 6 +++--- - src/libedataserver/CMakeLists.txt | 2 ++ - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 835a18c..f75420b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -363,13 +363,13 @@ endif(WIN32) - # ICU started shipping pkg-config files but it's not present - # on many systems, if we don't find the pkg-config - # file then let's fallback on a manual check --pkg_check_modules(ICU icu-i18n) -+pkg_check_modules(ICU icu-i18n icu-uc) - - if(NOT ICU_FOUND) - CHECK_INCLUDE_FILE(unicode/ucol.h HAVE_UNICODE_UCOL_H) - if(NOT HAVE_UNICODE_UCOL_H) - message(FATAL_ERROR "ICU unicode/ucol.h not found; icu-i18n is required") -- endif(HAVE_UNICODE_UCOL_H) -+ endif(NOT HAVE_UNICODE_UCOL_H) - - set(CMAKE_REQUIRED_LIBRARIES "-licui18n -licuuc -licudata") - CHECK_C_SOURCE_COMPILES("#include -@@ -380,7 +380,7 @@ if(NOT ICU_FOUND) - set(ICU_CFLAGS -D_REENTRANT) - set(ICU_LIBS "-licui18n -licuuc -licudata") - else(HAVE_UCOL_OPEN) -- message(FATAL_ERROR "Failed to find icu-i18n, install its development files or build them first") -+ message(FATAL_ERROR "Failed to find icui18n, icuuc and icudata, install its development files or build them first") - endif(HAVE_UCOL_OPEN) - endif(NOT ICU_FOUND) - -diff --git a/src/libedataserver/CMakeLists.txt b/src/libedataserver/CMakeLists.txt -index 2dfc1bd..abd338b 100644 ---- a/src/libedataserver/CMakeLists.txt -+++ b/src/libedataserver/CMakeLists.txt -@@ -16,6 +16,8 @@ add_library(edataserver-private STATIC - e-transliterator-private.cpp - ) - -+set_property(TARGET edataserver-private PROPERTY CXX_STANDARD 17) -+ - target_compile_definitions(edataserver-private PRIVATE - -DG_LOG_DOMAIN=\"e-data-server\" - -DLIBEDATASERVER_COMPILATION --- -2.47.1 - diff --git a/backport-evolution-data-server-try-harder-to-support-webkitgtk-6.0.patch b/backport-evolution-data-server-try-harder-to-support-webkitgtk-6.0.patch deleted file mode 100644 index b81f1dd239dd6ea338560883f70d00ddf8e199bc..0000000000000000000000000000000000000000 --- a/backport-evolution-data-server-try-harder-to-support-webkitgtk-6.0.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 8d29b0bded2e4e3700ce08e9db2eaeac4400528a Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Mon, 21 Nov 2022 17:49:29 +0000 -Subject: [PATCH] M!108 - Try harder to support webkitgtk-6.0 - -The cdb16f26f63f5093479a43cab32012845bcf33ed attempted to handle WebKitGTK -API changes, but I forgot the header file name changed as well. - -Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/108 ---- - src/libedataserverui/e-credentials-prompter-impl-oauth2.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -index 2415947c34..b99ac4e601 100644 ---- a/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -+++ b/src/libedataserverui/e-credentials-prompter-impl-oauth2.c -@@ -32,21 +32,19 @@ - #if GTK_CHECK_VERSION(4, 0, 0) - #ifdef ENABLE_OAUTH2_WEBKITGTK4 - #define WITH_WEBKITGTK 1 -+#include - #else - #undef WITH_WEBKITGTK - #endif - #else - #ifdef ENABLE_OAUTH2_WEBKITGTK - #define WITH_WEBKITGTK 1 -+#include - #else - #undef WITH_WEBKITGTK - #endif - #endif - --#ifdef WITH_WEBKITGTK --#include --#endif /* WITH_WEBKITGTK */ -- - struct _ECredentialsPrompterImplOAuth2Private { - GMutex property_lock; - --- -GitLab - diff --git a/backport-evolution-data-server-use-webkitgtk-6.0-api.patch b/backport-evolution-data-server-use-webkitgtk-6.0-api.patch deleted file mode 100644 index 094bcdead14fe907729a7160df549f400792ddcb..0000000000000000000000000000000000000000 --- a/backport-evolution-data-server-use-webkitgtk-6.0-api.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cdb16f26f63f5093479a43cab32012845bcf33ed Mon Sep 17 00:00:00 2001 -From: Michael Catanzaro -Date: Tue, 15 Nov 2022 08:58:38 +0000 -Subject: [PATCH] M!107 - Use webkitgtk-6.0 API version - -In WebKitGTK 2.39.1, the GTK 4 API version has been renamed from webkit2gtk-5.0 to webkitgtk-6.0. - -Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/107 ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3ce7c1dd5..c575acd3e3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -426,7 +426,7 @@ if(ENABLE_GTK4) - - if(ENABLE_OAUTH2_WEBKITGTK4) - pkg_check_modules_for_option(ENABLE_OAUTH2_WEBKITGTK4 "WebKitGTK gtk4 for built-in OAuth2 authentications" OAUTH2_WEBKITGTK4 -- webkit2gtk-5.0>=${webkit2gtk4_minimum_version} -+ webkitgtk-6.0>=${webkit2gtk4_minimum_version} - ) - endif(ENABLE_OAUTH2_WEBKITGTK4) - endif(ENABLE_GTK4) --- -GitLab - diff --git a/evolution-data-server-3.46.2.tar.xz b/evolution-data-server-3.46.2.tar.xz deleted file mode 100644 index 8222691a79f1635d3b281bc1a215a95845dd3d92..0000000000000000000000000000000000000000 Binary files a/evolution-data-server-3.46.2.tar.xz and /dev/null differ diff --git a/evolution-data-server-3.58.2.tar.xz b/evolution-data-server-3.58.2.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..4342b15dd0e9e75f1b3fb8a04cbe5ab7120b7875 --- /dev/null +++ b/evolution-data-server-3.58.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6942ecfc39ebb36b0b4363adff00771c1c2dfa34f54e80ec92c3baa3feb020fb +size 5150080 diff --git a/evolution-data-server.spec b/evolution-data-server.spec index eedd16277eee7ceeae7de392481a3c4468157116..9a2109f1c5e0dd0d7af2aa66b4e72af3acb82e3f 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -36,18 +36,14 @@ %{!?with_docs: %global with_docs 1} Name: evolution-data-server -Version: 3.46.2 -Release: 6 +Version: 3.58.2 +Release: 1 Summary: Backend data server for Evolution License: LGPL-2.1-or-later URL: https://wiki.gnome.org/Apps/Evolution -Source: https://download.gnome.org/sources/%{name}/3.46/%{name}-%{version}.tar.xz -Patch6001: backport-evolution-data-server-use-webkitgtk-6.0-api.patch -Patch6002: backport-evolution-data-server-try-harder-to-support-webkitgtk-6.0.patch -Patch6003: backport-evolution-data-server-Update-for-removal-of-WebKitGTK-sandbox-API.patch -Patch6004: backport-evolution-data-server-OAuth2-use-WebKitNetworkSession-to-manage-proxy.patch -Patch6005: backport-evolution-data-server-icu76.patch -Patch6006: backport-evolution-data-server-cmake-3.15.patch +Source: https://download.gnome.org/sources/%{name}/%{version_major_minor}/%{name}-%{version}.tar.xz + +Patch1: 0001-use-GNUInstallDirs.patch Provides: evolution-webcal = %{version} Obsoletes: evolution-webcal < 2.24.0 compat-evolution-data-server310-libcamel < 3.12 @@ -60,6 +56,7 @@ BuildRequires: cmake make BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gettext +BuildRequires: gi-docgen BuildRequires: gperf BuildRequires: gtk-doc >= %{gtk_doc_version} BuildRequires: ninja-build @@ -155,12 +152,11 @@ export CFLAGS="$RPM_OPT_FLAGS -DLDAP_DEPRECATED -fPIC -I%{_includedir}/et -Wno-d -DWITH_SYSTEMDUSERUNITDIR=%{_userunitdir} \ %if "%{?_eds_dbus_services_prefix}" != "" -DDBUS_SERVICES_PREFIX=%{?_eds_dbus_services_prefix} \ - %endif + %endif -DENABLE_VALA_BINDINGS=ON -DENABLE_INSTALLED_TESTS=ON -DWITH_OPENLDAP=ON -DWITH_KRB5=ON \ - -DENABLE_SMIME=ON -DENABLE_LARGEFILE=ON -DENABLE_SMIME=ON -DENABLE_GTK_DOC=ON -DWITH_PHONENUMBER=OFF + -DENABLE_SMIME=ON -DENABLE_LARGEFILE=ON -DENABLE_SMIME=ON -DENABLE_GTK_DOC=ON -DENABLE_GI_DOCGEN=ON -DWITH_PHONENUMBER=OFF -sed -i "302 d" %{__cmake_builddir}/docs/reference/evolution-data-server/evolution-data-server-docs.sgml -%cmake_build -j1 +%cmake_build %install %cmake_install @@ -207,16 +203,16 @@ echo "%{_libdir}/%{name}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf %files %license COPYING %doc README ChangeLog NEWS -%{_libdir}/libcamel-1.2.so.64 -%{_libdir}/libcamel-1.2.so.64.0.0 +%{_libdir}/libcamel-1.2.so.66 +%{_libdir}/libcamel-1.2.so.66.0.0 %{_libdir}/libebackend-1.2.so.11 %{_libdir}/libebackend-1.2.so.11.0.0 %{_libdir}/libebook-1.2.so.21 %{_libdir}/libebook-1.2.so.21.1.3 %{_libdir}/libebook-contacts-1.2.so.4 %{_libdir}/libebook-contacts-1.2.so.4.0.0 -%{_libdir}/libecal-2.0.so.2 -%{_libdir}/libecal-2.0.so.2.0.0 +%{_libdir}/libecal-2.0.so.3 +%{_libdir}/libecal-2.0.so.3.0.0 %{_libdir}/libedata-book-1.2.so.27 %{_libdir}/libedata-book-1.2.so.27.0.0 %{_libdir}/libedata-cal-2.0.so.2 @@ -253,10 +249,12 @@ echo "%{_libdir}/%{name}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf %dir %{_libexecdir}/evolution-data-server %{_libexecdir}/evolution-data-server/addressbook-export %{_libexecdir}/evolution-data-server/evolution-alarm-notify +%{_libexecdir}/evolution-data-server/evolution-oauth2-handler %{_libexecdir}/evolution-data-server/list-sources %{_sysconfdir}/xdg/autostart/org.gnome.Evolution-alarm-notify.desktop %{_datadir}/applications/org.gnome.Evolution-alarm-notify.desktop +%{_datadir}/applications/org.gnome.evolution-data-server.OAuth2-handler.desktop # GSettings schemas: %{_datadir}/GConf/gsettings/evolution-data-server.convert @@ -273,11 +271,13 @@ echo "%{_libdir}/%{name}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf %{_datadir}/dbus-1/services/%{dbus_service_name_sources}.service %{_datadir}/dbus-1/services/%{dbus_service_name_user_prompter}.service %{_datadir}/pixmaps/evolution-data-server +%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Evolution-alarm-notify.svg %{_userunitdir}/evolution-addressbook-factory.service %{_userunitdir}/evolution-calendar-factory.service %{_userunitdir}/evolution-source-registry.service %{_userunitdir}/evolution-user-prompter.service +%{_userunitdir}/evolution-alarm-notify.service %dir %{_libdir}/evolution-data-server %dir %{credential_modules_dir} @@ -396,12 +396,25 @@ echo "%{_libdir}/%{name}" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf %if %{with_docs} %files help %{_datadir}/gtk-doc/html/* +%{_datadir}/doc/camel +%{_datadir}/doc/libebackend +%{_datadir}/doc/libebook +%{_datadir}/doc/libebook-contacts +%{_datadir}/doc/libecal +%{_datadir}/doc/libedata-book +%{_datadir}/doc/libedata-cal +%{_datadir}/doc/libedataserver +%{_datadir}/doc/libedataserverui +%{_datadir}/doc/libedataserverui4 %endif %files perl %{_libexecdir}/evolution-data-server/csv2vcard %changelog +* Sun Nov 23 2025 Funda Wang - 3.58.2-1 +- update to 3.58.2 + * Sun Mar 09 2025 Funda Wang - 3.46.2-6 - build with icu 76 - fix build with cmake 4.0