[packages/gnome-mail-notification] - fixes for libcamel 2, missing type casts, updated dependencies; release 26

qboosh qboosh at pld-linux.org
Sun Aug 31 07:20:56 CEST 2025


commit 801d5a88ee25ee2eb199c863588c76d51cf881dc
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Aug 31 07:23:40 2025 +0200

    - fixes for libcamel 2, missing type casts, updated dependencies; release 26

 gnome-mail-notification.spec  |  41 ++++----
 mail-notification-camel.patch |  41 ++++++++
 mail-notification-types.patch | 220 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 280 insertions(+), 22 deletions(-)
---
diff --git a/gnome-mail-notification.spec b/gnome-mail-notification.spec
index 580e112..999c9a9 100644
--- a/gnome-mail-notification.spec
+++ b/gnome-mail-notification.spec
@@ -3,7 +3,7 @@ Summary:	GNOME notification area mail monitor
 Summary(pl.UTF-8):	Monitor poczty widoczny w obszarze powiadamiania GNOME
 Name:		gnome-mail-notification
 Version:	5.4
-Release:	25
+Release:	26
 License:	GPL v3+
 Group:		X11/Applications
 Source0:	https://github.com/epienbroek/mail-notification/tarball/master/%{rname}-%{version}.tar.gz
@@ -13,28 +13,29 @@ Patch1:		jb-glibc-2.19.patch
 Patch2:		jb-evolution-plugin-detect.patch
 Patch3:		evolution-3.12.patch
 Patch4:		evolution-3.16.patch
+Patch5:		mail-notification-camel.patch
+Patch6:		mail-notification-types.patch
 URL:		http://www.nongnu.org/mailnotify/
 BuildRequires:	GConf2-devel >= 2.22.0
-BuildRequires:	autoconf >= 2.59
-BuildRequires:	automake
 BuildRequires:	cyrus-sasl-devel >= 2.0
-BuildRequires:	evolution-devel >= 3.0.0
+BuildRequires:	dbus-glib-devel
+BuildRequires:	evolution-devel >= 3.42
 BuildRequires:	gettext-tools
-BuildRequires:	gmime-devel >= 2.1.19
-BuildRequires:	gmime22-devel
+BuildRequires:	glib2-devel >= 1:2.14
+BuildRequires:	gmime-devel >= 2.6
 BuildRequires:	gnome-vfs2-devel >= 2.22.0
 BuildRequires:	gob2 >= 2.0.17
 BuildRequires:	gtk+3-devel >= 3.0.0
 BuildRequires:	intltool >= 0.36.2
 BuildRequires:	libbonobo-devel >= 2.22.0
 BuildRequires:	libglade2-devel >= 1:2.6.2
+BuildRequires:	libgnome-devel >= 2.14.0
 BuildRequires:	libgnome-keyring-devel >= 3.0.0
-BuildRequires:	libgnomeui-devel >= 2.22.01
+#BuildRequires:	libgnomeui-devel >= 2.22.01
 BuildRequires:	libnotify-devel >= 0.4.1
-BuildRequires:	libtool
 BuildRequires:	libxml2-devel >= 1:2.6.31
-BuildRequires:	nautilus-devel >= 2.30
-BuildRequires:	openssl-devel
+#BuildRequires:	nautilus-devel >= 2.30
+BuildRequires:	openssl-devel >= 0.9.6
 BuildRequires:	pkgconfig
 BuildRequires:	rpmbuild(find_lang) >= 1.23
 BuildRequires:	rpmbuild(macros) >= 1.311
@@ -44,10 +45,7 @@ Requires(post,postun):	gtk-update-icon-cache
 Requires(post,postun):	hicolor-icon-theme
 Requires(post,postun):	scrollkeeper
 Requires(post,preun):	GConf2
-Requires:	gmime >= 2.1.19
-Requires:	libgnomeui >= 2.22.01
-# sr at Latn vs. sr at latin
-Conflicts:	glibc-misc < 6:2.7
+#Requires:	libgnomeui >= 2.22.01
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -65,7 +63,7 @@ Summary:	Mail Notification plugin for Evolution
 Summary(pl.UTF-8):	Wtyczka Mail Notification dla Evolution
 Group:		X11/Applications
 Requires:	%{name} = %{version}-%{release}
-Requires:	evolution >= 3.0.0
+Requires:	evolution >= 3.42
 
 %description -n evolution-plugin-mail-notification
 Evolution mailbox support for Mail Notification.
@@ -80,6 +78,8 @@ Wsparcie dla skrzynek pocztowych Evolution w Mail Notification.
 %patch -P2 -p1
 %patch -P3 -p1
 %patch -P4 -p1
+%patch -P5 -p1
+%patch -P6 -p1
 
 %build
 ./jb configure \
@@ -96,7 +96,8 @@ Wsparcie dla skrzynek pocztowych Evolution w Mail Notification.
 	libs="-lX11" \
 	destdir=$RPM_BUILD_ROOT \
 	install-gconf-schemas=no \
-	evolution-plugin-dir=%{_libdir}/evolution/plugins/
+	evolution-plugin-dir=%{_libdir}/evolution/plugins/ \
+	gtk3=yes
 
 ./jb build
 
@@ -105,10 +106,6 @@ rm -rf $RPM_BUILD_ROOT
 
 ./jb install
 
-# install also GtkBuilder files
-#cp -p ui/mailbox-properties-dialog.ui $RPM_BUILD_ROOT%{_datadir}/mail-notification
-#cp -p ui/properties-dialog.ui $RPM_BUILD_ROOT%{_datadir}/mail-notification
-
 %find_lang %{rname} --all-name --with-gnome --with-omf
 
 %clean
@@ -133,8 +130,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/mail-notification
 %{_sysconfdir}/xdg/autostart/mail-notification.desktop
 %{_desktopdir}/mail-notification-properties.desktop
-%{_iconsdir}/hicolor/*/*/*.png
-%{_iconsdir}/hicolor/*/*/*.svg
+%{_iconsdir}/hicolor/*x*/apps/mail-notification.png
+%{_iconsdir}/hicolor/scalable/apps/mail-notification.svg
 %{_sysconfdir}/gconf/schemas/mail-notification.schemas
 
 %files -n evolution-plugin-mail-notification
diff --git a/mail-notification-camel.patch b/mail-notification-camel.patch
new file mode 100644
index 0000000..009d284
--- /dev/null
+++ b/mail-notification-camel.patch
@@ -0,0 +1,41 @@
+--- epienbroek-mail-notification-45d11d2/src/mn-evolution-server.gob.orig	2025-08-30 19:52:31.622086711 +0200
++++ epienbroek-mail-notification-45d11d2/src/mn-evolution-server.gob	2025-08-30 20:06:42.124005954 +0200
+@@ -238,28 +238,28 @@ class MN:Evolution:Server from G:Object
+   private GValueArray *
+     camel_message_info_to_dbus_struct (CamelMessageInfo *info (check null))
+   {
+-    const CamelSummaryMessageID *id;
++    CamelSummaryMessageID id;
+     char hexhash[sizeof(CamelSummaryMessageID) * 2 + 1];
+     int i;
+ 
+-    id = camel_message_info_message_id(info);
+-    for (i = 0; i < sizeof(id->id.hash); i++)
+-      sprintf(hexhash + i * 2, "%.2x", id->id.hash[i]);
++    id.id.id = camel_message_info_get_message_id(info);
++    for (i = 0; i < sizeof(id.id.hash); i++)
++      sprintf(hexhash + i * 2, "%.2x", id.id.hash[i]);
+ 
+-    g_assert(camel_message_info_uid(info) != NULL);
++    g_assert(camel_message_info_get_uid(info) != NULL);
+ 
+     return self_value_array_new(/* char *uid */
+-				G_TYPE_STRING, camel_message_info_uid(info),
++				G_TYPE_STRING, camel_message_info_get_uid(info),
+ 				/* unsigned int sent_time */
+-				G_TYPE_UINT, (unsigned int) camel_message_info_date_sent(info),
++				G_TYPE_UINT, (unsigned int) camel_message_info_get_date_sent(info),
+ 				/* unsigned int received_time */
+-				G_TYPE_UINT, (unsigned int) camel_message_info_date_received(info),
++				G_TYPE_UINT, (unsigned int) camel_message_info_get_date_received(info),
+ 				/* char *id */
+ 				G_TYPE_STRING, hexhash,
+ 				/* char *from */
+-				G_TYPE_STRING, camel_message_info_from(info),
++				G_TYPE_STRING, camel_message_info_get_from(info),
+ 				/* char *subject */
+-				G_TYPE_STRING, camel_message_info_subject(info),
++				G_TYPE_STRING, camel_message_info_get_subject(info),
+ 				(GType) 0);
+   }
+ 
diff --git a/mail-notification-types.patch b/mail-notification-types.patch
new file mode 100644
index 0000000..07a9ecc
--- /dev/null
+++ b/mail-notification-types.patch
@@ -0,0 +1,220 @@
+--- epienbroek-mail-notification-45d11d2/src/mn-mail-icon.gob.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-mail-icon.gob	2025-08-30 20:11:13.312346508 +0200
+@@ -43,7 +43,7 @@
+ class MN:Mail:Icon from Egg:Tray:Icon
+ {
+   private MNTooltips *tooltips = {mn_tooltips_new()} unrefwith g_object_unref;
+-  private GtkWidget *widget = {mn_mail_icon_widget_new()};
++  private GtkWidget *widget = {GTK_WIDGET(mn_mail_icon_widget_new())};
+ 
+   private char *stock_id destroywith g_free;
+   private int size;
+--- epienbroek-mail-notification-45d11d2/src/mn-mail-icon-widget.gob.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-mail-icon-widget.gob	2025-08-30 21:07:16.313064730 +0200
+@@ -132,38 +132,39 @@ class MN:Mail:Icon:Widget from Mn:Widget
+   }
+ 
+   override (Mn:Widget) void
+-    mn_size_request (GtkWidget *widget, GtkRequisition *requisition)
++    mn_size_request (MnWidget *widget, GtkRequisition *requisition)
+   {
+-    self_size_request_internal(widget, requisition);
++    self_size_request_internal(GTK_WIDGET(widget), requisition);
+   }
+ 
+   override (Mn:Widget) void
+-    mn_get_preferred_width (GtkWidget *widget, gint *minimal_width, gint *natural_width)
++    mn_get_preferred_width (MnWidget *widget, gint *minimal_width, gint *natural_width)
+   {
+ #if GTK_CHECK_VERSION(3,0,0)
+     GtkRequisition requisition;
+ 
+-     self_size_request_internal (widget, &requisition);
++     self_size_request_internal (GTK_WIDGET(widget), &requisition);
+      *minimal_width = *natural_width = requisition.width;
+ #endif
+   }
+ 
+   override (Mn:Widget) void
+-    mn_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height)
++    mn_get_preferred_height(MnWidget *widget, gint *minimal_height, gint *natural_height)
+   {
+ #if GTK_CHECK_VERSION(3,0,0)
+     GtkRequisition requisition;
+ 
+-    self_size_request_internal (widget, &requisition);
++    self_size_request_internal (GTK_WIDGET(widget), &requisition);
+     *minimal_height = *natural_height = requisition.height;
+ #endif
+   }
+ 
+   /* GTK2 only */
+   override (Mn:Widget) gboolean
+-    mn_expose_event (GtkWidget *widget, GdkEventExpose *event)
++    mn_expose_event (MnWidget *mnwidget, GdkEventExpose *event)
+   {
+ #if !GTK_CHECK_VERSION(3,0,0)
++    GtkWidget *widget = GTK_WIDGET(mnwidget);
+     Self *self = SELF(widget);
+ 
+     if (! GTK_WIDGET_DRAWABLE(widget) || ! selfp->stock_id)
+@@ -289,9 +290,10 @@ class MN:Mail:Icon:Widget from Mn:Widget
+ 
+   /* GTK3 only */
+   override (Mn:Widget) gboolean
+-    mn_draw (GtkWidget *widget, cairo_t *cr)
++    mn_draw (MnWidget *mnwidget, cairo_t *cr)
+   {
+ #if GTK_CHECK_VERSION(3,0,0)
++    GtkWidget *widget = GTK_WIDGET(mnwidget);
+     Self *self = SELF(widget);
+ 
+     if (! gtk_widget_is_drawable(widget) || ! selfp->stock_id)
+--- epienbroek-mail-notification-45d11d2/src/mn-text-table.gob.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-text-table.gob	2025-08-30 21:10:14.617494772 +0200
+@@ -116,29 +116,29 @@ class MN:Text:Table from Mn:Widget
+   }
+ 
+   override (Mn:Widget) void
+-    mn_size_request (GtkWidget *widget, GtkRequisition *requisition)
++    mn_size_request (MnWidget *widget, GtkRequisition *requisition)
+   {
+-    self_size_request_internal(widget, requisition);
++    self_size_request_internal(GTK_WIDGET(widget), requisition);
+   }
+ 
+   override (Mn:Widget) void
+-    mn_get_preferred_width (GtkWidget * widget, gint * minimal_width, gint * natural_width)
++    mn_get_preferred_width (MnWidget * widget, gint * minimal_width, gint * natural_width)
+   {
+ #if GTK_CHECK_VERSION(3,0,0)
+     GtkRequisition requisition;
+ 
+-    self_size_request_internal (widget, &requisition);
++    self_size_request_internal (GTK_WIDGET(widget), &requisition);
+     *minimal_width = *natural_width = requisition.width;
+ #endif
+   }
+ 
+   override (Mn:Widget) void
+-    mn_get_preferred_height (GtkWidget * widget, gint * minimal_height, gint * natural_height)
++    mn_get_preferred_height (MnWidget * widget, gint * minimal_height, gint * natural_height)
+   {
+ #if GTK_CHECK_VERSION(3,0,0)
+     GtkRequisition requisition;
+ 
+-    self_size_request_internal (widget, &requisition);
++    self_size_request_internal (GTK_WIDGET(widget), &requisition);
+     *minimal_height = *natural_height = requisition.height;
+ #endif
+   }
+@@ -218,16 +218,16 @@ class MN:Text:Table from Mn:Widget
+ 
+   /* GTK2 only */
+   override (Mn:Widget) gboolean
+-    mn_expose_event (GtkWidget *widget, GdkEventExpose *event)
++    mn_expose_event (MnWidget *widget, GdkEventExpose *event)
+   {
+-      return self_draw_internal(widget, event, NULL);
++      return self_draw_internal(GTK_WIDGET(widget), event, NULL);
+   }
+ 
+   /* GTK3 only */
+   override (Mn:Widget) gboolean
+-    mn_draw (GtkWidget *widget, cairo_t *cr)
++    mn_draw (MnWidget *widget, cairo_t *cr)
+   {
+-      return self_draw_internal(widget, NULL, cr);
++      return self_draw_internal(GTK_WIDGET(widget), NULL, cr);
+   }
+ 
+   private void
+--- epienbroek-mail-notification-45d11d2/src/mn-widget.c.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-widget.c	2025-08-30 22:32:23.347745431 +0200
+@@ -42,32 +42,32 @@ mn_size_request (MnWidget *widget, GtkRe
+ /* GTK3 */
+ #if GTK_CHECK_VERSION(3,0,0)
+ static gboolean
+-mn_draw (MnWidget *widget, cairo_t *cr)
++mn_draw (GtkWidget *widget, cairo_t *cr)
+ {
+     MnWidgetClass *klass = MN_WIDGET_GET_CLASS(widget);
+ 
+     if (klass->mn_draw) {
+-        klass->mn_draw(widget, cr);
++        klass->mn_draw(MN_WIDGET(widget), cr);
+     }
+ }
+ 
+ static void
+-mn_get_preferred_height (MnWidget *widget, gint *minimum_height, gint *natural_height)
++mn_get_preferred_height (GtkWidget *widget, gint *minimum_height, gint *natural_height)
+ {
+     MnWidgetClass *klass = MN_WIDGET_GET_CLASS(widget);
+ 
+     if (klass->mn_get_preferred_height) {
+-        klass->mn_get_preferred_height(widget, minimum_height, natural_height);
++        klass->mn_get_preferred_height(MN_WIDGET(widget), minimum_height, natural_height);
+     }
+ }
+ 
+ static void
+-mn_get_preferred_width (MnWidget *widget, gint *minimum_width, gint *natural_width)
++mn_get_preferred_width (GtkWidget *widget, gint *minimum_width, gint *natural_width)
+ {
+     MnWidgetClass *klass = MN_WIDGET_GET_CLASS(widget);
+ 
+     if (klass->mn_get_preferred_width) {
+-        klass->mn_get_preferred_width(widget, minimum_width, natural_width);
++        klass->mn_get_preferred_width(MN_WIDGET(widget), minimum_width, natural_width);
+     }
+ }
+ #endif
+--- epienbroek-mail-notification-45d11d2/src/mn-mozilla-mailbox-backend.gob.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-mozilla-mailbox-backend.gob	2025-08-31 07:03:53.570269841 +0200
+@@ -69,7 +69,7 @@ class MN:Mozilla:Mailbox:Backend from MN
+   {
+     const char *header;
+ 
+-    header = g_mime_object_get_header(mime_message, header_name);
++    header = g_mime_object_get_header(GMIME_OBJECT(mime_message), header_name);
+     if (header && mn_str_ishex(header))
+       return strtol(header, NULL, 16);
+     else
+--- epienbroek-mail-notification-45d11d2/src/mn-base-mbox-mailbox-backend.gob.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-base-mbox-mailbox-backend.gob	2025-08-31 07:08:38.878700814 +0200
+@@ -140,7 +140,7 @@ class MN:Base:Mbox:Mailbox:Backend from
+ 	    mime_message = g_mime_parser_construct_message(parser);
+ 	    if (mime_message)
+ 	      {
+-		if (g_mime_object_get_header(mime_message, "X-Mozilla-Status"))
++		if (g_mime_object_get_header(GMIME_OBJECT(mime_message), "X-Mozilla-Status"))
+ 		  {
+ #if WITH_MOZILLA
+ 		    type = MN_TYPE_MOZILLA_MAILBOX_BACKEND;
+--- epienbroek-mail-notification-45d11d2/src/mn-message-mime.c.orig	2013-02-10 20:57:29.000000000 +0100
++++ epienbroek-mail-notification-45d11d2/src/mn-message-mime.c	2025-08-31 07:11:28.903085396 +0200
+@@ -33,12 +33,12 @@ is_spam (GMimeMessage *mime_message)
+   g_return_val_if_fail(GMIME_IS_MESSAGE(mime_message), FALSE);
+ 
+   /* SpamAssassin */
+-  spam = g_mime_object_get_header(mime_message, "X-Spam-Status");
++  spam = g_mime_object_get_header(GMIME_OBJECT(mime_message), "X-Spam-Status");
+   if (spam && mn_ascii_str_case_has_prefix(spam, "yes"))
+     return TRUE;
+ 
+   /* bogofilter */
+-  spam = g_mime_object_get_header(mime_message, "X-Bogosity");
++  spam = g_mime_object_get_header(GMIME_OBJECT(mime_message), "X-Bogosity");
+   if (spam && mn_ascii_str_case_has_prefix(spam, "yes"))
+     return TRUE;
+ 
+@@ -89,7 +89,7 @@ mn_message_new_from_mime_message_full (G
+     {
+       const char *status;
+ 
+-      status = g_mime_object_get_header(mime_message, "Status");
++      status = g_mime_object_get_header(GMIME_OBJECT(mime_message), "Status");
+       if (status && strchr(status, 'R'))
+ 	return NULL;		/* the message was read */
+       else if (status && strchr(status, 'O'))
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gnome-mail-notification.git/commitdiff/801d5a88ee25ee2eb199c863588c76d51cf881dc



More information about the pld-cvs-commit mailing list