aboutsummaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd23
diff options
context:
space:
mode:
Diffstat (limited to 'mail/cyrus-imapd23')
-rw-r--r--mail/cyrus-imapd23/Makefile21
-rw-r--r--mail/cyrus-imapd23/files/patch-bc19
-rw-r--r--mail/cyrus-imapd23/files/patch-master::service-thread.c19
-rw-r--r--mail/cyrus-imapd23/pkg-plist4
4 files changed, 58 insertions, 5 deletions
diff --git a/mail/cyrus-imapd23/Makefile b/mail/cyrus-imapd23/Makefile
index 277f74b3f8d4..308f219c740e 100644
--- a/mail/cyrus-imapd23/Makefile
+++ b/mail/cyrus-imapd23/Makefile
@@ -21,7 +21,6 @@ LIB_DEPENDS= sasl2.2:${PORTSDIR}/security/cyrus-sasl2 \
db3.3:${PORTSDIR}/databases/db3
BUILD_DEPENDS= makedepend:${PORTSDIR}/devel/makedepend \
${LOCALBASE}/sbin/saslauthd:${PORTSDIR}/security/cyrus-sasl2
-RUN_DEPENDS= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp
USE_PERL5= yes
GNU_CONFIGURE= YES
@@ -32,6 +31,19 @@ CONFIGURE_ARGS= --with-cyrus-prefix=${PREFIX}/cyrus \
--with-auth=unix \
--with-com_err
+.if defined(WITH_SKIPLIST_MBOX)
+CONFIGURE_ARGS+=--with-mboxlist-db=skiplist
+.endif
+
+.if defined(WITH_MURDER)
+CONFIGURE_ARGS+=--enable-murder
+CFLAGS+= ${PTHREAD_CFLAGS}
+MAKE_ENV+= PTHREAD_LIBS=${PTHREAD_LIBS}
+PLIST_SUB+= MURDER=""
+.else
+PLIST_SUB+= MURDER="@comment "
+.endif
+
.if defined(WITH_SNMP)
# It seems not compilable due to lack of auto_nlist_value() in libucdagent.
LIB_DEPENDS+= netsnmp.5:${PORTSDIR}/net/net-snmp
@@ -59,7 +71,10 @@ DOCS= altnamespace anoncvs bugs changes faq feedback index \
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 500000
+.if ${PERL_LEVEL} < 500800
+RUN_DEPENDS+= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp
+.endif
+.if ${PERL_LEVEL} < 500600
RUN_DEPENDS+= ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER}/Pod/Parser.pm:${PORTSDIR}/textproc/p5-PodParser
.endif
@@ -68,7 +83,7 @@ post-patch:
> ${WRKSRC}/tools/mkimap.new
@${MV} ${WRKSRC}/tools/mkimap.new ${WRKSRC}/tools/mkimap
@${CP} ${WRKSRC}/man/quota.8 ${WRKSRC}/man/cyrquota.8
-.if ${OSVERSION} < 500000
+.if ${PERL_LEVEL} < 500600
@${SED} -e "s|exec perl -x|exec perl -I${LOCALBASE}/lib/perl5/site_perl/${PERL_VER} -x|" \
${WRKSRC}/perl/sieve/scripts/sieveshell.pl \
> ${WRKSRC}/perl/sieve/scripts/sieveshell.pl.new
diff --git a/mail/cyrus-imapd23/files/patch-bc b/mail/cyrus-imapd23/files/patch-bc
index ce5594805a0b..232ac2da797e 100644
--- a/mail/cyrus-imapd23/files/patch-bc
+++ b/mail/cyrus-imapd23/files/patch-bc
@@ -1,7 +1,7 @@
Index: imap/Makefile.in
diff -u imap/Makefile.in.orig imap/Makefile.in
---- imap/Makefile.in.orig Fri Apr 19 02:35:26 2002
-+++ imap/Makefile.in Thu May 2 04:02:37 2002
+--- imap/Makefile.in.orig Fri Jul 26 06:07:05 2002
++++ imap/Makefile.in Fri Sep 13 18:49:25 2002
@@ -61,7 +61,7 @@
CYRUS_USER=@cyrus_user@
CYRUS_GROUP=@cyrus_group@
@@ -11,3 +11,18 @@ diff -u imap/Makefile.in.orig imap/Makefile.in
CPPFLAGS = -I. -I.. -I../sieve -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../acap -I../acap @COM_ERR_CPPFLAGS@ @SIEVE_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
IMAP_LIBS = @IMAP_LIBS@
SIEVE_LIBS = @SIEVE_LIBS@
+@@ -244,12 +244,12 @@
+ mupdate: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+ $(CC) $(LDFLAGS) -o mupdate \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ mupdate.pure: mupdate.o mupdate-slave.o mupdate-client.o libimap.a $(DEPLIBS)
+ $(PURIFY) $(PUREOPT) $(CC) $(LDFLAGS) -o mupdate.pure \
+ $(SERVICETHREAD) mupdate.o mupdate-slave.o mupdate-client.o \
+- libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) -lpthread
++ libimap.a $(DEPLIBS) $(LIBS) $(LIB_WRAP) $(PTHREAD_LIBS)
+
+ pop3d: pop3d.o tls.o libimap.a $(DEPLIBS) $(SERVICE)
+ $(CC) $(LDFLAGS) -o pop3d pop3d.o tls.o $(SERVICE) \
diff --git a/mail/cyrus-imapd23/files/patch-master::service-thread.c b/mail/cyrus-imapd23/files/patch-master::service-thread.c
new file mode 100644
index 000000000000..ea5dfd8b0b2e
--- /dev/null
+++ b/mail/cyrus-imapd23/files/patch-master::service-thread.c
@@ -0,0 +1,19 @@
+Index: master/service-thread.c
+diff -u master/service-thread.c.orig master/service-thread.c
+--- master/service-thread.c.orig Fri Sep 13 18:43:06 2002
++++ master/service-thread.c Fri Sep 13 19:15:50 2002
+@@ -100,8 +100,13 @@
+ socklen_t len = sizeof(sin);
+
+ /* is this a connection from the local host? */
++ memset(&sin, 0, len);
+ if (getpeername(fd, (struct sockaddr *) &sin, &len) == 0) {
+- if (((struct sockaddr *)&sin)->sa_family == AF_UNIX) {
++ switch (((struct sockaddr *)&sin)->sa_family) {
++ case AF_INET:
++ case AF_INET6:
++ break;
++ default:
+ return 1;
+ }
+ }
diff --git a/mail/cyrus-imapd23/pkg-plist b/mail/cyrus-imapd23/pkg-plist
index 33253d4af4a9..6e279025d1e3 100644
--- a/mail/cyrus-imapd23/pkg-plist
+++ b/mail/cyrus-imapd23/pkg-plist
@@ -29,6 +29,10 @@ cyrus/bin/reconstruct
cyrus/bin/squatter
cyrus/bin/timsieved
cyrus/bin/tls_prune
+%%MURDER%%cyrus/bin/lmtpproxyd
+%%MURDER%%cyrus/bin/mupdate
+%%MURDER%%cyrus/bin/pop3proxyd
+%%MURDER%%cyrus/bin/proxyd
@unexec if cmp -s %D/etc/cyrus.conf %D/etc/cyrus.conf.dist; then rm -f %D/etc/cyrus.conf; fi
etc/cyrus.conf.dist
@exec [ -f %B/cyrus.conf ] || cp %B/%f %B/cyrus.conf