public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/cairo-dock-plug-ins] rawhide: Backport upstream patch to support ical 4
Date: Wed, 08 Jul 2026 13:48:52 GMT	[thread overview]
Message-ID: <178351853264.1.18130902020393680180.rpms-cairo-dock-plug-ins-a291a63826ec@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/cairo-dock-plug-ins
Branch : rawhide
Commit : a291a63826ec3f5db79f2f992cac87704ad8f497
Author : Mamoru TASAKA <mtasaka@fedoraproject.org>
Date   : 2026-07-08T22:48:41+09:00
Stats  : +84/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/cairo-dock-plug-ins/c/a291a63826ec3f5db79f2f992cac87704ad8f497?branch=rawhide

Log:
Backport upstream patch to support ical 4

---
diff --git a/cairo-dock-plug-ins-pr132-support-ical-4.patch b/cairo-dock-plug-ins-pr132-support-ical-4.patch
new file mode 100644
index 0000000..c0cfaa5
--- /dev/null
+++ b/cairo-dock-plug-ins-pr132-support-ical-4.patch
@@ -0,0 +1,76 @@
+From 077af5fd72b4aa42a77c750cef7e85a9ecf84b13 Mon Sep 17 00:00:00 2001
+From: Daniel Kondor <kondor.dani@gmail.com>
+Date: Sun, 5 Jul 2026 13:23:04 +0200
+Subject: [PATCH] clock: update to support newer ical version
+
+---
+ clock/src/applet-backend-ical.c | 32 +++++++++++++++++++++++++-------
+ 1 file changed, 25 insertions(+), 7 deletions(-)
+
+diff --git a/clock/src/applet-backend-ical.c b/clock/src/applet-backend-ical.c
+index 84c6ea05b..aff124fac 100644
+--- a/clock/src/applet-backend-ical.c
++++ b/clock/src/applet-backend-ical.c
+@@ -26,6 +26,7 @@
+ #include "applet-calendar.h"
+ 
+ #ifdef CD_CLOCK_ICAL_SUPPORT
++#include <libical/ical.h>
+ #include <libical/icalfileset.h>
+ #include <libical/icalset.h>
+ #include <libical/icalcomponent.h>
+@@ -201,10 +202,15 @@ static GList *get_tasks (GldiModuleInstance *myApplet)
+ 		pTask->iFrequency = CD_TASK_DONT_REPEAT;
+ 		// TODO: really do the frequency management. If possible.
+ 		icalproperty *rrule = NULL;
+-		struct icalrecurrencetype recur;
+ 		rrule = icalcomponent_get_first_property(piCalComponent,ICAL_RRULE_PROPERTY);
+-		recur = icalproperty_get_rrule(rrule);
++		
++#if ICAL_CHECK_VERSION(4,0,0)
++		struct icalrecurrencetype *recur = icalproperty_get_rrule(rrule);
++		switch( recur->freq )
++#else		
++		struct icalrecurrencetype recur = icalproperty_get_rrule(rrule);
+ 		switch( recur.freq )
++#endif
+ 		{
+ 			case ICAL_MONTHLY_RECURRENCE:pTask->iFrequency = CD_TASK_EACH_MONTH; break;
+ 			case ICAL_YEARLY_RECURRENCE:pTask->iFrequency = CD_TASK_EACH_YEAR; break;
+@@ -266,19 +272,31 @@ static gboolean create_task (CDClockTask *pTask, GldiModuleInstance *myApplet)
+ 	icalcomponent_set_dtstart(piCalComponent, liCalStartDate);
+ 	
+ 	icalproperty *rrule = NULL;
+-	struct icalrecurrencetype recur;
++	const char *freq_str = NULL;
+ 	switch( pTask->iFrequency )
+ 	{
+ 		case CD_TASK_EACH_MONTH:
+-			recur = icalrecurrencetype_from_string("FREQ=MONTHLY");
+-			rrule = icalproperty_new_rrule(recur);
++			freq_str = "FREQ=MONTHLY";
+ 			break;
+ 		case CD_TASK_EACH_YEAR:
+-			recur = icalrecurrencetype_from_string("FREQ=YEARLY");
+-			rrule = icalproperty_new_rrule(recur);
++			freq_str = "FREQ=YEARLY";
+ 			break;
+ 		default: break;
+ 	}
++
++	if( freq_str )
++	{
++#if ICAL_CHECK_VERSION(4,0,0)
++		struct icalrecurrencetype *recur = icalrecurrencetype_new_from_string(freq_str);
++#else
++		struct icalrecurrencetype recur = icalrecurrencetype_from_string(freq_str);
++#endif
++		rrule = icalproperty_new_rrule(recur);
++#if ICAL_CHECK_VERSION(4,0,0)
++		icalrecurrencetype_unref (recur);
++#endif
++	}
++
+ 	if( bIsModification == TRUE )
+ 	{
+ 		// we should remove the previous RECUR property

diff --git a/cairo-dock-plug-ins.spec b/cairo-dock-plug-ins.spec
index 5dcf38a..3daebae 100644
--- a/cairo-dock-plug-ins.spec
+++ b/cairo-dock-plug-ins.spec
@@ -10,7 +10,7 @@
 
 %global	tarballver	%{mainver}%{?use_git:-%{gitdate}git%{shorthash}}
 
-%global	baserelease	6
+%global	baserelease	7
 %dnl %global	alphatag		.rc9
 
 %global	ruby_vendorlib	%(ruby -rrbconfig -e "puts RbConfig::CONFIG['vendorlibdir']")
@@ -42,6 +42,9 @@ URL:			http://glx-dock.org/
 Source0:		cairo-dock-plugins-fedora-%{tarballver}.tar.gz
 # Source0 is created from Source1
 Source1:		cairo-dock-plug-ins-create-fedora-tarball.sh
+# https://github.com/Cairo-Dock/cairo-dock-plug-ins/pull/132/
+# Support ical 4
+Patch0:		cairo-dock-plug-ins-pr132-support-ical-4.patch
 
 BuildRequires:  gcc-c++
 BuildRequires:	cmake
@@ -205,6 +208,7 @@ binding for Cairo-Dock.
 
 %prep
 %setup -q -n cairo-dock-plugins-%{mainver}%{?use_git:-%{gitdate}git%{shorthash}}
+%patch -P0 -p1 -b .ical_4
 
 ## permission
 # %%_fixperms cannot fix permissions completely here
@@ -418,6 +422,9 @@ popd
 %{_datadir}/cairo-dock/plug-ins/Dbus/CDApplet.h
 
 %changelog
+* Wed Jul 08 2026 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.6.2-7
+- Backport upstream patch to support ical 4
+
 * Sat Jun 20 2026 Mamoru TASAKA <mtasaka@fedoraproject.org> - 3.6.2-6
 - Remove unneeded BR: openssl-devel
 

                 reply	other threads:[~2026-07-08 13:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178351853264.1.18130902020393680180.rpms-cairo-dock-plug-ins-a291a63826ec@fedoraproject.org \
    --to=mtasaka@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox