[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