[re-sent w/ compressed attachment]

Hi all,

attached is a patch for the Gtk3 branch aiming at reducing the code complexity 
(in particular conditional parts) by weeding out deprecated stuff.

As it is a bad idea to run a system which is not maintained any more, IMO it is 
a safe approach to require the packages of the oldest maintained disto.  I 
guess this is Debian Wheezy (released May 2013) or Ubuntu 12.04 LTS (released 
April 2012), coming with:

Package      | Ubuntu 12.04 LTS | Debian Wheezy
-----------------------------------------------
glib         |           2.32.1 |       2.33.12
gmime        |            2.6.7 |        2.6.10
gpgme        |            1.2.0 |         1.2.0
Gtkhtml-4    |            4.2.2 |         4.4.0

Note that the still maintained CentOS/RHEL 5/6 seem to have no support for 
Gtk3, so Balsa cannot be compiled there ootb anyway.

Thus, the following simplifications are safe:
- GRegex is always available (as glib is > 2.14), no need to check for PCRE
- No need to check for gtkhtml2
- Webkit can be used safely as glib is > 2.24
- localtime_r and gmtime_r can be replaced by GDateTime and GTimeZone (both 
since glib 2.26)
- ISO 8601 GTimeVal functions can be used (since glib 2.12)
- No need to check for gmime 2.4/2.5
- Gpgme shall be at least ver. 1.2.0 (still need to check if the code may be 
simplified due to new API functions)

Some further optimisations in configure.ac:
- glib-genmarshal seems to be unused and can be removed
- checks for getnameinfo, gai_strerror and isblank can be removed as they are 
never used in the code

The patch contains the following changes:
- configure.ac: apply the aforementioned simplifications
- libbalsa/filter-funcs.c, libbalsa/filter-private.h, libbalsa/mime.c, 
libbalsa/misc.h, src/balsa-app.c, src/balsa-app.h, 
src/balsa-print-object-text.c, src/quote-color.c, src/quote-color.h, 
src/sendmsg-window.c, src/spell-check.c: always use GRegex
- libbalsa/gmime-multipart-crypt.c, libbalsa/gmime-stream-gio.c, 
libbalsa/mailbox_mbox.c: drop conditional code for gmime < 2.6
- libbalsa/html.h: remove hack for Gtkhtml 2
- libbalsa/libbalsa.c, libbalsa/libbalsa.h: use GDateTime, simplify API of 
libbalsa_date_to_utf8()
- libbalsa/mailbox.c, libbalsa/message.h, libbalsa/rfc3156.c, 
src/balsa-mime-widget-vcalendar.c, src/balsa-print-object-text.c: use 
simplified libbalsa_date_to_utf8() API
- libbalsa/missing.h, libbalsa/missing_time.c: remove localtime_r, gmtime_r 
implementations
- libbalsa/rfc2445.c: use ISO 8601 GTimeVal and GDateTime functions
- libbalsa/send.c: use GTimeZone functions
- src/filter-edit-callbacks.c: use GDateTime functions

Note that the INSTALL file seems to be /very/ outdated, too...

Opinions?

Best, Albrecht.

Attachment: balsa-gtk3-simplifications.diff.xz
Description: application/xz

Attachment: pgpA1FQIi8znJ.pgp
Description: PGP signature

_______________________________________________
balsa-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/balsa-list

Reply via email to