[packages/gnome-calendar] - updated to 50.0 (+libical4 compatibility PR)
qboosh
qboosh at pld-linux.org
Mon Jul 20 21:32:24 CEST 2026
commit 7e5543f93a09b7cc2164aad7f36d30cf6351cdac
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Jul 20 21:32:34 2026 +0200
- updated to 50.0 (+libical4 compatibility PR)
gnome-calendar-libical4.patch | 92 +++++++++++++++++++++++++++++++++++++++++++
gnome-calendar.spec | 24 ++++++-----
2 files changed, 106 insertions(+), 10 deletions(-)
---
diff --git a/gnome-calendar.spec b/gnome-calendar.spec
index 4b4678f..b019028 100644
--- a/gnome-calendar.spec
+++ b/gnome-calendar.spec
@@ -2,24 +2,27 @@
Summary: Calendar application for GNOME
Summary(pl.UTF-8): Aplikacja kalendarza dla GNOME
Name: gnome-calendar
-Version: 48.1
+Version: 50.0
Release: 1
License: GPL v3+
Group: X11/Applications
-Source0: https://download.gnome.org/sources/gnome-calendar/48/%{name}-%{version}.tar.xz
-# Source0-md5: eb0b3b0c2694c0fbd7f2c6d17eff3dac
+Source0: https://download.gnome.org/sources/gnome-calendar/50/%{name}-%{version}.tar.xz
+# Source0-md5: 1fa5206a34b76f88594bbf27b85988f2
Patch0: %{name}-no-update.patch
+# https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/763.patch
+Patch1: %{name}-libical4.patch
URL: https://apps.gnome.org/Calendar/
# libedataserverui4-1.0, libedataserver-1.2, libecal-2.0
BuildRequires: evolution-data-server-devel >= 3.45.1
BuildRequires: evolution-data-server-gtk4-devel >= 3.45.1
+BuildRequires: fribidi-devel
BuildRequires: geoclue2-devel >= 2.4
BuildRequires: geocode-glib2-devel >= 3.26.3
BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.67.5
+BuildRequires: glib2-devel >= 1:2.80.0
BuildRequires: gsettings-desktop-schemas-devel >= 3.22.0
-BuildRequires: gtk4-devel >= 4.15.2
-BuildRequires: libadwaita-devel >= 1.7
+BuildRequires: gtk4-devel >= 4.21.2
+BuildRequires: libadwaita-devel >= 1.8
BuildRequires: libgweather4-devel >= 4.0
BuildRequires: libical-devel >= 1.0.1
BuildRequires: libsoup3-devel >= 3.0
@@ -30,16 +33,16 @@ BuildRequires: rpmbuild(macros) >= 2.042
BuildRequires: tar >= 1:1.22
BuildRequires: xz
Requires(post,postun): gtk-update-icon-cache
-Requires(post,postun): glib2 >= 1:2.67.5
+Requires(post,postun): glib2 >= 1:2.80.0
Requires: evolution-data-server >= 3.45.1
Requires: evolution-data-server-gtk4-libs >= 3.45.1
Requires: geoclue2 >= 2.4
Requires: geocode-glib2 >= 3.26.3
-Requires: glib2 >= 1:2.67.5
+Requires: glib2 >= 1:2.80.0
Requires: gsettings-desktop-schemas >= 3.22.0
-Requires: gtk4 >= 4.15.2
+Requires: gtk4 >= 4.21.2
Requires: hicolor-icon-theme
-Requires: libadwaita >= 1.7
+Requires: libadwaita >= 1.8
Requires: libgweather4 >= 4.0
Requires: libical >= 1.0.1
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -59,6 +62,7 @@ samych komponentów, z których zbudowane jest środowisko, Calendar
%prep
%setup -q
%patch -P0 -p1
+%patch -P1 -p1
%build
%meson
diff --git a/gnome-calendar-libical4.patch b/gnome-calendar-libical4.patch
new file mode 100644
index 0000000..e93215b
--- /dev/null
+++ b/gnome-calendar-libical4.patch
@@ -0,0 +1,92 @@
+From 8cdfd64e38179644e94487c045b8eca1b3a49502 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <heftig at archlinux.org>
+Date: Sun, 10 May 2026 02:42:16 +0200
+Subject: [PATCH] Support libical 4.0.0
+
+---
+ src/core/gcal-recurrence.c | 18 ++++++++++++++++++
+ src/gui/importer/gcal-importer.c | 4 ++++
+ src/utils/gcal-utils.h | 2 ++
+ 3 files changed, 24 insertions(+)
+
+diff --git a/src/core/gcal-recurrence.c b/src/core/gcal-recurrence.c
+index 3d2710366..a28f9acdc 100644
+--- a/src/core/gcal-recurrence.c
++++ b/src/core/gcal-recurrence.c
+@@ -185,6 +185,14 @@ gcal_recurrence_parse_recurrence_rules (ECalComponent *comp)
+
+ case I_CAL_WEEKLY_RECURRENCE:
+ {
++#if ICAL_CHECK_VERSION(4, 0, 0)
++ if (i_cal_recurrence_get_by_array_size (rrule, I_CAL_BY_DAY) == 5 &&
++ i_cal_recurrence_get_by (rrule, I_CAL_BY_DAY, 0) == I_CAL_MONDAY_WEEKDAY &&
++ i_cal_recurrence_get_by (rrule, I_CAL_BY_DAY, 1) == I_CAL_TUESDAY_WEEKDAY &&
++ i_cal_recurrence_get_by (rrule, I_CAL_BY_DAY, 2) == I_CAL_WEDNESDAY_WEEKDAY &&
++ i_cal_recurrence_get_by (rrule, I_CAL_BY_DAY, 3) == I_CAL_THURSDAY_WEEKDAY &&
++ i_cal_recurrence_get_by (rrule, I_CAL_BY_DAY, 4) == I_CAL_FRIDAY_WEEKDAY)
++#else
+ if (i_cal_recurrence_get_by_day (rrule, 0) == I_CAL_MONDAY_WEEKDAY &&
+ i_cal_recurrence_get_by_day (rrule, 1) == I_CAL_TUESDAY_WEEKDAY &&
+ i_cal_recurrence_get_by_day (rrule, 2) == I_CAL_WEDNESDAY_WEEKDAY &&
+@@ -192,6 +200,7 @@ gcal_recurrence_parse_recurrence_rules (ECalComponent *comp)
+ i_cal_recurrence_get_by_day (rrule, 4) == I_CAL_FRIDAY_WEEKDAY &&
+ i_cal_recurrence_get_by_day (rrule, 5) != I_CAL_SATURDAY_WEEKDAY &&
+ i_cal_recurrence_get_by_day (rrule, 6) != I_CAL_SUNDAY_WEEKDAY)
++#endif
+ {
+ recur->frequency = GCAL_RECURRENCE_MON_FRI;
+ }
+@@ -289,11 +298,20 @@ gcal_recurrence_to_rrule (GcalRecurrence *recur)
+ case GCAL_RECURRENCE_MON_FRI:
+ {
+ i_cal_recurrence_set_freq (rrule, I_CAL_WEEKLY_RECURRENCE);
++#if ICAL_CHECK_VERSION(4, 0, 0)
++ i_cal_recurrence_resize_by_array (rrule, I_CAL_BY_DAY, 5);
++ i_cal_recurrence_set_by (rrule, I_CAL_BY_DAY, 0, I_CAL_MONDAY_WEEKDAY);
++ i_cal_recurrence_set_by (rrule, I_CAL_BY_DAY, 1, I_CAL_TUESDAY_WEEKDAY);
++ i_cal_recurrence_set_by (rrule, I_CAL_BY_DAY, 2, I_CAL_WEDNESDAY_WEEKDAY);
++ i_cal_recurrence_set_by (rrule, I_CAL_BY_DAY, 3, I_CAL_THURSDAY_WEEKDAY);
++ i_cal_recurrence_set_by (rrule, I_CAL_BY_DAY, 4, I_CAL_FRIDAY_WEEKDAY);
++#else
+ i_cal_recurrence_set_by_day (rrule, 0, I_CAL_MONDAY_WEEKDAY);
+ i_cal_recurrence_set_by_day (rrule, 1, I_CAL_TUESDAY_WEEKDAY);
+ i_cal_recurrence_set_by_day (rrule, 2, I_CAL_WEDNESDAY_WEEKDAY);
+ i_cal_recurrence_set_by_day (rrule, 3, I_CAL_THURSDAY_WEEKDAY);
+ i_cal_recurrence_set_by_day (rrule, 4, I_CAL_FRIDAY_WEEKDAY);
++#endif
+ break;
+ }
+
+diff --git a/src/gui/importer/gcal-importer.c b/src/gui/importer/gcal-importer.c
+index 7b0bbf105..ec2b27419 100644
+--- a/src/gui/importer/gcal-importer.c
++++ b/src/gui/importer/gcal-importer.c
+@@ -147,7 +147,11 @@ read_file_in_thread (GTask *task,
+ g_assert (g_utf8_validate (contents, length, NULL));
+
+ component = i_cal_parser_parse_string (contents);
++#if ICAL_CHECK_VERSION(4, 0, 0)
++ ical_error = i_cal_error_icalerrno ();
++#else
+ ical_error = i_cal_errno_return ();
++#endif
+
+ if (ical_error != I_CAL_NO_ERROR)
+ {
+diff --git a/src/utils/gcal-utils.h b/src/utils/gcal-utils.h
+index 2c7d47e3e..d2b31e843 100644
+--- a/src/utils/gcal-utils.h
++++ b/src/utils/gcal-utils.h
+@@ -51,7 +51,9 @@ typedef void (*GcalAskRecurrenceCallback) (GcalEvent *event,
+ GcalRecurrenceModType modtype,
+ gpointer user_data);
+
++#if !ICAL_CHECK_VERSION(4, 0, 0)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (ICalTime, g_object_unref)
++#endif
+
+ gchar* gcal_get_weekday (gint i);
+
+--
+GitLab
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gnome-calendar.git/commitdiff/7e5543f93a09b7cc2164aad7f36d30cf6351cdac
More information about the pld-cvs-commit
mailing list