summaryrefslogtreecommitdiff
path: root/mail/elmo
diff options
context:
space:
mode:
authordholland <dholland@pkgsrc.org>2008-08-31 20:09:12 +0000
committerdholland <dholland@pkgsrc.org>2008-08-31 20:09:12 +0000
commit5a0c87f1f486e2544cdc27cf637770b4db036b9d (patch)
treea1148a1bb53417a5c9b62fc9a69938208aca3633 /mail/elmo
parent458177cbd8645df708fa9474c479d49d39110797 (diff)
downloadpkgsrc-5a0c87f1f486e2544cdc27cf637770b4db036b9d.tar.gz
Don't do a global s/==/=/ in the configure script; that breaks stuff.
Patch the uses of test == instead. Fixes broken build. Also, fix interpreter handling in the installed perl script, and fix some 64-bit issues. Mark that destdir support works. PKGREVISION++
Diffstat (limited to 'mail/elmo')
-rw-r--r--mail/elmo/Makefile14
-rw-r--r--mail/elmo/distinfo12
-rw-r--r--mail/elmo/patches/patch-ab46
-rw-r--r--mail/elmo/patches/patch-ac13
-rw-r--r--mail/elmo/patches/patch-ad53
-rw-r--r--mail/elmo/patches/patch-ae22
-rw-r--r--mail/elmo/patches/patch-af22
-rw-r--r--mail/elmo/patches/patch-ag34
-rw-r--r--mail/elmo/patches/patch-ah22
-rw-r--r--mail/elmo/patches/patch-ai107
-rw-r--r--mail/elmo/patches/patch-aj14
11 files changed, 341 insertions, 18 deletions
diff --git a/mail/elmo/Makefile b/mail/elmo/Makefile
index a0dd00627d2..d39aa4310cd 100644
--- a/mail/elmo/Makefile
+++ b/mail/elmo/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2008/01/18 05:08:23 tnn Exp $
+# $NetBSD: Makefile,v 1.14 2008/08/31 20:09:12 dholland Exp $
#
DISTNAME= elmo-1.3.2
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=elmo/}
@@ -10,24 +10,20 @@ MAINTAINER= pkg@burningsoda.com
HOMEPAGE= http://elmo.sourceforge.net/
COMMENT= The ELectronic Mail Operator MUA
+PKG_DESTDIR_SUPPORT= user-destdir
+
USE_LANGUAGES= c c++
USE_PKGLOCALEDIR= yes
USE_TOOLS+= flex
GNU_CONFIGURE= yes
-REPLACE_PERL= elmoconf.pl
+REPLACE_PERL= src/elmoconf.pl
CONFIGURE_ARGS+= --with-gpgme-prefix=${BUILDLINK_PREFIX.gpgme}
CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl}
# I get segmentation faults when not compiled with debug enabled
CONFIGURE_ARGS+= --enable-debug
-SUBST_CLASSES+= tux
-SUBST_STAGE.tux= post-patch
-SUBST_FILES.tux= configure
-SUBST_SED.tux= -e "s|==|=|"
-SUBST_MESSAGE.tux= Fixing linuxifications.
-
.include "../../devel/ncurses/buildlink3.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../security/gpgme/buildlink3.mk"
diff --git a/mail/elmo/distinfo b/mail/elmo/distinfo
index 3c20ce610b2..a810a7945fc 100644
--- a/mail/elmo/distinfo
+++ b/mail/elmo/distinfo
@@ -1,7 +1,15 @@
-$NetBSD: distinfo,v 1.4 2005/07/16 15:40:56 wiz Exp $
+$NetBSD: distinfo,v 1.5 2008/08/31 20:09:12 dholland Exp $
SHA1 (elmo-1.3.2.tar.gz) = d4e7999ce85c17df082a016fd70ee4978cfe1043
RMD160 (elmo-1.3.2.tar.gz) = 3db1fafbbe38636459c4b1bbc3dae414e54c92d6
Size (elmo-1.3.2.tar.gz) = 536768 bytes
SHA1 (patch-aa) = 8bfed77e5b5bae8c649b7474a3e64a188fb96f75
-SHA1 (patch-ab) = 1c66367cda9e26b98dd475b9f87e51a74be239de
+SHA1 (patch-ab) = 64f3b1e5e913811da210b8df99076ba2dd3fd99c
+SHA1 (patch-ac) = 47287a753a78582c6d241df0af33b4231f658c50
+SHA1 (patch-ad) = 9c22a6eba18694cbbd6c8f51c467c0986a39d4f0
+SHA1 (patch-ae) = d0444df513bdf65a1fe85bfbcf273cd46dca80d2
+SHA1 (patch-af) = b6f2b8c95d720256405a47d598ca7f9703df2f3e
+SHA1 (patch-ag) = 4c6d8cc128265f7c9b5a10cca09f5ab8cd0c2e9a
+SHA1 (patch-ah) = e0607381e57acb0ea8d5939d0ed7ccae08c65ff9
+SHA1 (patch-ai) = 6e96d4bb861ffbec3e7836773133cb1c77e6510e
+SHA1 (patch-aj) = f974c1de88cc3957ce3a255a73ae690dff6cd9f1
diff --git a/mail/elmo/patches/patch-ab b/mail/elmo/patches/patch-ab
index 3faf5c97bc8..3c989425394 100644
--- a/mail/elmo/patches/patch-ab
+++ b/mail/elmo/patches/patch-ab
@@ -1,20 +1,52 @@
-$NetBSD: patch-ab,v 1.1 2005/07/16 15:40:56 wiz Exp $
+$NetBSD: patch-ab,v 1.2 2008/08/31 20:09:12 dholland Exp $
---- src/stats.c.orig Thu Apr 29 10:06:10 2004
-+++ src/stats.c
-@@ -185,6 +185,8 @@ stats_dump (void)
+--- src/stats.c.orig 2004-04-29 04:06:10.000000000 -0400
++++ src/stats.c 2008-08-31 16:01:50.000000000 -0400
+@@ -24,6 +24,8 @@
+ ****************************************************************************/
+
+ #include <errno.h>
++#include <stdint.h>
++#include <stdlib.h> /* for mkstemp */
+
+ #include "stats.h"
+ #include "wrapbox.h"
+@@ -76,7 +78,7 @@ increment (htable_t *table, char *str)
+ {
+ entry_t *entry = htable_insert (table, str, 0);
+
+- entry->content = (void *) ((int) entry->content + 1);
++ entry->content = (void *) ((intptr_t) entry->content + 1);
+ }
+
+
+@@ -144,11 +146,11 @@ dump_stat (entry_t *entry)
+ {
+ float percent;
+
+- percent = ((int) entry->content) /
++ percent = ((int)(intptr_t) entry->content) /
+ (float) (wrapbox_marray->count - no_field);
+
+ fprintf (dump_fp, " %d (%.2f%%) - ",
+- (int) entry->content, percent * 100.0);
++ (int)(intptr_t) entry->content, percent * 100.0);
+ print_key (dump_fp, entry->key);
+ }
+
+@@ -185,6 +187,8 @@ stats_dump (void)
FILE *fp;
mail_t *mail;
struct estats stats;
+ int fd;
+ char fn[25] = "/tmp/elmostats.XXXXXXXXX";
-
+
if (wrapbox_marray == NULL)
return;
-@@ -200,9 +202,12 @@ stats_dump (void)
+@@ -200,9 +204,12 @@ stats_dump (void)
process_mail (& stats, mail);
}
-
+
- fp = fopen ("/tmp/elmostats", "w");
- if (fp == NULL){
- error_ (errno, _("couldn't open %s"), "/tmp/elmostats");
diff --git a/mail/elmo/patches/patch-ac b/mail/elmo/patches/patch-ac
new file mode 100644
index 00000000000..c4320741692
--- /dev/null
+++ b/mail/elmo/patches/patch-ac
@@ -0,0 +1,13 @@
+$NetBSD: patch-ac,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/mbox.c~ 2004-02-22 16:58:59.000000000 -0500
++++ src/mbox.c 2008-08-31 15:28:12.000000000 -0400
+@@ -248,7 +248,7 @@ mbox_box_mail_count (const char *box, in
+ {
+ FILE *fp;
+ int ret;
+- int size;
++ size_t size;
+ int count;
+ char *body;
+ char *seek;
diff --git a/mail/elmo/patches/patch-ad b/mail/elmo/patches/patch-ad
new file mode 100644
index 00000000000..f2cf3453162
--- /dev/null
+++ b/mail/elmo/patches/patch-ad
@@ -0,0 +1,53 @@
+$NetBSD: patch-ad,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/mail.c.orig 2004-04-19 16:48:58.000000000 -0400
++++ src/mail.c 2008-08-31 15:41:26.000000000 -0400
+@@ -28,6 +28,7 @@
+ * IMPLEMENTATION HEADERS
+ ****************************************************************************/
+
++#include <stdint.h>
+ #include <string.h>
+ #include <errno.h>
+
+@@ -101,8 +102,9 @@ find_parent (mail_array_t *marray, htabl
+ }
+
+ if (entry){
+- parent = mail_array_get (marray, (int) entry->content);
+- mail->parent = (int) entry->content;
++ int index = (int)(intptr_t) entry->content;
++ parent = mail_array_get (marray, index);
++ mail->parent = index;
+ parent->child_count++;
+ }
+ else {
+@@ -124,8 +126,8 @@ put_msgid_into_hash (mail_array_t *marra
+ if (! mail->msg_id)
+ return;
+
+- entry = htable_insert (table, mail->msg_id, (void *) index);
+- if (entry->content != (void *) index)
++ entry = htable_insert (table, mail->msg_id, (void *)(intptr_t) index);
++ if (entry->content != (void *)(intptr_t) index)
+ mail->flags |= FLAG_DUPLICATE;
+ }
+
+@@ -878,7 +880,7 @@ prepare_nodes_array (mail_array_t *marra
+ for (i = 0; i < marray->count; i++){
+ mail = mail_array_get (marray, i);
+ nodes_array[i] = multree_create (mail->child_count);
+- nodes_array[i]->data = (void *) i;
++ nodes_array[i]->data = (void *)(intptr_t) i;
+ }
+ }
+
+@@ -886,7 +888,7 @@ prepare_nodes_array (mail_array_t *marra
+ static void
+ insert_mail (multree_t *node)
+ {
+- mail_t *mail = mail_array_get (sorted_array, (int) node->data);
++ mail_t *mail = mail_array_get (sorted_array, (int)(intptr_t) node->data);
+ multree_t *parent_node;
+
+ if (node == root)
diff --git a/mail/elmo/patches/patch-ae b/mail/elmo/patches/patch-ae
new file mode 100644
index 00000000000..786083ee80a
--- /dev/null
+++ b/mail/elmo/patches/patch-ae
@@ -0,0 +1,22 @@
+$NetBSD: patch-ae,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/maildir.c~ 2004-08-13 07:18:22.000000000 -0400
++++ src/maildir.c 2008-08-31 15:32:34.000000000 -0400
+@@ -347,7 +347,7 @@ reset_array (struct dirent **list, int c
+
+ for (i = 0; i < count; i++){
+ htable_insert (file_table, list[i]->d_name,
+- (void *) (i + base));
++ (void *)(intptr_t) (i + base));
+ }
+ }
+
+@@ -369,7 +369,7 @@ is_in_array (mail_t *mail)
+ if (entry == NULL)
+ return 0;
+
+- index = (int) entry->content;
++ index = (int)(intptr_t) entry->content;
+ bitarray_set (common_messages, index);
+ return 1;
+ }
diff --git a/mail/elmo/patches/patch-af b/mail/elmo/patches/patch-af
new file mode 100644
index 00000000000..ca0be35ce42
--- /dev/null
+++ b/mail/elmo/patches/patch-af
@@ -0,0 +1,22 @@
+$NetBSD: patch-af,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- configure~ 2004-08-14 08:28:07.000000000 -0400
++++ configure 2008-08-31 15:39:09.000000000 -0400
+@@ -11282,7 +11282,7 @@ fi
+
+
+ have_gpgme=no
+-if test "$GPGME4" == "no" ; then
++if test "$GPGME4" = "no" ; then
+
+ # Check whether --with-gpgme-prefix or --without-gpgme-prefix was given.
+ if test "${with_gpgme_prefix+set}" = set; then
+@@ -11398,7 +11398,7 @@ cat >>confdefs.h <<\_ACEOF
+ _ACEOF
+
+ fi
+-else if test "$GPGME4" == "yes" ; then
++else if test "$GPGME4" = "yes" ; then
+ echo "$as_me:$LINENO: checking for gpgme_check_version in -lgpgme4" >&5
+ echo $ECHO_N "checking for gpgme_check_version in -lgpgme4... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpgme4_gpgme_check_version+set}" = set; then
diff --git a/mail/elmo/patches/patch-ag b/mail/elmo/patches/patch-ag
new file mode 100644
index 00000000000..91543e4d5f3
--- /dev/null
+++ b/mail/elmo/patches/patch-ag
@@ -0,0 +1,34 @@
+$NetBSD: patch-ag,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/mime.c~ 2004-08-13 07:18:22.000000000 -0400
++++ src/mime.c 2008-08-31 15:50:42.000000000 -0400
+@@ -526,8 +526,9 @@ translate (struct rfc2047 *s, char *to)
+ {
+ int ret;
+ iconv_t id = iconv_open (to, s->charset);
+- char *inptr, *outptr, *result;
+- int insize, outsize, ressize;
++ const char *inptr;
++ char *outptr, *result;
++ size_t insize, outsize, ressize;
+ int bad_chars = 0;
+
+ if (id == (iconv_t) -1){
+@@ -557,10 +558,17 @@ translate (struct rfc2047 *s, char *to)
+ insize--;
+ }
+ if (errno == E2BIG){
++ if (ressize * 2 > ressize) {
+ result = xrealloc (result, ressize * 2);
+ outptr += ressize - outsize;
+ outsize += ressize;
+ ressize *= 2;
++ } else {
++ /* wrong: should report overflow */
++ /* (but don't want to patch in a new message string) */
++ bad_chars++;
++ insize = 0;
++ }
+ }
+ }
+
diff --git a/mail/elmo/patches/patch-ah b/mail/elmo/patches/patch-ah
new file mode 100644
index 00000000000..bd7a5f68c1e
--- /dev/null
+++ b/mail/elmo/patches/patch-ah
@@ -0,0 +1,22 @@
+$NetBSD: patch-ah,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/sender.c~ 2004-08-13 07:18:23.000000000 -0400
++++ src/sender.c 2008-08-31 15:53:02.000000000 -0400
+@@ -178,7 +178,7 @@ write_headers (FILE *fp, mime_t *mime, c
+
+
+ static int
+-get_buffer (mime_t *mime, char **place, int *size)
++get_buffer (mime_t *mime, char **place, size_t *size)
+ {
+ int ret;
+ FILE *fp;
+@@ -206,7 +206,7 @@ static int
+ write_attachment (FILE *fp, mime_t *mime)
+ {
+ char *buf;
+- int size;
++ size_t size;
+ str_t *str;
+
+ if (get_buffer (mime, & buf, & size))
diff --git a/mail/elmo/patches/patch-ai b/mail/elmo/patches/patch-ai
new file mode 100644
index 00000000000..c7f5c89e0b7
--- /dev/null
+++ b/mail/elmo/patches/patch-ai
@@ -0,0 +1,107 @@
+$NetBSD: patch-ai,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/bayes.c~ 2004-04-29 04:06:13.000000000 -0400
++++ src/bayes.c 2008-08-31 15:56:54.000000000 -0400
+@@ -32,6 +32,7 @@
+ * IMPLEMENTATION HEADERS
+ ****************************************************************************/
+
++#include <stdint.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <errno.h>
+@@ -222,7 +223,7 @@ static void
+ print_list_txt (FILE *fp, entry_t *l)
+ {
+ while (l){
+- fprintf (fp, "%d %s %d ", strlen (l->key), l->key, (int)l->content);
++ fprintf (fp, "%zu %s %ld ", strlen (l->key), l->key, (long)l->content);
+ l = l->next;
+ }
+ }
+@@ -300,7 +301,7 @@ load_table (FILE *fp, htable_t **table)
+ fread (&key_len, 1, sizeof (key_len), fp);
+ fread (key, 1, key_len + 1, fp);
+ fread (&content, 1, sizeof (content), fp);
+- htable_insert (*table, key, (void *) content);
++ htable_insert (*table, key, (void *)(intptr_t) content);
+ }
+ xfree (key);
+ }
+@@ -340,7 +341,7 @@ heap_value (int i)
+ if (word_heap[i] == NULL)
+ return PROB_NEUTRAL;
+
+- return (int) word_heap[i]->content;
++ return (int)(intptr_t) word_heap[i]->content;
+ }
+
+
+@@ -374,10 +375,10 @@ heap_internal_value (int i)
+ if (word_heap[i] == NULL)
+ return 0;
+
+- if (((int) word_heap[i]->content) > PROB_HALF)
+- return ((int) word_heap[i]->content) - PROB_HALF;
++ if (((int)(intptr_t) word_heap[i]->content) > PROB_HALF)
++ return ((int)(intptr_t) word_heap[i]->content) - PROB_HALF;
+ else
+- return PROB_HALF - (int) word_heap[i]->content;
++ return PROB_HALF - (int)(intptr_t) word_heap[i]->content;
+ }
+
+
+@@ -541,9 +542,9 @@ collect_insert_bad (char *word)
+ entry_t *entry;
+
+ entry = htable_insert (bad_table, word, (void *) 0);
+- entry->content = (void *) ((int) entry->content + collect_change);
++ entry->content = (void *) ((intptr_t) entry->content + collect_change);
+
+- if ((int) entry->content < 0)
++ if ((intptr_t) entry->content < 0)
+ entry->content = (void *) 0;
+ }
+
+@@ -555,9 +556,9 @@ collect_insert_good (char *word)
+ entry_t *entry;
+
+ entry = htable_insert (good_table, word, (void *) 0);
+- entry->content = (void *) ((int) entry->content + collect_change);
++ entry->content = (void *) ((intptr_t) entry->content + collect_change);
+
+- if ((int) entry->content < 0)
++ if ((intptr_t) entry->content < 0)
+ entry->content = (void *) 0;
+ }
+
+@@ -609,9 +610,9 @@ prob_word (char *word)
+ int result;
+
+ if (good_e)
+- good_occur = 2 * (int) good_e->content;
++ good_occur = 2 * (int)(intptr_t) good_e->content;
+ if (bad_e)
+- bad_occur = (int) bad_e->content;
++ bad_occur = (int)(intptr_t) bad_e->content;
+
+ if (bad_occur + good_occur < PROB_MIN_OCCUR)
+ return PROB_NEUTRAL;
+@@ -652,7 +653,7 @@ prob_heap (void)
+ for (i = 1; i < HEAP_SIZE; i++){
+ if (word_heap[i])
+ debug_msg (DEBUG_INFO, " %s: %d", word_heap[i]->key,
+- (int) word_heap[i]->content);
++ (int)(intptr_t) word_heap[i]->content);
+ prod *= (heap_value (i) / (float) PROB_CERTAIN);
+ opp_prod *= 1.0 - (heap_value (i) / (float) PROB_CERTAIN);
+ }
+@@ -669,7 +670,7 @@ prob_insert_word (entry_t *entry)
+ {
+ int value = prob_word (entry->key);
+
+- htable_insert (prob_table, entry->key, (void *) value);
++ htable_insert (prob_table, entry->key, (void *)(intptr_t) value);
+ }
+
+
diff --git a/mail/elmo/patches/patch-aj b/mail/elmo/patches/patch-aj
new file mode 100644
index 00000000000..13a2b054aff
--- /dev/null
+++ b/mail/elmo/patches/patch-aj
@@ -0,0 +1,14 @@
+$NetBSD: patch-aj,v 1.1 2008/08/31 20:09:12 dholland Exp $
+
+--- src/procmail.c~ 2004-08-13 07:18:23.000000000 -0400
++++ src/procmail.c 2008-08-31 16:00:25.000000000 -0400
+@@ -111,6 +111,9 @@ static char *logfile = NULL;
+ * IMPLEMENTATION PRIVATE FUNCTION PROTOTYPES
+ ****************************************************************************/
+
++/* avoid name conflict with log() in math.h, which gcc knows about */
++#define log logit
++
+ static void log (FILE *fp, const char *fmt, ...) FORMAT_2;
+
+ /****************************************************************************