summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorKelly Yancey <kbyanc@FreeBSD.org>2000-08-14 07:49:03 +0000
committerKelly Yancey <kbyanc@FreeBSD.org>2000-08-14 07:49:03 +0000
commitc64128b31ac5b687a105d6ce7d15d4a16a50a70b (patch)
treee651e4330d679a4f4a4a2bede0ed358d631b7b89 /mail
parentAdd ruby-uri, Ruby interface to parse URIs according to RFC 2396. (diff)
New port: cclient built with third-party maildir support. Cclient is used
by UW's pine and imapd software to access mailboxes. This port complements the existing cclient port by building a version that includes support for qmail's maildir mailbox format. PR: 19691
Notes
Notes: svn path=/head/; revision=31639
Diffstat (limited to 'mail')
-rw-r--r--mail/Makefile1
-rw-r--r--mail/cclient-maildir/Makefile75
-rw-r--r--mail/cclient-maildir/distinfo2
-rw-r--r--mail/cclient-maildir/files/MESSAGE.PAM9
-rw-r--r--mail/cclient-maildir/files/patch-aa21
-rw-r--r--mail/cclient-maildir/files/patch-ab113
-rw-r--r--mail/cclient-maildir/files/patch-ac19
-rw-r--r--mail/cclient-maildir/files/patch-ad42
-rw-r--r--mail/cclient-maildir/pkg-comment1
-rw-r--r--mail/cclient-maildir/pkg-descr9
-rw-r--r--mail/cclient-maildir/pkg-message6
-rw-r--r--mail/cclient-maildir/pkg-plist9
12 files changed, 307 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile
index 7bc18997c06b..42e6f0df8176 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -9,6 +9,7 @@
SUBDIR += biffer
SUBDIR += bulk_mailer
SUBDIR += cclient
+ SUBDIR += cclient-maildir
SUBDIR += cmail
SUBDIR += coolmail
SUBDIR += courier-imap
diff --git a/mail/cclient-maildir/Makefile b/mail/cclient-maildir/Makefile
new file mode 100644
index 000000000000..889f9301f3c8
--- /dev/null
+++ b/mail/cclient-maildir/Makefile
@@ -0,0 +1,75 @@
+# New ports collection makefile for: c-client-maildir
+# Date created: 2 July 2000
+# Whom: Kelly Yancey <kbyanc@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= c-client-maildir
+PORTVERSION= 4.7c
+CATEGORIES= mail devel
+MASTER_SITES= ftp://ftp.cac.washington.edu/imap/ \
+ ftp://ftp.funet.fi/pub/mirrors/ftp.cac.washington.edu/mail/ \
+ http://mirror.nucba.ac.jp/mirror/imap/ \
+ ftp://ftp.uni-halle.de/pub/mail/pine/
+DISTNAME= imap-${PORTVERSION}
+EXTRACT_SUFX= .tar.Z
+DISTFILES= ${DISTNAME}2${EXTRACT_SUFX}
+
+PATCH_SITES= ftp://anonymous@highlander.fphil.uniba.sk/pub/pine/ \
+ http://people.freebsd.org/~kbyanc/patches/
+PATCHFILES= pine-4.20-maildir_3.patch
+PATCH_DIST_STRIP=-p1 + -p2 + -p2 + -p2 + -p2 + -p2 + -S
+
+MAINTAINER= kbyanc@FreeBSD.org
+
+INSTALLS_SHLIB= yes
+PAMAUTH?= yes
+.if ${PAMAUTH} != "no"
+ALL_TARGET= bfp
+.else
+ALL_TARGET= bsf
+.endif
+
+SHLIBBASE= c-client4
+SHLIBMAJ= 7
+SHLIBNAME= lib${SHLIBBASE}.so.${SHLIBMAJ}
+MAKE_ENV= SHLIBNAME=${SHLIBNAME} SHLIBBASE=${SHLIBBASE}
+PLIST_SUB= SHLIBNAME=${SHLIBNAME} SHLIBBASE=${SHLIBBASE}
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 410002 || ${OSVERSION} >= 500000 && ${OSVERSION} < 500011
+FORBIDDEN= "requires newer version of the patch utility"
+.endif
+
+.if ${PORTOBJFORMAT} == "aout"
+SHLIBNAME= lib${SHLIBBASE}.so.${SHLIBMAJ}.0
+.endif
+
+post-configure:
+ @${ECHO_MSG} ">> The c-client shared library will be named ${SHLIBNAME}"
+.if ${PAMAUTH} != "no"
+ @${ECHO_MSG} ">> Building with PAM support"
+ @${ECHO_MSG} ">> You can disable PAM support building with \"PAMAUTH=no\""
+.endif
+
+do-install:
+ ${MKDIR} ${PREFIX}/include/c-client
+ ${INSTALL_DATA} ${WRKSRC}/c-client/mail.h ${PREFIX}/include/c-client
+ ${INSTALL_DATA} ${WRKSRC}/c-client/rfc822.h ${PREFIX}/include/c-client
+ ${INSTALL_DATA} ${WRKSRC}/c-client/linkage.h ${PREFIX}/include/c-client
+ ${INSTALL_DATA} ${WRKSRC}/c-client/misc.h ${PREFIX}/include/c-client
+ ${INSTALL_DATA} ${WRKSRC}/c-client/smtp.h ${PREFIX}/include/c-client
+ ${INSTALL} ${COPY} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${WRKSRC}/c-client/${SHLIBNAME} ${PREFIX}/lib
+ ${LN} -sf ${SHLIBNAME} ${PREFIX}/lib/lib${SHLIBBASE}.so
+ ${INSTALL_DATA} ${WRKSRC}/c-client/c-client.a \
+ ${PREFIX}/lib/lib${SHLIBBASE}.a
+
+post-install:
+.if ${PAMAUTH} != "no"
+ @${CAT} ${FILESDIR}/MESSAGE.PAM
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/mail/cclient-maildir/distinfo b/mail/cclient-maildir/distinfo
new file mode 100644
index 000000000000..50ca6bd7a3f1
--- /dev/null
+++ b/mail/cclient-maildir/distinfo
@@ -0,0 +1,2 @@
+MD5 (imap-4.7c2.tar.Z) = 1a27c7684094a8c94baf294552467060
+MD5 (pine-4.20-maildir_3.patch) = 2f6cd0ed750321d074cc53171d308291
diff --git a/mail/cclient-maildir/files/MESSAGE.PAM b/mail/cclient-maildir/files/MESSAGE.PAM
new file mode 100644
index 000000000000..a5baa63b4f8d
--- /dev/null
+++ b/mail/cclient-maildir/files/MESSAGE.PAM
@@ -0,0 +1,9 @@
+= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+PAM authentication support is now compiled in by default; you may need to add
+the following lines to /etc/pam.conf:
+
+imap auth required pam_unix.so try_first_pass
+imap account required pam_unix.so try_first_pass
+pop auth required pam_unix.so try_first_pass
+pop account required pam_unix.so try_first_pass
+= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
diff --git a/mail/cclient-maildir/files/patch-aa b/mail/cclient-maildir/files/patch-aa
new file mode 100644
index 000000000000..4615f235b3fb
--- /dev/null
+++ b/mail/cclient-maildir/files/patch-aa
@@ -0,0 +1,21 @@
+--- src/osdep/unix/os_bsi.h.orig Sat Oct 19 20:30:04 1996
++++ src/osdep/unix/os_bsi.h Sun May 24 10:46:33 1998
+@@ -37,7 +37,18 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/types.h>
++
++/*
++ * FreeBSD v3.x and onward whines about <sys/dir.h> being obsolete, so switch
++ * to POSIX semantics.
++ */
++#if __FreeBSD__ >= 3
++#include <dirent.h>
++#define direct dirent
++#else
+ #include <sys/dir.h>
++#endif
++
+ #include <fcntl.h>
+ #include <syslog.h>
+ #include <sys/file.h>
diff --git a/mail/cclient-maildir/files/patch-ab b/mail/cclient-maildir/files/patch-ab
new file mode 100644
index 000000000000..99eb593aef9a
--- /dev/null
+++ b/mail/cclient-maildir/files/patch-ab
@@ -0,0 +1,113 @@
+--- src/osdep/unix/Makefile.orig Mon Jul 3 22:32:37 2000
++++ src/osdep/unix/Makefile Mon Jul 3 22:33:30 2000
+@@ -86,7 +86,7 @@
+ # Commands possibly overriden by the individual port
+
+ ARRC=ar rc
+-CC=cc
++#CC=cc
+ LN=ln -s
+ RANLIB=ranlib
+
+@@ -104,7 +104,7 @@
+ dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
+ rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
+ unix.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o maildir.o
+-CFLAGS=$(BASECFLAGS) $(EXTRACFLAGS)
++CFLAGS+=$(BASECFLAGS) $(EXTRACFLAGS)
+ MAKE=make
+ MV=mv
+ RM=rm -rf
+@@ -119,6 +119,10 @@
+ PASSWDTYPE=$(PASSWDTYPE) SPECIALAUTHENTICATORS="$(SPECIALAUTHENTICATORS)"
+ BUILD=$(MAKE) build $(BUILDOPTIONS)
+
++# Need this for the shared library rule to work correctly
++.SUFFIXES: .o .so
++SOFILES=${BINARIES:.o=.so}
++
+ # Here if no make argument established
+
+ missing: osdep.h
+@@ -178,6 +182,15 @@
+ BASECFLAGS="-g -B/usr/lib/big/ -Dvoid=char -Dconst= -DNFSKLUDGE" \
+ RANLIB=true ARRC="ar -rc"
+
++bfp: # FreeBSD Pluggable Authentication Modules
++ $(BUILD) `cat EXTRASPECIALS` OS=bsi SIGTYPE=psx CHECKPW=pam \
++ SPOOLDIR=/var \
++ ACTIVEFILE=/usr/local/news/lib/active \
++ RSHPATH=/usr/bin/rsh \
++ LOCKPGM=$(PREFIX)/libexec/mlock \
++ BASECFLAGS="-DNFSKLUDGE" \
++ BASELDFLAGS="-lpam -lcrypt"
++
+ bs3: # BSD/i386 3.0 or higher
+ $(BUILD) `cat EXTRASPECIALS` OS=bsi CHECKPW=bsi LOGINPW=bsi \
+ SPOOLDIR=/var NEWSSPOOL=/var/news/spool \
+@@ -194,7 +207,8 @@
+ SPOOLDIR=/var \
+ ACTIVEFILE=/usr/local/news/lib/active \
+ RSHPATH=/usr/bin/rsh \
+- BASECFLAGS="-g -O -pipe -DNFSKLUDGE" \
++ LOCKPGM=$(PREFIX)/libexec/mlock \
++ BASECFLAGS="-DNFSKLUDGE" \
+ BASELDFLAGS="-lcrypt"
+
+ bsi: # BSD/i386
+@@ -627,19 +641,31 @@
+
+ # Build it!
+
+-build: clean once $(ARCHIVE)
++build: clean once $(ARCHIVE) $(SHLIBNAME)
+
+-all: $(ARCHIVE)
++all: $(ARCHIVE) $(SHLIBNAME)
+
+ $(ARCHIVE): $(BINARIES)
+ sh -c '$(RM) $(ARCHIVE) || true'
+ @cat ARCHIVE
+ @$(SH) ARCHIVE
+
++$(SHLIBNAME): $(SOFILES)
++.if $(PORTOBJFORMAT) == "elf"
++ ld -shared -x -soname $(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES)
++.else
++ ld -Bshareable -x -o $(SHLIBNAME) $(SOFILES)
++.endif
++ ln -s $(SHLIBNAME) lib$(SHLIBBASE).so
++
++.c.so: osdep.h
++ $(CC) -fpic -DPIC -c $(CFLAGS) ${@:.so=.c} -o $@
++
+ # Cleanup
+
+ clean:
+ sh -c '$(RM) auths.c flockbsd.c linkage.[ch] siglocal.c osdep*.[ch] *.o ARCHIVE *FLAGS *TYPE $(ARCHIVE) || true'
++ $(RM) *.so $(SHLIBNAME)
+
+
+ # Dependencies
+@@ -673,7 +699,7 @@
+
+ # OS-dependent
+
+-osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
++OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
+ osdep.h env_unix.h tcp_unix.h \
+ osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c \
+ auths.c flock.c flockbsd.c flcksafe.c fsync.c gethstid.c \
+@@ -685,7 +711,12 @@
+ write.c \
+ strerror.c strpbrk.c strstr.c strtok.c strtoul.c \
+ OSCFLAGS
++
++osdep.o: $(OSDEPS)
+ $(CC) $(CFLAGS) `cat OSCFLAGS` -c osdep.c
++
++osdep.so: $(OSDEPS)
++ $(CC) -fpic -DPIC -c $(CFLAGS) `cat OSCFLAGS` osdep.c -o $@
+
+ osdep.c: osdepbas.c osdepckp.c osdeplog.c
+ cat osdepbas.c osdepckp.c osdeplog.c > osdep.c
diff --git a/mail/cclient-maildir/files/patch-ac b/mail/cclient-maildir/files/patch-ac
new file mode 100644
index 000000000000..464a98cd60ec
--- /dev/null
+++ b/mail/cclient-maildir/files/patch-ac
@@ -0,0 +1,19 @@
+--- Makefile.orig Mon Nov 15 22:20:34 1999
++++ Makefile Sun Dec 19 14:52:58 1999
+@@ -49,6 +49,7 @@
+ # art AIX 2.2.1 for RT
+ # asv Altos SVR4
+ # aux A/UX
++# bfp FreeBSD with Pluggable Authentication Modules (PAM)
+ # bs3 BSD/i386 3.0 and higher
+ # bsd generic BSD 4.3 (as in ancient 1980s version)
+ # bsf FreeBSD
+@@ -293,7 +294,7 @@
+
+ # Note on SCO you may have to set LN to "ln".
+
+-a32 a41 aix bs3 bsf bsi bso d-g d54 do4 drs epx gas gh9 ghp gs5 gso gsu gul hpp hpx lnp lyn mct mnt neb nxt nx3 osf os4 ptx qnx sc5 sco sgi sg6 shp sl4 sl5 slx snx sol sos uw2: an
++a32 a41 aix bfp bs3 bsf bsi bso d-g d54 do4 drs epx gas gh9 ghp gs5 gso gsu gul hpp hpx lnp lyn mct mnt neb nxt nx3 osf os4 ptx qnx sc5 sco sgi sg6 shp sl4 sl5 slx snx sol sos uw2: an
+ $(BUILD) OS=$@
+
+ # If you use sv4, you may find that it works to move it to use the an process.
diff --git a/mail/cclient-maildir/files/patch-ad b/mail/cclient-maildir/files/patch-ad
new file mode 100644
index 000000000000..80bf50b061e0
--- /dev/null
+++ b/mail/cclient-maildir/files/patch-ad
@@ -0,0 +1,42 @@
+--- src/osdep/unix/maildir.h.orig Mon Jul 3 22:51:43 2000
++++ src/osdep/unix/maildir.h Mon Jul 3 22:52:39 2000
+@@ -52,5 +52,5 @@
+ char *maildir_file (char *dst,char *name);
+ void maildir_copynew (const char *mailbox);
+ int maildir_select (struct direct *name);
+-int maildir_namesort (struct direct **d1,struct direct **d2);
++int maildir_namesort (const void *d1,const void *d2);
+ void maildir_listwork(char *name, MAILSTREAM *stream, char *s2, char *subdir, int flag);
+--- src/osdep/unix/maildir.c.orig Mon Jul 3 22:53:24 2000
++++ src/osdep/unix/maildir.c Mon Jul 3 22:57:50 2000
+@@ -417,7 +417,7 @@
+
+ mail_exists(stream, i+1);
+ /* if newly seen, add to list */
+- (elt = mail_elt (stream, i + 1))->maildirp = (long) cpystr (names[i]->d_name);
++ (elt = mail_elt (stream, i + 1))->maildirp = cpystr (names[i]->d_name);
+ elt->valid = T;
+
+ /* grab the flags */
+@@ -540,9 +540,10 @@
+ return NIL;
+ }
+
+-int maildir_namesort (struct direct **d1,struct direct **d2)
++int maildir_namesort (const void *d1,const void *d2)
+ {
+- return strcmp ((*d1)->d_name,(*d2)->d_name);
++ return strcmp ((*(struct direct **) d1)->d_name,
++ (*(struct direct **) d2)->d_name);
+ }
+
+
+@@ -786,7 +787,7 @@
+ }
+ /* update the file name in cache */
+ fs_give ((void **) &elt->maildirp);
+- elt->maildirp = (long) cpystr (fn);
++ elt->maildirp = cpystr (fn);
+
+ /* fix the UID on the file */
+ tbuf.actime = elt->private.uid;
diff --git a/mail/cclient-maildir/pkg-comment b/mail/cclient-maildir/pkg-comment
new file mode 100644
index 000000000000..646208c90974
--- /dev/null
+++ b/mail/cclient-maildir/pkg-comment
@@ -0,0 +1 @@
+Mark Crispen's C-client mail access routines with qmail maildir support
diff --git a/mail/cclient-maildir/pkg-descr b/mail/cclient-maildir/pkg-descr
new file mode 100644
index 000000000000..e77a5d5961ec
--- /dev/null
+++ b/mail/cclient-maildir/pkg-descr
@@ -0,0 +1,9 @@
+C-client is a common API for accessing mailboxes. It is used internally by
+the popular PINE mail reader as well as the University of Washington's IMAP
+server.
+
+This port includes the unsupported maildir driver to make c-client understand
+qmail's maildir mailbox format.
+
+ -Kelly
+ kbyanc@posi.net
diff --git a/mail/cclient-maildir/pkg-message b/mail/cclient-maildir/pkg-message
new file mode 100644
index 000000000000..8959830a928a
--- /dev/null
+++ b/mail/cclient-maildir/pkg-message
@@ -0,0 +1,6 @@
+************************* WARNING ***************************
+C-client has been built with third-party maildir support.
+This support should be considered expermental; use at your
+own risk.
+************************* WARNING ***************************
+
diff --git a/mail/cclient-maildir/pkg-plist b/mail/cclient-maildir/pkg-plist
new file mode 100644
index 000000000000..83dcab881068
--- /dev/null
+++ b/mail/cclient-maildir/pkg-plist
@@ -0,0 +1,9 @@
+include/c-client/mail.h
+include/c-client/rfc822.h
+include/c-client/linkage.h
+include/c-client/misc.h
+include/c-client/smtp.h
+lib/libc-client4.a
+lib/libc-client4.so.7
+lib/libc-client4.so
+@dirrm include/c-client