Commit a7550c47 authored by Jeremy Bicha's avatar Jeremy Bicha

New upstream version 2.5.3

parents 84edb36a 62791a62
Following people contributed to versions 2.4.x and 2.5.x of balsa:
Peter Bloomfield <>
Albrecht Dreß <>
Pawel Salek <>
+ many other contributors.
Versions 2.1.x and 2.2.x:
Emmanuel Allaud <>
Peter Bloomfield <>
Albrecht Dreß <>
Carlos Morgado <>
Pawel Salek <>
Bart Visscher <>
+ many other contributors.
Versions 2.0.x:
Emmanuel Allaud <>
Peter Bloomfield <>
Carlos Morgado <>
Pawel Salek <>
+ many other contributors.
Versions 1.1.x and 1.2.0:
Ian Campbell <>
Matthew Guenther <>
Carlos Morgado <>
Pawel Salek <>
patch contributors and helping souls[*]:
Peter Bloomfield <>
Albrecht Dreß <>
Toralf Lund <>
Berend De Schouwer <>
Melanie Thielker <>
Steve Wall <>
Ali Akcaagac <>
Stuart Parmenter <>
Peter Williams <>
rached ben mustapha <>
and many others...
Version 0.9.x and 1.0.0:
Ian Campbell <>
Matthew Guenther <>
Stuart Parmenter <>
Pawel Salek <>
Peter Williams <>
and others (in particular Berend De Schouwer <>).
Version 0.8.0:
Code from:
Héctor García Álvarez <>
Ian Campbell <>
Matthew Guenther <>
Bruno Pires Marinho <>
David Pickens <>
Pawel Salek <>
Peter Williams <>
Special thanks to:
Anthony DeRobertis <>
for patches and ideas and bug-squashing
and our bug reporters and stompers
Versio 0.6.0:
Code from:
Héctor García Álvarez <>
Bruno Pires Marinho <>
David Pickens <>
Peter Williams <>
Special thanks to:
Stuart Parmenter <>
for letting us bring Balsa back to life.
and everyone else who contributed ideas and patches
Version 0.4.9 and before:
Code from:
Michael Lausch <>
Jay Painter <>
Stuart Parmenter <>
Special thanks to:
Tuomas Kuosmanen <>
for all the beautiful icons in Balsa! They add so much to
Balsa! I know I keep asking you for things and I really appreciate
everything you have done! Also thanks for the awesome Balsa logo!
Larry Ewing
for the amazing Balsa airplane.
Nat Friedman <>
for doing the libPropList work in Balsa.
Manish Singh <>
for always looking at stuff when I need help. Especially with
autoconf stuff.
And everyone else I am sure I have left out here.
This diff is collapsed.
This diff is collapsed.
The following are some general guidelines for adding code to Balsa:
The prefered address for reaching Balsa developers is
The prefered place to discuss general Balsa development is
Refer to AUTHORS for the list of active developers.
The code has generally three layers:
| src |
| |---------------|
| | libbalsa |
| | |------------|
| | | libmutt |
- src contains balsa specific code.
- libbalsa contains object definitions code that in principle can be
reused. Good examples are address books, or AddressEntries.
- libmutt is a mailbox backend code.
Use FIXME in comments to make a note of things which need looking at.
All GtkObject derivatives should live in there own .c and .h files. In
general functionality should be split in a sensible way amoung files.
respect the libbalsa_ namespace.
commited code should compile with --enable-more-warnings - this
enables some extra warnings and -Werror which makes warnings into
All changes to libmutt/* should be marked with a comment beginning
BALSA: and describing the change and the reason for it.
Source files
All files should have a magic emacs mode line at the top (note older
files will have c-basic-offset as 2 or 8):
/* -*-mode:c; c-style:k&r; c-basic-offset:4; -*- */
following this a GPL copyright header. Copyright should be attributed as:
(c) 1997-2000 Stuart Parmenter and others, see AUTHORS for a list of people
Following this should be a brief description of what the file
See existing source for a general idea.
Their are three locks which are important to balsa:
1) The GDK lock - this protects GDK and GTK+.
2) The lock on each mailbox.
3) The libmutt lock - this is maintained by libbalsa and is used
because libmutt is not threadsafe.
libbalsa API functions expect to always be called with the GDK lock
held and the mutt lock not held (remember this when calling API funcs
from within libbalsa). The GDK lock may be released, but you must be
careful and should relock it before returning. You must be careful
when the GDK lock is not held that libmutt doesn't call mutt_error or
anything which calls GTK functions.
In order to avoid deadlocks it is important that the locks are always
taken in the same order. That is gdk lock first, then any mailbox
lock, then libmutt lock. Note that this doesn't mean you must take all
those locks - but if you do take them it must be in that order.
If you want just the mutt lock and not the GDK lock this is OK - but
you may not try to take the GDK lock whilst holding the mutt lock -
you must release the mutt lock first.
Be careful to avoid deadlock when locking multiple mailboxes (FIXME:
This sentance isn't much help to anyone ;-)
Coding Style
The coding style used in Balsa currently is a bit of a mess. When
adding a new file to Balsa, please use the standard GNOME indentation
style, rather than the one used in the rest of Balsa. A good place to
read is the file HACKING included with Gnumeric. The magin emacs
comment (as mentioned above) should help you to follow the formatting
guidelines but you can indent explicitly your file with
indent -kr -i4 -psl <filename>
Balsa E-Mail Client 2.0.x
Copyright (C) 1997-2002 Stuart Parmenter and others, see AUTHORS file.
See 'COPYING' for license information. Please note linking against
OpenSSL libraries is explicitely allowed.
See 'AUTHORS' for a list of contributors.
Please make sure you have the following things:
Glib >= 2.6.0
GTK >= 2.6.0
gnome-libs >= 2.0.0 (see notes below)
gnome-print >= 0.25
libpspell >= 0.11.2 (and at least one spell check module)
alternatively libapsell >= 0.50
libesmtp >= 0.8.11
If you do not have these, please check:
for links to these packages. Or try,, and
Note that some of these modules have their own requirements.
Installation of pspell is known to be troublesome, make sure
you have read - and understood - all the details. Feedback
should to to pspell team, not balsa team.
It is highly recommended to install and use the Perl Compatible
Regular Expression library (PCRE), version 3.0 or higher.
Further information about this library is available from
Some pre-built PCRE rpm's can be found at
You need also gnome-doc-tools for building the help system.
They are available from
Since version 2.0.10 balsa has EXPERIMENTAL support for gpg
signed and encrypted MIME messages according to RFC 3156.
Further information is available at
Build Instructions:
For more information and configuration options see 'README'.
You need libtool, pspell-devel (obligatory) and
gnome-print-devel (recommended) packages installed.
Balsa works also very nicely with gtkhtml >= 0.8 and openldap.
# ./configure
# make
Do the above then
# make install
Balsa does not play nice with older versions of egcs, if you
are using an earlier version than 2.95 of this compiler and
have troubles with segfaults, try compiling with optimizations
turned off or upgrading.
Some versions of libgnome is known to have bugs that lead to
balsa crash on startup. Read
and make sure you have at least /usr/lib/
Experimental gcc 2.96 distributed with RedHat 7.0 generates
spurious warning messages. You have to update your compiler
(strongly recommended!) or configure balsa with explicitely
specified --disable-more-warnings option.
#intl dir needed for tarball --disable-nls build.
SUBDIRS = po sounds images doc libbalsa libinit_balsa src ui
# set tar in case it is not set by automake or make
pixmapdir = $(datadir)/pixmaps
pixmap_DATA = gnome-balsa2.png
desktopdir = $(datadir)/applications
desktop_in_files =
desktop_DATA = balsa.desktop balsa-mailto-handler.desktop
appdatadir = $(datarootdir)/appdata
dist_appdata_DATA = balsa.appdata.xml
balsa_extra_dist = \
balsa-mail-style.xml \
balsa-mail.lang \ \ \ \
docs/mh-mail-HOWTO \
docs/pine2vcard \
docs/vconvert.awk \
$(desktop_in_files) \
gnome-balsa2.png \ \ \
gtksourceviewdir = $(BALSA_DATA_PREFIX)/gtksourceview-3.0
gtksourceview_DATA = balsa-mail.lang \
DISTCLEANFILES = $(desktop_DATA) $(server_DATA) \
intltool-extract intltool-merge intltool-update
dist-hook: balsa.spec
cp balsa.spec $(distdir)
@MAINT@RPM: balsa.spec
@MAINT@ rm -f *.rpm
@MAINT@ $(MAKE) distdir="$(PACKAGE)-$(PACKAGE_VERSION)" dist
@MAINT@ cp $(top_srcdir)/rpm-po.patch $(top_builddir)/rpm-po.patch
@MAINT@ rpm -ta "./$(PACKAGE)-$(PACKAGE_VERSION).tar.gz"
@MAINT@ rm $(top_builddir)/rpm-po.patch
@MAINT@ -test -f "/usr/src/redhat/SRPMS/$(PACKAGE)-$(PACKAGE_VERSION)-@BALSA_RELEASE@.src.rpm" \
@MAINT@ && cp -f "/usr/src/redhat/SRPMS/$(PACKAGE)-$(PACKAGE_VERSION)-@BALSA_RELEASE@.src.rpm" .
@MAINT@ -for ping in /usr/src/redhat/RPMS/* ; do \
@MAINT@ if test -d $$ping ; then \
@MAINT@ arch=`echo $$ping |sed -e 's,/.*/\([^/][^/]*\),\1,'` ; \
@MAINT@ f="$$ping/$(PACKAGE)-$(PACKAGE_VERSION)-@BALSA_RELEASE@.$$arch.rpm" ; \
@MAINT@ test -f $$f && cp -f $$f . ; \
@MAINT@ fi ; \
@MAINT@ done
@MAINT@ $(MAKE) distdir=$(PACKAGE)-`date +"%y%m%d"` dist
## to automatically rebuild aclocal.m4 if any of the macros in
## `macros/' change
bzdist: distdir
@test -n "$(AMTAR)" || { echo "AMTAR undefined. Run make bzdist AMTAR=gtar"; false; }
-chmod -R a+r $(distdir)
$(AMTAR) chojf $(distdir).tar.bz2 $(distdir)
-rm -rf $(distdir)
# macros are not used any more by current, see also
# post by Ildar Mulyukov to balsa-list, 2006.06.27
This diff is collapsed.
This diff is collapsed.
Balsa E-Mail Client 2.5.x
See ChangeLog for the list of the recent changes and NEWS for highlights.
Copyright (C) 1997-2016 Stuart Parmenter and others
See 'COPYING' for licence information. Please note linking against
OpenSSL libraries is explicitly allowed.
See 'AUTHORS' for a list of contributors
Balsa is an e-mail reader. This client is part of the GNOME
desktop environment. It supports local mailboxes, POP3 and IMAP.
Balsa has a lot of options to its configure script; you
should run './configure --help' to get an idea of them. More
complete descriptions are here.
Basically, Balsa requires
- glib-2.0 >= 2.40.0