summaryrefslogtreecommitdiffstats
path: root/mail/balsa
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2007-05-05 05:01:04 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2007-05-05 05:01:04 +0800
commita1acb580f6ca42b4a17c753cb2decc4d58447f0c (patch)
tree4d795f5b3b19d9fecaf666e8dc85a0fc53679a90 /mail/balsa
parent56abe6105d13124e7f48166d2fe6efdaf1295fb3 (diff)
downloadmarcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.tar
marcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.tar.gz
marcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.tar.bz2
marcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.tar.lz
marcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.tar.xz
marcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.tar.zst
marcuscom-ports-a1acb580f6ca42b4a17c753cb2decc4d58447f0c.zip
share/gnome -> share
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@8812 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'mail/balsa')
-rw-r--r--mail/balsa/Makefile92
-rw-r--r--mail/balsa/distinfo3
-rw-r--r--mail/balsa/files/patch-configure70
-rw-r--r--mail/balsa/files/patch-doc_omf.make11
-rw-r--r--mail/balsa/files/patch-libbalsa_imap_imap-handle.c10
-rw-r--r--mail/balsa/files/patch-libbalsa_mailbox_local.c33
-rw-r--r--mail/balsa/files/patch-libbalsa_mailbox_local.h11
-rw-r--r--mail/balsa/files/patch-libbalsa_mailbox_maildir.c84
-rw-r--r--mail/balsa/files/patch-libbalsa_mailbox_mbox.c19
-rw-r--r--mail/balsa/files/patch-libbalsa_mailbox_mh.c248
-rw-r--r--mail/balsa/files/patch-libbalsa_misc.c12
-rw-r--r--mail/balsa/files/patch-src_print-gtk.c17
-rw-r--r--mail/balsa/files/patch-src_threads.h12
-rw-r--r--mail/balsa/pkg-descr12
-rw-r--r--mail/balsa/pkg-plist194
15 files changed, 828 insertions, 0 deletions
diff --git a/mail/balsa/Makefile b/mail/balsa/Makefile
new file mode 100644
index 000000000..fc820a194
--- /dev/null
+++ b/mail/balsa/Makefile
@@ -0,0 +1,92 @@
+# New ports collection makefile for: balsa
+# Date created: 02 December 1998
+# Whom: Glenn Johnson <gljohns@bellsouth.net>
+#
+# $FreeBSD$
+# $MCom: ports/mail/balsa/Makefile,v 1.10 2007/03/14 17:45:39 marcus Exp $
+#
+
+PORTNAME= balsa
+PORTVERSION= 2.3.15
+CATEGORIES= mail gnome
+MASTER_SITES= http://www.theochem.kth.se/~pawsa/balsa/
+DISTNAME= balsa-${PORTVERSION}
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= A mail reader for the GNOME 2 desktop
+
+LIB_DEPENDS= aspell.16:${PORTSDIR}/textproc/aspell \
+ pcre.0:${PORTSDIR}/devel/pcre \
+ esmtp.6:${PORTSDIR}/mail/libesmtp \
+ gmime-2.0.4:${PORTSDIR}/mail/gmime2
+
+USE_GMAKE= yes
+USE_BZIP2= yes
+USE_XLIB= yes
+INSTALLS_OMF= yes
+INSTALLS_ICONS= yes
+USE_PERL5= yes
+USE_OPENSSL= yes
+USE_GNOME= gnomeprefix intlhack gnomehack libgnomeui gtkhtml3 \
+ libgnomeprintui
+USE_GETTEXT= yes
+USE_AUTOTOOLS= libltdl:15
+USE_GCC= 3.4+
+GNU_CONFIGURE= yes
+USE_ICONV= yes
+CONFIGURE_ARGS= --enable-threads \
+ --enable-gtkhtml \
+ --disable-more-warnings \
+ --with-ssl \
+ --enable-gtkhtml=yes
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS}" \
+ LIBS="-L${LOCALBASE}/lib -liconv ${PTHREAD_LIBS}"
+
+MAN1= balsa.1
+
+OPTIONS= LDAP "Enable LDAP support" on \
+ GTKSPELL "Spell checking support" on \
+ GTKSV "Enable GtkSourceview support" on \
+ GPG "Enable GnuPG support" off
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_GPG)
+LIB_DEPENDS+= gpgme.15:${PORTSDIR}/security/gpgme
+CONFIGURE_ARGS+= --with-gpgme=${LOCALBASE}/bin/gpgme-config
+.endif
+
+.if !defined(WITHOUT_LDAP)
+USE_OPENLDAP= yes
+CONFIGURE_ARGS+= --with-ldap
+.endif
+
+.if !defined(WITHOUT_GTKSPELL)
+LIB_DEPENDS+= gtkspell.0:${PORTSDIR}/textproc/gtkspell
+CONFIGURE_ARGS+=--with-gtkspell
+.endif
+
+.if !defined(WITHOUT_GTKSV)
+USE_GNOME+= gtksourceview
+CONFIGURE_ARGS+=--with-gtksourceview
+.endif
+
+.if ${PREFIX}==${LOCALBASE}
+PLIST_SUB+= GTKICON="@comment "
+.else
+PLIST_SUB+= GTKICON=""
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|stdint.h|inttypes.h|g' \
+ ${WRKSRC}/libbalsa/mailbox_imap.c
+# PREFIX safeness
+ @${REINPLACE_CMD} -E \
+ -e 's|^(HICOLOR_ICON_DIR)[^/]+/|\1=${PREFIX}/|' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+
+post-install:
+ @${LOCALBASE}/bin/gtk-update-icon-cache -f -q --ignore-theme-index \
+ ${PREFIX}/share/balsa/hicolor
+
+.include <bsd.port.post.mk>
diff --git a/mail/balsa/distinfo b/mail/balsa/distinfo
new file mode 100644
index 000000000..42720c227
--- /dev/null
+++ b/mail/balsa/distinfo
@@ -0,0 +1,3 @@
+MD5 (balsa-2.3.15.tar.bz2) = 1f38726db84fb5a9b2e8bdfa3e11baf0
+SHA256 (balsa-2.3.15.tar.bz2) = 835e154f03ea6556c81cd5d408c4dd070e7658214f7c78e9eed0f7fa7fb42f6d
+SIZE (balsa-2.3.15.tar.bz2) = 2534332
diff --git a/mail/balsa/files/patch-configure b/mail/balsa/files/patch-configure
new file mode 100644
index 000000000..9e1f577c7
--- /dev/null
+++ b/mail/balsa/files/patch-configure
@@ -0,0 +1,70 @@
+--- configure.orig Thu May 3 23:07:19 2007
++++ configure Thu May 3 23:10:58 2007
+@@ -6120,7 +6120,7 @@ cat >>confdefs.h <<\_ACEOF
+ #define HAVE_GTK_PRINT 1
+ _ACEOF
+
+- gnome_print_extras=""
++ #gnome_print_extras=""
+ else
+ gnome_print_extras="libgnomeprint-2.2 >= 2.1.4 libgnomeprintui-2.2 >= 2.1.4"
+ fi
+@@ -6732,7 +6732,7 @@ if eval "test \"\${$as_ac_Lib+set}\" = s
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgtkhtml-$i $LIBS"
++LIBS="-lgtkhtml-$i $HTML_LIBS $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -7008,7 +7008,7 @@ if test "${ac_cv_lib_ldap_ldap_search+se
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lldap -llber -lresolv $LIBS"
++LIBS="-lldap -llber $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -7072,7 +7072,7 @@ cat >>confdefs.h <<\_ACEOF
+ #define ENABLE_LDAP 1
+ _ACEOF
+
+- LIBS="-lldap -llber -lresolv $LIBS"
++ LIBS="-lldap -llber $LIBS"
+ else
+ { { echo "$as_me:$LINENO: error: *** You enabled LDAP but ldap library is not found." >&5
+ echo "$as_me: error: *** You enabled LDAP but ldap library is not found." >&2;}
+@@ -8735,13 +8735,13 @@ _ACEOF
+ else
+
+
+-echo "$as_me:$LINENO: checking for new_pspell_manager in -lpspell" >&5
+-echo $ECHO_N "checking for new_pspell_manager in -lpspell... $ECHO_C" >&6
+-if test "${ac_cv_lib_pspell_new_pspell_manager+set}" = set; then
++echo "$as_me:$LINENO: checking for new_aspell_speller in -lpspell" >&5
++echo $ECHO_N "checking for new_aspell_speller in -lpspell... $ECHO_C" >&6
++if test "${ac_cv_lib_pspell_new_aspell_speller+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpspell -lstdc++ -lpspell-modules $LIBS"
++LIBS="-lpspell -lstdc++ $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+ _ACEOF
+@@ -8755,11 +8755,11 @@ extern "C"
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char new_pspell_manager ();
++char new_aspell_speller ();
+ int
+ main ()
+ {
+-new_pspell_manager ();
++new_aspell_speller ();
+ ;
+ return 0;
+ }
diff --git a/mail/balsa/files/patch-doc_omf.make b/mail/balsa/files/patch-doc_omf.make
new file mode 100644
index 000000000..dcc67260e
--- /dev/null
+++ b/mail/balsa/files/patch-doc_omf.make
@@ -0,0 +1,11 @@
+--- doc/omf.make.orig Mon Sep 16 02:46:07 2002
++++ doc/omf.make Mon Sep 16 02:46:37 2002
+@@ -27,7 +27,7 @@
+ #
+
+ omf_dest_dir=$(datadir)/omf/@PACKAGE@
+-scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper
++scrollkeeper_localstate_dir = /var/db/scrollkeeper
+
+ omf: omf_timestamp
+
diff --git a/mail/balsa/files/patch-libbalsa_imap_imap-handle.c b/mail/balsa/files/patch-libbalsa_imap_imap-handle.c
new file mode 100644
index 000000000..a7206c822
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_imap_imap-handle.c
@@ -0,0 +1,10 @@
+--- libbalsa/imap/imap-handle.c.orig Sun May 1 17:37:58 2005
++++ libbalsa/imap/imap-handle.c Tue May 3 01:39:13 2005
+@@ -23,6 +23,7 @@
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
++#include <netinet/in.h>
+ #include <netdb.h>
+ #include <glib.h>
+ #include <glib-object.h>
diff --git a/mail/balsa/files/patch-libbalsa_mailbox_local.c b/mail/balsa/files/patch-libbalsa_mailbox_local.c
new file mode 100644
index 000000000..90d988400
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_mailbox_local.c
@@ -0,0 +1,33 @@
+--- libbalsa/mailbox_local.c.orig Thu Dec 29 01:47:25 2005
++++ libbalsa/mailbox_local.c Thu Dec 29 01:48:23 2005
+@@ -375,7 +375,7 @@ typedef struct {
+ #else /* GLIB_CHECK_VERSION(2, 8, 0) */
+ int fd;
+ #endif /* GLIB_CHECK_VERSION(2, 8, 0) */
+- guint (*fileno)(LibBalsaMailboxLocal * local, guint msgno);
++ guint (*sti_fileno)(LibBalsaMailboxLocal * local, guint msgno);
+ LibBalsaMailboxLocal *local;
+ } LibBalsaMailboxLocalSaveTreeInfo;
+
+@@ -399,9 +399,9 @@ lbm_local_save_tree_item(guint msgno, gu
+ if (msgno == 0) {
+ info.msgno = msgno;
+ info.value.total = a;
+- } else if (save_info->fileno) {
+- info.msgno = save_info->fileno(save_info->local, msgno);
+- info.value.parent = save_info->fileno(save_info->local, a);
++ } else if (save_info->sti_fileno) {
++ info.msgno = save_info->sti_fileno(save_info->local, msgno);
++ info.value.parent = save_info->sti_fileno(save_info->local, a);
+ } else {
+ info.msgno = msgno;
+ info.value.parent = a;
+@@ -466,7 +466,7 @@ lbm_local_save_tree(LibBalsaMailboxLocal
+ return;
+ }
+
+- save_info.fileno = LIBBALSA_MAILBOX_LOCAL_GET_CLASS(local)->fileno;
++ save_info.sti_fileno = LIBBALSA_MAILBOX_LOCAL_GET_CLASS(local)->sti_fileno;
+ save_info.local = local;
+ #if GLIB_CHECK_VERSION(2, 8, 0)
+ save_info.array =
diff --git a/mail/balsa/files/patch-libbalsa_mailbox_local.h b/mail/balsa/files/patch-libbalsa_mailbox_local.h
new file mode 100644
index 000000000..985646513
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_mailbox_local.h
@@ -0,0 +1,11 @@
+--- libbalsa/mailbox_local.h.orig Thu Dec 29 01:49:05 2005
++++ libbalsa/mailbox_local.h Thu Dec 29 01:49:13 2005
+@@ -66,7 +66,7 @@ struct _LibBalsaMailboxLocalClass {
+ gint (*check_files)(const gchar * path, gboolean create);
+ void (*set_path)(LibBalsaMailboxLocal * local, const gchar * path);
+ void (*remove_files)(LibBalsaMailboxLocal * local);
+- guint (*fileno)(LibBalsaMailboxLocal * local, guint msgno);
++ guint (*sti_fileno)(LibBalsaMailboxLocal * local, guint msgno);
+ };
+
+ GObject *libbalsa_mailbox_local_new(const gchar * path, gboolean create);
diff --git a/mail/balsa/files/patch-libbalsa_mailbox_maildir.c b/mail/balsa/files/patch-libbalsa_mailbox_maildir.c
new file mode 100644
index 000000000..ee8d9dcb9
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_mailbox_maildir.c
@@ -0,0 +1,84 @@
+--- libbalsa/mailbox_maildir.c.orig Tue Dec 27 04:44:40 2005
++++ libbalsa/mailbox_maildir.c Thu Dec 29 01:52:57 2005
+@@ -25,6 +25,8 @@
+ #define _XOPEN_SOURCE 500
+ #define _XOPEN_SOURCE_EXTENDED 1
+
++#include <sys/types.h>
++#include <sys/stat.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
+@@ -50,7 +52,7 @@ struct message_info {
+ /* The message's order when parsing; needed for saving the message
+ * tree in a form that will match the msgnos when the mailbox is
+ * reopened. */
+- guint fileno;
++ guint mi_fileno;
+ };
+ #define REAL_FLAGS(flags) (flags & LIBBALSA_MESSAGE_FLAGS_REAL)
+ #define FLAGS_REALLY_DIFFER(orig_flags, flags) \
+@@ -194,7 +196,7 @@ libbalsa_mailbox_maildir_class_init(LibB
+ libbalsa_mailbox_local_class->set_path = lbm_maildir_set_path;
+ libbalsa_mailbox_local_class->remove_files = lbm_maildir_remove_files;
+ libbalsa_mailbox_local_class->load_message = lbm_maildir_load_message;
+- libbalsa_mailbox_local_class->fileno = lbm_maildir_fileno;
++ libbalsa_mailbox_local_class->sti_fileno = lbm_maildir_fileno;
+ }
+
+ static void
+@@ -408,7 +410,7 @@ static LibBalsaMessageFlag parse_filenam
+ }
+
+ static void lbm_maildir_parse(LibBalsaMailboxMaildir * mdir,
+- const gchar *subdir, guint * fileno)
++ const gchar *subdir, guint * md_fileno)
+ {
+ gchar *path;
+ GDir *dir;
+@@ -463,12 +465,12 @@ static void lbm_maildir_parse(LibBalsaMa
+ msg_info->key=key;
+ msg_info->filename=g_strdup(filename);
+ msg_info->flags = msg_info->orig_flags = flags;
+- msg_info->fileno = 0;
++ msg_info->mi_fileno = 0;
+ }
+ msg_info->subdir = subdir;
+- if (!msg_info->fileno)
++ if (!msg_info->mi_fileno)
+ /* First time we saw this key. */
+- msg_info->fileno = ++*fileno;
++ msg_info->mi_fileno = ++*md_fileno;
+ }
+ g_dir_close(dir);
+ }
+@@ -476,16 +478,16 @@ static void lbm_maildir_parse(LibBalsaMa
+ static void
+ lbm_maildir_parse_subdirs(LibBalsaMailboxMaildir * mdir)
+ {
+- guint msgno, fileno = 0;
++ guint msgno, md_fileno = 0;
+
+ for (msgno = mdir->msgno_2_msg_info->len; msgno > 0; --msgno) {
+ struct message_info *msg_info =
+ message_info_from_msgno(mdir, msgno);
+- msg_info->fileno = 0;
++ msg_info->mi_fileno = 0;
+ }
+
+- lbm_maildir_parse(mdir, "cur", &fileno);
+- lbm_maildir_parse(mdir, "new", &fileno);
++ lbm_maildir_parse(mdir, "cur", &md_fileno);
++ lbm_maildir_parse(mdir, "new", &md_fileno);
+ }
+
+ static gboolean
+@@ -927,7 +929,7 @@ lbm_maildir_fileno(LibBalsaMailboxLocal
+ msg_info =
+ message_info_from_msgno((LibBalsaMailboxMaildir *) local, msgno);
+
+- return msg_info->fileno;
++ return msg_info->mi_fileno;
+ }
+
+ /* Called with mailbox locked. */
diff --git a/mail/balsa/files/patch-libbalsa_mailbox_mbox.c b/mail/balsa/files/patch-libbalsa_mailbox_mbox.c
new file mode 100644
index 000000000..2511938ff
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_mailbox_mbox.c
@@ -0,0 +1,19 @@
+--- libbalsa/mailbox_mbox.c.orig Tue Dec 27 14:54:34 2005
++++ libbalsa/mailbox_mbox.c Thu Dec 29 01:44:01 2005
+@@ -26,6 +26,7 @@
+
+ #include <gmime/gmime-stream-fs.h>
+
++#include <sys/stat.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+@@ -214,7 +215,7 @@ lbm_mbox_check_files(const gchar * path,
+ } else if (create) {
+ gint fd;
+
+- if ((fd = creat(path, S_IRUSR | S_IWUSR)) == -1) {
++ if ((fd = open(path, O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR)) == -1) {
+ g_warning("An error:\n%s\n occurred while trying to "
+ "create the mailbox \"%s\"\n",
+ strerror(errno), path);
diff --git a/mail/balsa/files/patch-libbalsa_mailbox_mh.c b/mail/balsa/files/patch-libbalsa_mailbox_mh.c
new file mode 100644
index 000000000..35556110b
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_mailbox_mh.c
@@ -0,0 +1,248 @@
+--- libbalsa/mailbox_mh.c.orig Sat Sep 16 03:27:23 2006
++++ libbalsa/mailbox_mh.c Sat Dec 16 01:40:22 2006
+@@ -27,6 +27,8 @@
+ /* to compile this on BSD/Darwin */
+ #undef _POSIX_SOURCE
+
++#include <sys/types.h>
++#include <sys/stat.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <errno.h>
+@@ -46,7 +48,7 @@ struct message_info {
+ LibBalsaMessageFlag flags;
+ LibBalsaMessageFlag orig_flags;
+ LibBalsaMessage *message;
+- gint fileno;
++ gint mi_fileno;
+ };
+
+ static LibBalsaMailboxLocalClass *parent_class = NULL;
+@@ -278,7 +280,7 @@ libbalsa_mailbox_mh_load_config(LibBalsa
+
+ #define MH_BASENAME(msgno) \
+ g_strdup_printf((msgno->orig_flags & LIBBALSA_MESSAGE_FLAG_DELETED) ? \
+- ",%d" : "%d", msg_info->fileno)
++ ",%d" : "%d", msg_info->mi_fileno)
+
+ static GMimeStream *
+ libbalsa_mailbox_mh_get_message_stream(LibBalsaMailbox * mailbox,
+@@ -338,7 +340,7 @@ static gint
+ lbm_mh_compare_fileno(const struct message_info ** a,
+ const struct message_info ** b)
+ {
+- return (*a)->fileno - (*b)->fileno;
++ return (*a)->mi_fileno - (*b)->mi_fileno;
+ }
+
+ #define INVALID_FLAG ((unsigned) -1)
+@@ -357,7 +359,7 @@ lbm_mh_parse_mailbox(LibBalsaMailboxMh *
+
+ while ((filename = g_dir_read_name(dir)) != NULL) {
+ LibBalsaMessageFlag delete_flag = 0;
+- guint fileno;
++ guint mh_fileno;
+
+ if (filename[0] == ',') {
+ filename++;
+@@ -366,22 +368,22 @@ lbm_mh_parse_mailbox(LibBalsaMailboxMh *
+ if (lbm_mh_check_filename(filename) == FALSE)
+ continue;
+
+- if (sscanf(filename, "%d", &fileno) != 1)
++ if (sscanf(filename, "%d", &mh_fileno) != 1)
+ break; /* FIXME report error? */
+- if (fileno > mh->last_fileno)
+- mh->last_fileno = fileno;
++ if (mh_fileno > mh->last_fileno)
++ mh->last_fileno = mh_fileno;
+
+ if (add_msg_info && mh->messages_info) {
+ struct message_info *msg_info =
+ g_hash_table_lookup(mh->messages_info,
+- GINT_TO_POINTER(fileno));
++ GINT_TO_POINTER(mh_fileno));
+ if (!msg_info) {
+ msg_info = g_new0(struct message_info, 1);
+ msg_info->flags = INVALID_FLAG;
+ g_hash_table_insert(mh->messages_info,
+- GINT_TO_POINTER(fileno), msg_info);
++ GINT_TO_POINTER(mh_fileno), msg_info);
+ g_ptr_array_add(mh->msgno_2_msg_info, msg_info);
+- msg_info->fileno = fileno;
++ msg_info->mi_fileno = mh_fileno;
+ }
+ msg_info->orig_flags = delete_flag;
+ }
+@@ -399,17 +401,17 @@ static const gchar *LibBalsaMailboxMhRep
+ static const gchar *LibBalsaMailboxMhRecent = "recent:";
+
+ static void
+-lbm_mh_set_flag(LibBalsaMailboxMh * mh, guint fileno, LibBalsaMessageFlag flag)
++lbm_mh_set_flag(LibBalsaMailboxMh * mh, guint mh_fileno, LibBalsaMessageFlag flag)
+ {
+ struct message_info *msg_info;
+
+- if (!fileno)
++ if (!mh_fileno)
+ return;
+
+- msg_info = g_hash_table_lookup(mh->messages_info, GINT_TO_POINTER(fileno));
++ msg_info = g_hash_table_lookup(mh->messages_info, GINT_TO_POINTER(mh_fileno));
+
+ if (!msg_info) {
+- g_print("MH sequence info for nonexistent message %d\n", fileno);
++ g_print("MH sequence info for nonexistent message %d\n", mh_fileno);
+ return;
+ }
+
+@@ -438,7 +440,7 @@ lbm_mh_handle_seq_line(LibBalsaMailboxMh
+
+ for (seq = sequences; *seq; seq++) {
+ guint end = 0;
+- guint fileno;
++ guint mh_fileno;
+
+ if (!**seq)
+ continue;
+@@ -449,11 +451,11 @@ lbm_mh_handle_seq_line(LibBalsaMailboxMh
+ if (sscanf(line, "%d", &end) != 1)
+ break; /* FIXME report error? */
+ }
+- if (sscanf(*seq, "%d", &fileno) != 1)
++ if (sscanf(*seq, "%d", &mh_fileno) != 1)
+ break; /* FIXME report error? */
+ do
+- lbm_mh_set_flag(mh, fileno, flag);
+- while (++fileno <= end);
++ lbm_mh_set_flag(mh, mh_fileno, flag);
++ while (++mh_fileno <= end);
+ }
+
+ g_strfreev(sequences);
+@@ -585,7 +587,7 @@ lbm_mh_check(LibBalsaMailboxMh * mh, con
+ sequences = g_strsplit(p, " ", 0);
+ for (seq = sequences; *seq; seq++) {
+ guint end = 0;
+- guint fileno;
++ guint mh_fileno;
+
+ if (!**seq)
+ continue;
+@@ -596,15 +598,15 @@ lbm_mh_check(LibBalsaMailboxMh * mh, con
+ if (sscanf(p, "%d", &end) != 1)
+ break; /* FIXME report error? */
+ }
+- if (sscanf(*seq, "%d", &fileno) != 1)
++ if (sscanf(*seq, "%d", &mh_fileno) != 1)
+ break; /* FIXME report error? */
+ do {
+- p = g_strdup_printf("%s/%d", path, fileno);
++ p = g_strdup_printf("%s/%d", path, mh_fileno);
+ if (access(p, F_OK) == 0)
+ retval = TRUE;
+ g_free(p);
+ /* One undeleted unread message is enough. */
+- } while (!retval && ++fileno <= end);
++ } while (!retval && ++mh_fileno <= end);
+ }
+ g_strfreev(sequences);
+ break;
+@@ -691,7 +693,7 @@ libbalsa_mailbox_mh_check(LibBalsaMailbo
+ else {
+ g_ptr_array_remove(mh->msgno_2_msg_info, msg_info);
+ g_hash_table_remove(mh->messages_info,
+- GINT_TO_POINTER(msg_info->fileno));
++ GINT_TO_POINTER(msg_info->mi_fileno));
+ libbalsa_mailbox_local_msgno_removed(mailbox, msgno);
+ if (renumber > msgno)
+ /* First message that needs renumbering. */
+@@ -768,11 +770,11 @@ lbm_mh_flag_line(struct message_info *ms
+ if (!(msg_info->flags & flag))
+ return;
+
+- if (li->last < msg_info->fileno - 1) {
++ if (li->last < msg_info->mi_fileno - 1) {
+ lbm_mh_print_line(li);
+- li->first = msg_info->fileno;
++ li->first = msg_info->mi_fileno;
+ }
+- li->last = msg_info->fileno;
++ li->last = msg_info->mi_fileno;
+ }
+
+ static gboolean
+@@ -853,7 +855,7 @@ libbalsa_mailbox_mh_sync(LibBalsaMailbox
+ /* free old information */
+ g_ptr_array_remove(mh->msgno_2_msg_info, msg_info);
+ g_hash_table_remove(mh->messages_info,
+- GINT_TO_POINTER(msg_info->fileno));
++ GINT_TO_POINTER(msg_info->mi_fileno));
+ libbalsa_mailbox_local_msgno_removed(mailbox, msgno);
+ } else {
+ lbm_mh_flag_line(msg_info, LIBBALSA_MESSAGE_FLAG_NEW, &unseen);
+@@ -1084,7 +1086,7 @@ libbalsa_mailbox_mh_fetch_message_struct
+ * we'll just add new lines and let the next sync merge them with any
+ * existing lines. */
+ static void
+-lbm_mh_update_sequences(LibBalsaMailboxMh * mh, gint fileno,
++lbm_mh_update_sequences(LibBalsaMailboxMh * mh, gint mh_fileno,
+ LibBalsaMessageFlag flags)
+ {
+ FILE *fp;
+@@ -1095,13 +1097,13 @@ lbm_mh_update_sequences(LibBalsaMailboxM
+ return;
+
+ if (flags & LIBBALSA_MESSAGE_FLAG_NEW)
+- fprintf(fp, "unseen: %d\n", fileno);
++ fprintf(fp, "unseen: %d\n", mh_fileno);
+ if (flags & LIBBALSA_MESSAGE_FLAG_FLAGGED)
+- fprintf(fp, "flagged: %d\n", fileno);
++ fprintf(fp, "flagged: %d\n", mh_fileno);
+ if (flags & LIBBALSA_MESSAGE_FLAG_REPLIED)
+- fprintf(fp, "replied: %d\n", fileno);
++ fprintf(fp, "replied: %d\n", mh_fileno);
+ if (flags & LIBBALSA_MESSAGE_FLAG_RECENT)
+- fprintf(fp, "recent: %d\n", fileno);
++ fprintf(fp, "recent: %d\n", mh_fileno);
+ fclose(fp);
+ }
+
+@@ -1118,7 +1120,7 @@ libbalsa_mailbox_mh_add_message(LibBalsa
+ int fd;
+ GMimeStream *out_stream;
+ GMimeFilter *crlffilter;
+- int fileno;
++ int mh_fileno;
+ int retries;
+ GMimeStream *in_stream;
+
+@@ -1161,14 +1163,14 @@ libbalsa_mailbox_mh_add_message(LibBalsa
+ libbalsa_mime_stream_shared_unlock(stream);
+ g_object_unref(in_stream);
+
+- fileno = mh->last_fileno;
++ mh_fileno = mh->last_fileno;
+ retries = 10;
+ do {
+ /* rename tempfile to message-number-name */
+ char *new_filename;
+ gint rename_status;
+
+- new_filename = g_strdup_printf("%s/%d", path, ++fileno);
++ new_filename = g_strdup_printf("%s/%d", path, ++mh_fileno);
+ rename_status = libbalsa_safe_rename(tmp, new_filename);
+ g_free(new_filename);
+ if (rename_status != -1)
+@@ -1191,9 +1193,9 @@ libbalsa_mailbox_mh_add_message(LibBalsa
+ "Too high activity?");
+ return FALSE;
+ }
+- mh->last_fileno = fileno;
++ mh->last_fileno = mh_fileno;
+
+- lbm_mh_update_sequences(mh, fileno,
++ lbm_mh_update_sequences(mh, mh_fileno,
+ flags | LIBBALSA_MESSAGE_FLAG_RECENT);
+
+ return TRUE;
diff --git a/mail/balsa/files/patch-libbalsa_misc.c b/mail/balsa/files/patch-libbalsa_misc.c
new file mode 100644
index 000000000..22af56e0e
--- /dev/null
+++ b/mail/balsa/files/patch-libbalsa_misc.c
@@ -0,0 +1,12 @@
+--- libbalsa/misc.c.orig Fri Feb 18 18:05:54 2005
++++ libbalsa/misc.c Sat Mar 19 14:44:04 2005
+@@ -23,7 +23,9 @@
+ #include "config.h"
+
+ #define _SVID_SOURCE 1
++#ifndef __FreeBSD__
+ #define _XOPEN_SOURCE 500
++#endif
+ #include <ctype.h>
+ #include <dirent.h>
+ #include <errno.h>
diff --git a/mail/balsa/files/patch-src_print-gtk.c b/mail/balsa/files/patch-src_print-gtk.c
new file mode 100644
index 000000000..2e2d0ae70
--- /dev/null
+++ b/mail/balsa/files/patch-src_print-gtk.c
@@ -0,0 +1,17 @@
+--- src/print-gtk.c.orig Thu May 3 22:59:46 2007
++++ src/print-gtk.c Thu May 3 23:01:30 2007
+@@ -378,12 +378,14 @@ get_default_user_units(void)
+ gchar *e = _("default:mm");
+
+ #ifdef HAVE_LANGINFO
++#ifdef _NL_MEASUREMENT_MEASUREMENT
+ gchar *imperial = NULL;
+
+ imperial = nl_langinfo(_NL_MEASUREMENT_MEASUREMENT);
+ if (imperial && imperial[0] == 2 )
+ return GTK_UNIT_INCH; /* imperial */
+ if (imperial && imperial[0] == 1 )
++#endif
+ return GTK_UNIT_MM; /* metric */
+ #endif
+
diff --git a/mail/balsa/files/patch-src_threads.h b/mail/balsa/files/patch-src_threads.h
new file mode 100644
index 000000000..62c60b878
--- /dev/null
+++ b/mail/balsa/files/patch-src_threads.h
@@ -0,0 +1,12 @@
+--- src/threads.h.orig Tue Dec 31 14:06:47 2002
++++ src/threads.h Tue Dec 31 14:07:32 2002
+@@ -21,6 +21,9 @@
+
+ #ifndef __THREADS_H__
+ #define __THREADS_H__
++
++#include <pthread.h>
++
+ /* FIXME: mailbox_lock is really an internal libbalsa mutex. */
+ extern pthread_mutex_t mailbox_lock;
+
diff --git a/mail/balsa/pkg-descr b/mail/balsa/pkg-descr
new file mode 100644
index 000000000..06d18a364
--- /dev/null
+++ b/mail/balsa/pkg-descr
@@ -0,0 +1,12 @@
+A mail reader for GNOME 2. It supports local mail, pop3, and IMAP. It can
+view mail files in mbox, maildir, and mh format.
+
+The pop3 support is not complete. All mail retrieved will be left on the
+server, and hence retrieved again if not deleted through some other pop3
+client. Using fetchmail would be recommended to retrieve pop3 mail.
+
+Balsa is probably not fully usable as one's primary mail client at this
+time. However, it is under active development and fits with other gnome
+applications.
+
+WWW: http://balsa.gnome.org/
diff --git a/mail/balsa/pkg-plist b/mail/balsa/pkg-plist
new file mode 100644
index 000000000..4a0637f06
--- /dev/null
+++ b/mail/balsa/pkg-plist
@@ -0,0 +1,194 @@
+bin/balsa
+bin/balsa-ab
+etc/sound/events/balsa.soundlist
+libdata/bonobo/servers/GNOME_Balsa.server
+share/applications/balsa.desktop
+share/balsa/hicolor/16x16/apps/balsa-encrypted.png
+share/balsa/hicolor/16x16/apps/balsa-mark-all.png
+share/balsa/hicolor/16x16/apps/balsa-mbox-draft.png
+share/balsa/hicolor/16x16/apps/balsa-mbox-sent.png
+share/balsa/hicolor/16x16/apps/balsa-mbox-tray-empty.png
+share/balsa/hicolor/16x16/apps/balsa-mbox-tray-full.png
+share/balsa/hicolor/16x16/apps/balsa-next-flagged.png
+share/balsa/hicolor/16x16/apps/balsa-next-part.png
+share/balsa/hicolor/16x16/apps/balsa-next-unread.png
+share/balsa/hicolor/16x16/apps/balsa-next.png
+share/balsa/hicolor/16x16/apps/balsa-postpone.png
+share/balsa/hicolor/16x16/apps/balsa-previous-part.png
+share/balsa/hicolor/16x16/apps/balsa-previous.png
+share/balsa/hicolor/16x16/apps/balsa-reply-all.png
+share/balsa/hicolor/16x16/apps/balsa-signature-bad.png
+share/balsa/hicolor/16x16/apps/balsa-signature-good.png
+share/balsa/hicolor/16x16/apps/balsa-signature-notrust.png
+share/balsa/hicolor/16x16/apps/balsa-signature-unknown.png
+share/balsa/hicolor/22x22
+share/balsa/hicolor/24x24/apps/balsa-crypt-check.png
+share/balsa/hicolor/24x24/apps/balsa-encrypt.png
+share/balsa/hicolor/24x24/apps/balsa-encrypted.png
+share/balsa/hicolor/24x24/apps/balsa-mark-all.png
+share/balsa/hicolor/24x24/apps/balsa-marked-new.png
+share/balsa/hicolor/24x24/apps/balsa-next-flagged.png
+share/balsa/hicolor/24x24/apps/balsa-next-part.png
+share/balsa/hicolor/24x24/apps/balsa-next-unread.png
+share/balsa/hicolor/24x24/apps/balsa-next.png
+share/balsa/hicolor/24x24/apps/balsa-postpone.png
+share/balsa/hicolor/24x24/apps/balsa-preview.png
+share/balsa/hicolor/24x24/apps/balsa-previous-part.png
+share/balsa/hicolor/24x24/apps/balsa-previous.png
+share/balsa/hicolor/24x24/apps/balsa-reply-all.png
+share/balsa/hicolor/24x24/apps/balsa-sign.png
+share/balsa/hicolor/24x24/apps/balsa-signature-bad.png
+share/balsa/hicolor/24x24/apps/balsa-signature-good.png
+share/balsa/hicolor/24x24/apps/balsa-signature-notrust.png
+share/balsa/hicolor/24x24/apps/balsa-signature-unknown.png
+share/balsa/hicolor/24x24/apps/balsa-trash-empty.png
+share/balsa/hicolor/icon-theme.cache
+share/balsa/pixmaps/attachment.png
+share/balsa/pixmaps/balsa-logo.png
+share/balsa/pixmaps/balsa-top.png
+share/balsa/pixmaps/balsa-watermark.png
+share/balsa/pixmaps/balsa_icon.png
+share/balsa/pixmaps/balsa_logo.png
+share/gnome/help/balsa/C/balsa.xml
+share/gnome/help/balsa/C/fdl-appendix.xml
+share/gnome/help/balsa/C/figures/address-book-ldap.png
+share/gnome/help/balsa/C/figures/address-book-modify.png
+share/gnome/help/balsa/C/figures/address-book-start.png
+share/gnome/help/balsa/C/figures/address-book-vcard.png
+share/gnome/help/balsa/C/figures/address-book.png
+share/gnome/help/balsa/C/figures/balsa_logo.png
+share/gnome/help/balsa/C/figures/druid-start.png
+share/gnome/help/balsa/C/figures/example-alias.png
+share/gnome/help/balsa/C/figures/figuresdobaaddress-book-modify.png
+share/gnome/help/balsa/C/figures/main-window-toolbar.png
+share/gnome/help/balsa/C/figures/main-window.png
+share/gnome/help/balsa/C/figures/message-window.png
+share/gnome/help/balsa/C/figures/msg-part-select.png
+share/gnome/help/balsa/C/figures/newmsg-window-attachments.png
+share/gnome/help/balsa/C/figures/newmsg-window-toolbar.png
+share/gnome/help/balsa/C/figures/newmsg-window.png
+share/gnome/help/balsa/C/figures/preferences-window.png
+share/gnome/help/balsa/C/figures/spell-check.png
+share/idl/Balsa.idl
+share/omf/balsa/balsa-C.omf
+share/pixmaps/gnome-balsa2.png
+share/sounds/balsa/newmail.wav
+share/sounds/balsa/startup.wav
+share/icons/hicolor/48x48/mimetypes/gnome-mime-application-pgp-signature.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-application-pkcs7-mime.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-application-pkcs7-signature.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-application-x-pkcs7-signature.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-message-disposition-notification.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-message-external-body.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-message.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-multipart-alternative.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-multipart-encrypted.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-multipart-signed.png
+share/icons/hicolor/48x48/mimetypes/gnome-mime-multipart.png
+share/locale/am/LC_MESSAGES/balsa.mo
+share/locale/ar/LC_MESSAGES/balsa.mo
+share/locale/az/LC_MESSAGES/balsa.mo
+share/locale/bg/LC_MESSAGES/balsa.mo
+share/locale/ca/LC_MESSAGES/balsa.mo
+share/locale/cs/LC_MESSAGES/balsa.mo
+share/locale/da/LC_MESSAGES/balsa.mo
+share/locale/de/LC_MESSAGES/balsa.mo
+share/locale/dz/LC_MESSAGES/balsa.mo
+share/locale/el/LC_MESSAGES/balsa.mo
+share/locale/en_CA/LC_MESSAGES/balsa.mo
+share/locale/en_GB/LC_MESSAGES/balsa.mo
+share/locale/es/LC_MESSAGES/balsa.mo
+share/locale/et/LC_MESSAGES/balsa.mo
+share/locale/fi/LC_MESSAGES/balsa.mo
+share/locale/fr/LC_MESSAGES/balsa.mo
+share/locale/ga/LC_MESSAGES/balsa.mo
+share/locale/he/LC_MESSAGES/balsa.mo
+share/locale/hi/LC_MESSAGES/balsa.mo
+share/locale/hr/LC_MESSAGES/balsa.mo
+share/locale/hu/LC_MESSAGES/balsa.mo
+share/locale/id/LC_MESSAGES/balsa.mo
+share/locale/it/LC_MESSAGES/balsa.mo
+share/locale/ja/LC_MESSAGES/balsa.mo
+share/locale/ko/LC_MESSAGES/balsa.mo
+share/locale/lt/LC_MESSAGES/balsa.mo
+share/locale/lv/LC_MESSAGES/balsa.mo
+share/locale/ml/LC_MESSAGES/balsa.mo
+share/locale/ms/LC_MESSAGES/balsa.mo
+share/locale/nb/LC_MESSAGES/balsa.mo
+share/locale/ne/LC_MESSAGES/balsa.mo
+share/locale/nl/LC_MESSAGES/balsa.mo
+share/locale/nn/LC_MESSAGES/balsa.mo
+share/locale/oc/LC_MESSAGES/balsa.mo
+share/locale/pa/LC_MESSAGES/balsa.mo
+share/locale/pl/LC_MESSAGES/balsa.mo
+share/locale/pt/LC_MESSAGES/balsa.mo
+share/locale/pt_BR/LC_MESSAGES/balsa.mo
+share/locale/ro/LC_MESSAGES/balsa.mo
+share/locale/ru/LC_MESSAGES/balsa.mo
+share/locale/rw/LC_MESSAGES/balsa.mo
+share/locale/sk/LC_MESSAGES/balsa.mo
+share/locale/sl/LC_MESSAGES/balsa.mo
+share/locale/sq/LC_MESSAGES/balsa.mo
+share/locale/sr/LC_MESSAGES/balsa.mo
+share/locale/sr@Latn/LC_MESSAGES/balsa.mo
+share/locale/sv/LC_MESSAGES/balsa.mo
+share/locale/tr/LC_MESSAGES/balsa.mo
+share/locale/uk/LC_MESSAGES/balsa.mo
+share/locale/vi/LC_MESSAGES/balsa.mo
+share/locale/wa/LC_MESSAGES/balsa.mo
+share/locale/zh_CN/LC_MESSAGES/balsa.mo
+share/locale/zh_HK/LC_MESSAGES/balsa.mo
+share/locale/zh_TW/LC_MESSAGES/balsa.mo
+@dirrm share/sounds/balsa
+@dirrm share/omf/balsa
+%%GTKICON%%@dirrmtry share/icons/hicolor/48x48/mimetypes
+@dirrm share/gnome/help/balsa/C/figures
+@dirrm share/gnome/help/balsa/C
+@dirrm share/gnome/help/balsa
+@dirrm share/balsa/pixmaps
+@dirrm share/balsa/hicolor/24x24/apps
+@dirrm share/balsa/hicolor/24x24
+@dirrm share/balsa/hicolor/16x16/apps
+@dirrm share/balsa/hicolor/16x16
+@dirrm share/balsa/hicolor
+@dirrm share/balsa
+@dirrmtry share/locale/zh_TW/LC_MESSAGES
+@dirrmtry share/locale/zh_TW
+@dirrmtry share/locale/zh_HK/LC_MESSAGES
+@dirrmtry share/locale/zh_HK
+@dirrmtry share/locale/zh_CN/LC_MESSAGES
+@dirrmtry share/locale/zh_CN
+@dirrmtry share/locale/uk/LC_MESSAGES
+@dirrmtry share/locale/uk
+@dirrmtry share/locale/sr/LC_MESSAGES
+@dirrmtry share/locale/sr
+@dirrmtry share/locale/sl/LC_MESSAGES
+@dirrmtry share/locale/sl
+@dirrmtry share/locale/sk/LC_MESSAGES
+@dirrmtry share/locale/sk
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
+@dirrmtry share/locale/ro/LC_MESSAGES
+@dirrmtry share/locale/ro
+@dirrmtry share/locale/pt/LC_MESSAGES
+@dirrmtry share/locale/pt
+@dirrmtry share/locale/pl/LC_MESSAGES
+@dirrmtry share/locale/pl
+@dirrmtry share/locale/oc/LC_MESSAGES
+@dirrmtry share/locale/oc
+@dirrmtry share/locale/nn/LC_MESSAGES
+@dirrmtry share/locale/nn
+@dirrmtry share/locale/ne/LC_MESSAGES
+@dirrmtry share/locale/ne
+@dirrmtry share/locale/ko/LC_MESSAGES
+@dirrmtry share/locale/ko
+@dirrmtry share/locale/fi/LC_MESSAGES
+@dirrmtry share/locale/fi
+@dirrmtry share/locale/el/LC_MESSAGES
+@dirrmtry share/locale/el
+@dirrmtry share/locale/dz/LC_MESSAGES
+@dirrmtry share/locale/dz
+@dirrmtry share/locale/cs/LC_MESSAGES
+@dirrmtry share/locale/cs
+@dirrmtry share/locale/ca/LC_MESSAGES
+@dirrmtry share/locale/ca