From: John Prather on
Hello,

I've been maintaining a port which provides a plugin for Pidgin
(net-im/pidgin-sipe), which has recently introduced the option to
build a telepathy plugin in addition to or instead of the purple
plugin.

Building the telepathy plugin causes gnu configure to require gmime
2.4 >= 2.4.16 (mail/gmime24 is 2.4.10 currently) or gmime 2.6 >= 2.5.2
(seems to be no 2.6 port yet).

I've found that I can easily patch one of the bug fixes I found
(https://bugzilla.gnome.org/show_bug.cgi?id=613653#c8) that the sipe
developers deemed necessary into the 2.4.10 port, however I'm wary of
going crazy with freebsd patches for 2.4.10 if we are going to have
2.4.16 out in the near future, or 2.6 >= 2.5.2 made available.  Also,
there may be other important bug fixes, though the others which i
found that the sipe developers were concerned with were all related to
building on Windows.

Do we feel that patching 2.4.10 with relatively simple patches would
be a decent approach, or should we wait for either 2.4.16 release and
the corresponding port update or 2.6 to be added into ports?  I partly
feel we should wait for the correct versions to be made available, but
it seems silly to wait weeks or months or more and deal with someone
having to port a whole new release over such a simple fix.

Here is what the patches look like which seem to apply nicely to
2.4.10 in mail/gmime24:

(i'm sure the email turned tabs to spaces, but you can see the gist of
it. I can post the unmangled patch files somewhere if they are
desired)

[root(a)bsdlaptop /usr/ports/mail/gmime24]# cat
files/patch-gmime_gmime.c
*** gmime/gmime.c.orig  Tue Apr 13 22:45:25 2010
--- gmime/gmime.c       Tue Apr 13 22:46:09 2010
***************
*** 141,147 ****
 {
       if (--initialized)
               return;
!
       g_mime_charset_map_shutdown ();
       g_mime_iconv_shutdown ();
 }
--- 141,148 ----
 {
       if (--initialized)
               return;
!
!       g_mime_object_shutdown();
       g_mime_charset_map_shutdown ();
       g_mime_iconv_shutdown ();
 }
[root(a)bsdlaptop /usr/ports/mail/gmime24]# cat
files/patch-gmime_gmime-object.c
*** gmime/gmime-object.c.orig   Tue Apr 13 22:46:38 2010
--- gmime/gmime-object.c        Tue Apr 13 22:48:48 2010
***************
*** 1061,1068 ****
       g_free (bucket);
 }

! static void
! type_registry_shutdown (void)
 {
       g_hash_table_foreach (type_hash, type_bucket_foreach, NULL);
       g_hash_table_destroy (type_hash);
--- 1061,1068 ----
       g_free (bucket);
 }

! void
! g_mime_object_shutdown (void)
 {
       g_hash_table_foreach (type_hash, type_bucket_foreach, NULL);
       g_hash_table_destroy (type_hash);
***************
*** 1075,1080 ****
               return;

       type_hash = g_hash_table_new (g_mime_strcase_hash, g_mime_strcase_equal);
-
-       g_atexit (type_registry_shutdown);
 }
--- 1075,1078 ----
[root(a)bsdlaptop /usr/ports/mail/gmime24]# cat files/patch-gmime_gmime-object.h
*** gmime/gmime-object.h.orig   Tue Apr 13 22:49:01 2010
--- gmime/gmime-object.h        Tue Apr 13 22:49:51 2010
***************
*** 94,99 ****
--- 94,100 ----
 GType g_mime_object_get_type (void);

 void g_mime_object_register_type (const char *type, const char
*subtype, GType object_type);
+ void g_mime_object_shutdown (void);

 GMimeObject *g_mime_object_new (GMimeContentType *content_type);
 GMimeObject *g_mime_object_new_type (const char *type, const char *subtype);



--
John Prather
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Romain =?iso-8859-1?Q?Tarti=E8re?= on
(To mnag@: I added you in cc, your opinion might enlighten us)

Hi John,

On Tue, Apr 13, 2010 at 11:19:04PM -0700, John Prather wrote:
> I've been maintaining a port which provides a plugin for Pidgin
> (net-im/pidgin-sipe), which has recently introduced the option to
> build a telepathy plugin in addition to or instead of the purple
> plugin.
>
> Building the telepathy plugin causes gnu configure to require gmime
> 2.4 >= 2.4.16 (mail/gmime24 is 2.4.10 currently) or gmime 2.6 >= 2.5.2
> (seems to be no 2.6 port yet).

According to the GNOME ftp, none of gmime-2.4.16 and gmime-2.5.2 are
available yet.
http://ftp.gnome.org/pub/GNOME/sources/gmime/2.4/
http://ftp.gnome.org/pub/GNOME/sources/gmime/2.5/


For the records, the mail/gmime24 repocopy of mail/gmime2 was created
because deskutils/tomboy depended on mail/gmime2-sharp but this port
could not be installed anymore after a lang/mono update enforcing some
basic security restrictions. Only the 2.4 series was updated according
to this so I asked the maintainer of mail/gmime2 for an update to the
2.4 series.

However, there a incompatibilities between the 2.2 and 2.4 series. We so
created a new mail/gmime24 port that can be installed besides to the
mail/gmime2 ports, in order to avoid breaking existing ports that
depended on it.

Since mail/gmime<x> and mail/gmime<x>-sharp ports have master/slave
relationship, I continue to have a look on mail/gmime24 cause I maintain
mail/gmime24-sharp, and the latest stable version (2.4.15) is available
in the BSD# repo (and should therefore be pushed to FreeBSD ports in a
short range of time):
http://code.google.com/p/bsd-sharp/source/detail?r=785

> I've found that I can easily patch one of the bug fixes I found
> (https://bugzilla.gnome.org/show_bug.cgi?id=613653#c8) that the sipe
> developers deemed necessary into the 2.4.10 port, however I'm wary of
> going crazy with freebsd patches for 2.4.10 if we are going to have
> 2.4.16 out in the near future, or 2.6 >= 2.5.2 made available.  Also,
> there may be other important bug fixes, though the others which i
> found that the sipe developers were concerned with were all related to
> building on Windows.

I don't think the development version (2.5 series) will ever have a
port.

> Do we feel that patching 2.4.10 with relatively simple patches would
> be a decent approach, or should we wait for either 2.4.16 release and
> the corresponding port update or 2.6 to be added into ports?  I partly
> feel we should wait for the correct versions to be made available, but
> it seems silly to wait weeks or months or more and deal with someone
> having to port a whole new release over such a simple fix.

I would wait for a stable release upstream. However this patch is as
you said « relatively simple » and is unlikely to break existing code.
Since I am not the maintainer of mail/gmime{2,24}, I added mnag@ in Cc.
He might be of good advices.

I do not cut-off the rest of the original message for him.

Thanks,
Romain

> Here is what the patches look like which seem to apply nicely to
> 2.4.10 in mail/gmime24:
>
> (i'm sure the email turned tabs to spaces, but you can see the gist of
> it. I can post the unmangled patch files somewhere if they are
> desired)
>
> [root(a)bsdlaptop /usr/ports/mail/gmime24]# cat
> files/patch-gmime_gmime.c
> *** gmime/gmime.c.orig  Tue Apr 13 22:45:25 2010
> --- gmime/gmime.c       Tue Apr 13 22:46:09 2010
> ***************
> *** 141,147 ****
>  {
>        if (--initialized)
>                return;
> !
>        g_mime_charset_map_shutdown ();
>        g_mime_iconv_shutdown ();
>  }
> --- 141,148 ----
>  {
>        if (--initialized)
>                return;
> !
> !       g_mime_object_shutdown();
>        g_mime_charset_map_shutdown ();
>        g_mime_iconv_shutdown ();
>  }
> [root(a)bsdlaptop /usr/ports/mail/gmime24]# cat
> files/patch-gmime_gmime-object.c
> *** gmime/gmime-object.c.orig   Tue Apr 13 22:46:38 2010
> --- gmime/gmime-object.c        Tue Apr 13 22:48:48 2010
> ***************
> *** 1061,1068 ****
>        g_free (bucket);
>  }
>
> ! static void
> ! type_registry_shutdown (void)
>  {
>        g_hash_table_foreach (type_hash, type_bucket_foreach, NULL);
>        g_hash_table_destroy (type_hash);
> --- 1061,1068 ----
>        g_free (bucket);
>  }
>
> ! void
> ! g_mime_object_shutdown (void)
>  {
>        g_hash_table_foreach (type_hash, type_bucket_foreach, NULL);
>        g_hash_table_destroy (type_hash);
> ***************
> *** 1075,1080 ****
>                return;
>
>        type_hash = g_hash_table_new (g_mime_strcase_hash, g_mime_strcase_equal);
> -
> -       g_atexit (type_registry_shutdown);
>  }
> --- 1075,1078 ----
> [root(a)bsdlaptop /usr/ports/mail/gmime24]# cat files/patch-gmime_gmime-object.h
> *** gmime/gmime-object.h.orig   Tue Apr 13 22:49:01 2010
> --- gmime/gmime-object.h        Tue Apr 13 22:49:51 2010
> ***************
> *** 94,99 ****
> --- 94,100 ----
>  GType g_mime_object_get_type (void);
>
>  void g_mime_object_register_type (const char *type, const char
> *subtype, GType object_type);
> + void g_mime_object_shutdown (void);
>
>  GMimeObject *g_mime_object_new (GMimeContentType *content_type);
>  GMimeObject *g_mime_object_new_type (const char *type, const char *subtype);
>
>
>
> --
> John Prather
> _______________________________________________
> freebsd-ports(a)freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

--
Romain Tartière <romain(a)FreeBSD.org> http://people.FreeBSD.org/~romain/
pgp: 8234 9A78 E7C0 B807 0B59 80FF BA4D 1D95 5112 336F (ID: 0x5112336F)
(plain text =non-HTML= PGP/GPG encrypted/signed e-mail much appreciated)