aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorume <ume@FreeBSD.org>2003-04-29 21:30:23 +0800
committerume <ume@FreeBSD.org>2003-04-29 21:30:23 +0800
commita279b9e1da4bb8b8e80007abefc7940323426bbd (patch)
treee45510a5b3e59547fb07971666358d0640733fc4
parent5862b984c876b89ac30ef6e7bd3a88cacbce4b02 (diff)
downloadfreebsd-ports-gnome-a279b9e1da4bb8b8e80007abefc7940323426bbd.tar.gz
freebsd-ports-gnome-a279b9e1da4bb8b8e80007abefc7940323426bbd.tar.zst
freebsd-ports-gnome-a279b9e1da4bb8b8e80007abefc7940323426bbd.zip
- make Cyrus-IMAP-2.x selectable instead of p5-IMAP-Admin and p5-IMAP-Sieve
- fixes cookie path (i.e. for Lynx) Submitted by: Oliver Eikemeier <eikemeier@fillmore-labs.com> (The maintainer)
-rw-r--r--mail/websieve/Makefile40
-rw-r--r--mail/websieve/files/patch-websieve.pl18
2 files changed, 54 insertions, 4 deletions
diff --git a/mail/websieve/Makefile b/mail/websieve/Makefile
index b580e0a41e34..6bf5a24f0d03 100644
--- a/mail/websieve/Makefile
+++ b/mail/websieve/Makefile
@@ -7,6 +7,7 @@
PORTNAME= websieve
PORTVERSION= 0.61
+PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -14,9 +15,20 @@ MASTER_SITE_SUBDIR= ${PORTNAME}
MAINTAINER= eikemeier@fillmore-labs.com
COMMENT= Web based Cyrus IMAP user admin client
+.if defined(WITH_CYRUS_IMAPD_VER)
+.if ${WITH_CYRUS_IMAPD_VER} == 22
+RUN_DEPENDS= ${CYRUS_IMAP_PM}:${PORTSDIR}/mail/cyrus-imapd22
+.elif ${WITH_CYRUS_IMAPD_VER} == 21
+RUN_DEPENDS= ${CYRUS_IMAP_PM}:${PORTSDIR}/mail/cyrus-imapd2
+.elif ${WITH_CYRUS_IMAPD_VER} == 20
+RUN_DEPENDS= ${CYRUS_IMAP_PM}:${PORTSDIR}/mail/cyrus-imapd
+.else
+.error WITH_CYRUS_IMAPD_VER must be 22, 21 or 20
+.endif
+.else
RUN_DEPENDS= ${SITE_PERL}/IMAP/Admin.pm:${PORTSDIR}/mail/p5-IMAP-Admin \
- ${SITE_PERL}/IMAP/Sieve.pm:${PORTSDIR}/mail/p5-IMAP-Sieve \
- ${SITE_PERL}/CGI/Cache.pm:${PORTSDIR}/www/p5-CGI-Cache
+ ${SITE_PERL}/IMAP/Sieve.pm:${PORTSDIR}/mail/p5-IMAP-Sieve
+.endif
.if defined(WITH_APACHE2)
RUN_DEPENDS+= ${LOCALBASE}/www/cgi-bin:${PORTSDIR}/www/apache2
.else
@@ -31,6 +43,26 @@ USE_PERL5_RUN= yes
NO_BUILD= yes
+CYRUS_IMAP_PM= ${SITE_PERL}/${PERL_ARCH}/Cyrus/IMAP/Admin.pm
+
+.if defined(WITH_CYRUS_IMAPD_VER)
+FUNCLIB_PL= funclib.cyrus
+.else
+FUNCLIB_PL= funclib.pl
+.endif
+
+# We can not test .if exists(${CYRUS_IMAP_PM}) here
+# because SITE_PERL is defined in <bsd.port.post.mk>
+.if !defined(WITH_CYRUS_IMAPD_VER)
+pre-everything::
+ @${ECHO_CMD} "If you want to use the Cyrus IMAP and Sieve perl modules"
+ @${ECHO_CMD} "hit Ctrl-C right now and use WITH_CYRUS_IMAPD_VER=22, 21 or 20"
+ @${ECHO_CMD}
+ @${ECHO_CMD} "The Cyrus perl modules do not support SSL, but better"
+ @${ECHO_CMD} "authentication mechanisms than cleartext PLAIN."
+ @${ECHO_CMD}
+.endif
+
post-configure:
@${REINPLACE_CMD} -e "s,require[ ]*'\./\([^']*\)',require '${PREFIX}/etc/websieve/\1'," \
${WRKSRC}/websieve.pl
@@ -39,8 +71,8 @@ do-install:
@${INSTALL_SCRIPT} ${WRKSRC}/websieve.pl ${PREFIX}/www/cgi-bin
@${MKDIR} ${PREFIX}/etc/websieve
@${INSTALL_DATA} ${WRKSRC}/websieve.conf ${PREFIX}/etc/websieve/websieve.conf.sample
- @${INSTALL_DATA} ${WRKSRC}/funclib.pl ${PREFIX}/etc/websieve
- @@${SED} 's,%%PREFIX%%,${PREFIX},g' ${.CURDIR}/pkg-message > ${PKGMESSAGE}
+ @${INSTALL_DATA} ${WRKSRC}/${FUNCLIB_PL} ${PREFIX}/etc/websieve/funclib.pl
+ @${SED} 's,%%PREFIX%%,${PREFIX},g' ${.CURDIR}/pkg-message > ${PKGMESSAGE}
post-install:
@${CAT} ${PKGMESSAGE}
diff --git a/mail/websieve/files/patch-websieve.pl b/mail/websieve/files/patch-websieve.pl
index 2a59764d89c7..e0c7b5b3b44f 100644
--- a/mail/websieve/files/patch-websieve.pl
+++ b/mail/websieve/files/patch-websieve.pl
@@ -1,5 +1,23 @@
--- websieve.pl.orig Mon Sep 17 01:23:49 2001
+++ websieve.pl Fri Apr 25 19:49:30 2003
+@@ -98,7 +98,7 @@
+ $encode_params=&encode_base64($encode_params) if $userc4;
+ $auth_cookie=cookie(-name => 'websieve',
+ -value=>$encode_params,
+- -path=>"$program_url",
++ -path=>"/",
+ -expires => 'now');
+ print header(-cookie=> $auth_cookie);
+ param('op','');
+@@ -193,7 +193,7 @@
+ $encode_params=&encode_base64($encode_params) if $userc4;
+ $auth_cookie=cookie(-name => 'websieve',
+ -value=>$encode_params,
+- -path=>"$program_url",
++ -path=>"/",
+ -expires => $expires);
+ if ($uid ne "" && $pass ne "")
+ {
@@ -301,7 +301,7 @@
}