summaryrefslogtreecommitdiffstats
path: root/mail/balsa
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2007-03-13 14:01:04 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2007-03-13 14:01:04 +0800
commitb431c0abd8361e7410a6875ffd14bbac4f850cdf (patch)
treefa4e41a4d4426cff373eace8f511b7d872a22c2e /mail/balsa
parent8cd9909f391159c0779c4e73b0556c03ee3305a8 (diff)
downloadmarcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.tar
marcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.tar.gz
marcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.tar.bz2
marcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.tar.lz
marcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.tar.xz
marcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.tar.zst
marcuscom-ports-b431c0abd8361e7410a6875ffd14bbac4f850cdf.zip
Chase the gtkhtml3 internal version change.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@8544 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'mail/balsa')
-rw-r--r--mail/balsa/Makefile88
-rw-r--r--mail/balsa/distinfo3
-rw-r--r--mail/balsa/files/patch-configure52
-rw-r--r--mail/balsa/files/patch-doc_omf.make11
-rw-r--r--mail/balsa/files/patch-doc_xmldocs.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_main.c11
-rw-r--r--mail/balsa/files/patch-src_threads.h12
-rw-r--r--mail/balsa/pkg-descr12
-rw-r--r--mail/balsa/pkg-plist188
16 files changed, 805 insertions, 0 deletions
diff --git a/mail/balsa/Makefile b/mail/balsa/Makefile
new file mode 100644
index 000000000..7092201a8
--- /dev/null
+++ b/mail/balsa/Makefile
@@ -0,0 +1,88 @@
+# New ports collection makefile for: balsa
+# Date created: 02 December 1998
+# Whom: Glenn Johnson <gljohns@bellsouth.net>
+#
+# $FreeBSD: ports/mail/balsa/Makefile,v 1.119 2006/12/16 06:48:39 marcus Exp $
+# $MCom: ports/mail/balsa/Makefile,v 1.7 2006/07/27 17:09:22 mezz Exp $
+#
+
+PORTNAME= balsa
+PORTVERSION= 2.3.14
+PORTREVISION= 1
+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 libgnomeprintui \
+ gtkhtml3
+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"
+
+MAN1= balsa.1
+
+OPTIONS= LDAP "Enable LDAP support" on \
+ GTKSPELL "Spell checking 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 ${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}/| ; \
+ s|libgtkhtml-3.8|libgtkhtml-3.14|g' \
+ ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+
+post-install:
+ @${LOCALBASE}/bin/gtk-update-icon-cache -f -q --ignore-theme-index \
+ ${PREFIX}/share/gnome/balsa/hicolor
+
+.include <bsd.port.post.mk>
diff --git a/mail/balsa/distinfo b/mail/balsa/distinfo
new file mode 100644
index 000000000..4d5000080
--- /dev/null
+++ b/mail/balsa/distinfo
@@ -0,0 +1,3 @@
+MD5 (balsa-2.3.14.tar.bz2) = 6a86f8bebc21bd279b9fd4d2a21a36c0
+SHA256 (balsa-2.3.14.tar.bz2) = aecb8262a33e17ddba99a0171bc9595008e584fd0eb4dc2bff4e36a3b43503fb
+SIZE (balsa-2.3.14.tar.bz2) = 2372012
diff --git a/mail/balsa/files/patch-configure b/mail/balsa/files/patch-configure
new file mode 100644
index 000000000..730ae6d7e
--- /dev/null
+++ b/mail/balsa/files/patch-configure
@@ -0,0 +1,52 @@
+--- configure.orig Sat Mar 19 14:39:26 2005
++++ configure Sat Mar 19 14:40:24 2005
+@@ -21821,7 +21821,7 @@
+ 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
+@@ -21885,7 +21885,7 @@
+ #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;}
+@@ -22664,13 +22664,13 @@
+ 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
+@@ -22684,11 +22684,11 @@
+ #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-doc_xmldocs.make b/mail/balsa/files/patch-doc_xmldocs.make
new file mode 100644
index 000000000..9379b0d60
--- /dev/null
+++ b/mail/balsa/files/patch-doc_xmldocs.make
@@ -0,0 +1,11 @@
+--- doc/xmldocs.make.orig Wed Sep 18 07:12:20 2002
++++ doc/xmldocs.make Tue Oct 29 12:20:37 2002
+@@ -36,7 +36,7 @@
+ # ************* Begin of section some packagers may need to modify **************
+ # This variable (docdir) specifies where the documents should be installed.
+ # This default value should work for most packages.
+-docdir = $(datadir)/gnome/help/$(docname)/$(lang)
++docdir = $(datadir)/help/$(docname)/$(lang)
+
+ # ************** You should not have to edit below this line *******************
+ xml_files = $(entities) $(docname).xml
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_main.c b/mail/balsa/files/patch-src_main.c
new file mode 100644
index 000000000..044e51dd9
--- /dev/null
+++ b/mail/balsa/files/patch-src_main.c
@@ -0,0 +1,11 @@
+--- src/main.c.orig Sun Jan 18 06:39:47 2004
++++ src/main.c Sun Jan 18 21:38:15 2004
+@@ -233,7 +233,7 @@
+ gnome_program_init(PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv,
+ GNOME_PARAM_POPT_TABLE, options,
+ GNOME_PARAM_APP_PREFIX, BALSA_STD_PREFIX,
+- GNOME_PARAM_APP_DATADIR, BALSA_STD_PREFIX "/share",
++ GNOME_PARAM_APP_DATADIR, BALSA_STD_PREFIX "/share/gnome",
+ GNOME_PARAM_HUMAN_READABLE_NAME, _("The Balsa E-Mail Client"),
+ NULL);
+
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..e443601f1
--- /dev/null
+++ b/mail/balsa/pkg-plist
@@ -0,0 +1,188 @@
+bin/balsa
+bin/balsa-ab
+etc/sound/events/balsa.soundlist
+libdata/bonobo/servers/GNOME_Balsa.server
+share/gnome/applications/balsa.desktop
+share/gnome/balsa/hicolor/16x16/apps/balsa-encrypted.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-mark-all.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-mbox-draft.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-mbox-sent.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-mbox-tray-empty.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-mbox-tray-full.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-next-flagged.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-next-part.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-next-unread.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-next.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-postpone.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-previous-part.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-previous.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-reply-all.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-signature-bad.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-signature-good.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-signature-notrust.png
+share/gnome/balsa/hicolor/16x16/apps/balsa-signature-unknown.png
+share/gnome/balsa/hicolor/22x22
+share/gnome/balsa/hicolor/24x24/apps/balsa-crypt-check.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-encrypt.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-encrypted.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-mark-all.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-marked-new.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-next-flagged.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-next-part.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-next-unread.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-next.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-postpone.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-preview.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-previous-part.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-previous.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-reply-all.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-sign.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-signature-bad.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-signature-good.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-signature-notrust.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-signature-unknown.png
+share/gnome/balsa/hicolor/24x24/apps/balsa-trash-empty.png
+share/gnome/balsa/hicolor/icon-theme.cache
+share/gnome/balsa/pixmaps/attachment.png
+share/gnome/balsa/pixmaps/balsa-logo.png
+share/gnome/balsa/pixmaps/balsa-top.png
+share/gnome/balsa/pixmaps/balsa-watermark.png
+share/gnome/balsa/pixmaps/balsa_icon.png
+share/gnome/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/gnome/idl/Balsa.idl
+share/gnome/omf/balsa/balsa-C.omf
+share/gnome/pixmaps/gnome-balsa2.png
+share/gnome/sounds/balsa/newmail.wav
+share/gnome/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/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/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/gnome/sounds/balsa
+@dirrm share/gnome/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/gnome/balsa/pixmaps
+@dirrm share/gnome/balsa/hicolor/24x24/apps
+@dirrm share/gnome/balsa/hicolor/24x24
+@dirrm share/gnome/balsa/hicolor/16x16/apps
+@dirrm share/gnome/balsa/hicolor/16x16
+@dirrm share/gnome/balsa/hicolor
+@dirrm share/gnome/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/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/cs/LC_MESSAGES
+@dirrmtry share/locale/cs
+@dirrmtry share/locale/ca/LC_MESSAGES
+@dirrmtry share/locale/ca