aboutsummaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/Makefile1
-rw-r--r--mail/openwebmail/Makefile210
-rw-r--r--mail/openwebmail/distinfo2
-rw-r--r--mail/openwebmail/files/pkg-install.in22
-rw-r--r--mail/openwebmail/pkg-deinstall12
-rw-r--r--mail/openwebmail/pkg-descr10
6 files changed, 257 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile
index c9705fb9dd0a..9a966476ed76 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -282,6 +282,7 @@
SUBDIR += opendmarc
SUBDIR += opensmtpd
SUBDIR += opensmtpd-devel
+ SUBDIR += openwebmail
SUBDIR += osbf-lua
SUBDIR += ovs
SUBDIR += p5-CGP-CLI
diff --git a/mail/openwebmail/Makefile b/mail/openwebmail/Makefile
new file mode 100644
index 000000000000..ade5a1ec215a
--- /dev/null
+++ b/mail/openwebmail/Makefile
@@ -0,0 +1,210 @@
+# Created by: Yen-Ming Lee <leeym@leeym.com>
+# $FreeBSD$
+
+PORTNAME= openwebmail
+PORTVERSION= 2.53
+PORTREVISION= 2
+CATEGORIES= mail
+MASTER_SITES= http://openwebmail.acatysmoof.com/download/%SUBDIR%/ \
+ http://openwebmail.org/openwebmail/download/%SUBDIR%/
+MASTER_SITE_SUBDIR?= release
+
+MAINTAINER= crees@FreeBSD.org
+COMMENT= Webmail system designed to manage big mail folder files efficiently
+
+RUN_DEPENDS= p5-Text-Iconv>=0:${PORTSDIR}/converters/p5-Text-Iconv
+
+USES= perl5
+USE_PERL5= run build patch
+NO_BUILD= yes
+NO_WRKSUBDIR= yes
+OWCGIDIR= ${PREFIX}/www/cgi-bin/openwebmail
+OWDATADIR= ${PREFIX}/www/data/openwebmail
+PATCH_WRKSRC= ${WRKSRC}/cgi-bin/openwebmail
+PATCH_STRIP= -p1
+PLIST= ${WRKDIR}/.PLIST.${PKGNAME}
+SUB_FILES= pkg-install
+
+OPTIONS_DEFINE= ANTIWORD MAGICK ISPELL LEARNSPAM LSOF PAM POP3_OVER_SSL QUOTA \
+ SPAMCHECK SPAMCHECK_ALL SPEEDYCGI TNEF VIRUSCHECK VIRUSCHECK_ALL \
+ WGET ZLIB
+
+ANTIWORD_DESC= AntiWord
+ISPELL_DESC= ISpell
+LEARNSPAM_DESC= Learn HAM/SPAM
+LSOF_DESC= lsof
+PAM_DESC= PAM
+POP3_OVER_SSL_DESC= POP3 Over SSL
+QUOTA_DESC= Quota
+SPAMCHECK_DESC= Spam check (Mail::SpamAssassin)
+SPAMCHECK_ALL_DESC= Spam check for all (default: pop3)
+SPEEDYCGI_DESC= SpeedyCGI
+TNEF_DESC= tnef
+VIRUSCHECK_DESC= Virus check (Clam AntiVirus)
+VIRUSCHECK_ALL_DESC= Virus check for all (default: pop3)
+WGET_DESC= wget
+ZLIB_DESC= ZLib
+
+.include <bsd.port.pre.mk>
+
+# WITH_SPEEDYCGI needs suidperl enabled under perl 5.8.4 or above,
+# so, disable it first, and enable it again if perl exists and enabled suidperl
+.if ${PERL_LEVEL} >= 500804 && !empty(PORT_OPTIONS:MSPEEDYCGI)
+DISABLE_SPEEDYCGI=yes
+PORT_OPTIONS:= ${PORT_OPTIONS:NSPEEDYCGI}
+.if exists(${PERL})
+PERL_V!= ${PERL} -V
+.if ${PERL_V:M*dosuid*} != ""
+.undef DISABLE_SPEEDYCGI
+.endif # dosuid
+.endif # exists(${PERL})
+.endif # perl5.8
+
+.if ${PORT_OPTIONS:MLEARNSPAM} || !empty(PORT_OPTIONS:MSPAMCHECK_ALL)
+PORT_OPTIONS+= SPAMCHECK
+.endif
+
+.if ${PORT_OPTIONS:MVIRUSCHECK_ALL}
+PORT_OPTIONS+= VIRUSCHECK
+.endif
+
+.if ${PORT_OPTIONS:MANTIWORD}
+RUN_DEPENDS+= antiword:${PORTSDIR}/textproc/antiword
+.endif
+
+.if ${PORT_OPTIONS:MMAGICK}
+RUN_DEPENDS+= convert:${PORTSDIR}/graphics/ImageMagick
+.endif
+
+.if ${PORT_OPTIONS:MISPELL}
+RUN_DEPENDS+= ispell:${PORTSDIR}/textproc/aspell-ispell
+.endif
+
+.if ${PORT_OPTIONS:MLSOF}
+RUN_DEPENDS+ ${LOCALBASE}/sbin/lsof:${PORTSDIR}/sysutils/lsof
+.endif
+
+.if ${PORT_OPTIONS:MPAM}
+RUN_DEPENDS+= p5-Authen-PAM>=0:${PORTSDIR}/security/p5-Authen-PAM
+.endif
+
+.if ${PORT_OPTIONS:MPOP3_OVER_SSL}
+RUN_DEPENDS+= p5-IO-Socket-SSL>=0:${PORTSDIR}/security/p5-IO-Socket-SSL
+.endif
+
+.if ${PORT_OPTIONS:MQUOTA}
+RUN_DEPENDS+= p5-Quota>=0:${PORTSDIR}/sysutils/p5-Quota
+.endif
+
+.if ${PORT_OPTIONS:MTNEF}
+RUN_DEPENDS+= ${LOCALBASE}/bin/tnef:${PORTSDIR}/converters/tnef
+.endif
+
+.if ${PORT_OPTIONS:MSPAMCHECK}
+RUN_DEPENDS+= spamassassin>=0:${PORTSDIR}/mail/spamassassin
+.endif
+
+.if ${PORT_OPTIONS:MSPEEDYCGI}
+RUN_DEPENDS+= speedy_suidperl:${PORTSDIR}/www/p5-CGI-SpeedyCGI
+SUB_LIST+= WITHOUT_SPEEDYCGI="@comment "
+.if ${PERL_LEVEL} < 500804
+EXTRA_PATCHES+= ${PATCH_WRKSRC}/misc/patches/suidperl2speedy_suidperl.patch
+.else
+EXTRA_PATCHES+= ${PATCH_WRKSRC}/misc/patches/suidperl2speedy_suidperl.notmp.patch
+.endif
+.else
+SUB_LIST+= WITHOUT_SPEEDYCGI=""
+.endif
+
+.if ${PORT_OPTIONS:MVIRUSCHECK}
+RUN_DEPENDS+= clamdscan:${PORTSDIR}/security/clamav
+.endif
+
+.if ${PORT_OPTIONS:MWGET}
+RUN_DEPENDS+= ${LOCALBASE}/bin/wget:${PORTSDIR}/ftp/wget
+.endif
+
+.if ${PORT_OPTIONS:MZLIB}
+. if ${PERL_LEVEL} < 500903
+RUN_DEPENDS+= p5-IO-Compress>=0:${PORTSDIR}/archivers/p5-IO-Compress
+. endif
+.endif
+
+post-extract:
+.for x in addressbooks/global calendar.book
+ @${RM} ${WRKSRC}/cgi-bin/openwebmail/etc/${x}
+.endfor
+
+post-patch:
+ ### XXX: Hack, some of this should be LOCALBASE
+ @${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e 's,/usr/local,${PREFIX},g'
+.if defined(DISABLE_SPEEDYCGI)
+ @${ECHO_MSG} ""
+ @${ECHO_MSG} "WARNING:"
+ @${ECHO_MSG} "Your perl doesn't support SUID, or you don't have perl yet,"
+ @${ECHO_MSG} "so SpeedyCGI support is disabled automatically."
+ @${ECHO_MSG} "If you want SpeedyCGI support, please reinstall perl with ENABLE_SUIDPERL=yes,"
+ @${ECHO_MSG} "and reinstall ${PORTNAME}."
+ @${ECHO_MSG} ""
+.endif
+ @${MV} ${PATCH_WRKSRC}/etc/openwebmail.conf ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+ @${PERL} -pi.bak -e 's,${LOCALBASE}/www/cgi-bin/openwebmail,${OWCGIDIR},g' ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+ @${PERL} -pi.bak -e 's,${LOCALBASE}/www/data/openwebmail,${OWDATADIR},g' ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.if ${PORT_OPTIONS:MLEARNSPAM}
+ @${PERL} -pi.bak -e 's,enable_learnspam no,enable_learnspam yes,g' ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.endif
+.if ${PORT_OPTIONS:MSPAMCHECK}
+ @${PERL} -pi.bak -e 's,enable_spamcheck no,enable_spamcheck yes,g' ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+ @${ECHO} "enable_saprefs yes" >> ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.endif
+.if ${PORT_OPTIONS:MSPAMCHECK_ALL}
+ @${ECHO} "spamcheck_source_allowed all" >> ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.endif
+.if ${PORT_OPTIONS:MVIRUSCHECK}
+ @${PERL} -pi.bak -e 's,enable_viruscheck no,enable_viruscheck yes,g' ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.endif
+.if ${PORT_OPTIONS:MVIRUSCHECK_ALL}
+ @${ECHO} "viruscheck_source_allowed all" >> ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.endif
+.if ${PORT_OPTIONS:MSPEEDYCGI}
+ @${ECHO} "has_savedsuid_support no" >> ${PATCH_WRKSRC}/etc/openwebmail.conf.sample
+.else
+ @${PERL} -pi.bak -e 's,/usr/bin/suidperl,${PERL},g' ${PATCH_WRKSRC}/openwebmail*pl
+.endif
+
+pre-install:
+ @: > ${PLIST}
+ @${FIND} ${WRKSRC}/*/openwebmail \( -name "*.bak" -or -name "*.orig" \) -delete
+ @${PRINTF} "%s\n%s\n" "@owner ${BINOWN}" "@group mail" >> ${PLIST}
+ @${ECHO} "@sample www/cgi-bin/openwebmail/etc/openwebmail.conf.sample" >> ${PLIST}
+ @${FIND} ${WRKSRC}/cgi-bin/openwebmail \( -type f -o -type l \) -and -not -name openwebmail.conf.sample | \
+ ${SED} -e 's,^${WRKSRC},www,' | ${SORT} -u >> ${PLIST}
+ @${ECHO} "www/cgi-bin/openwebmail/etc/dbm.conf" >> ${PLIST}
+ @${PRINTF} "%s\n%s\n" "@owner" "@group" >> ${PLIST}
+ @${FIND} ${WRKSRC}/data/openwebmail \( -type f -o -type l \) -and -not -name openwebmail.conf.sample | \
+ ${SED} -e 's,^${WRKSRC},www,' | ${SORT} -u >> ${PLIST}
+.if empty(PORT_OPTIONS:MSPEEDYCGI)
+ @${FIND} ${WRKSRC}/*/openwebmail -name "openwebmail*pl" | \
+ ${SED} -e 's,^${WRKSRC},www,' \
+ -e 's,openwebmail/openwebmail,openwebmail/.openwebmail,g' \
+ >> ${TMPPLIST}
+.endif
+ @${FIND} ${WRKSRC}/*/openwebmail -type d | ${SORT} -ur | \
+ ${GREP} -v UTF-8 | \
+ ${SED} -e 's,^${WRKSRC},@dirrm www,' >> ${PLIST}
+ @${FIND} ${WRKSRC}/*/openwebmail -type d | ${SORT} -ur | \
+ ${GREP} UTF-8 | \
+ ${SED} -e 's,^${WRKSRC},@dirrmtry www,' >> ${PLIST}
+ @${ECHO_CMD} "@dirrmtry www/cgi-bin" >> ${PLIST}
+ @${ECHO_CMD} "@dirrmtry www/data" >> ${PLIST}
+
+do-install:
+ @${MKDIR} ${STAGEDIR}${OWCGIDIR} ${STAGEDIR}${OWDATADIR}
+ @(cd ${WRKSRC}/cgi-bin/openwebmail && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${OWCGIDIR})
+ @(cd ${WRKSRC}/data/openwebmail && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${OWDATADIR})
+ @${PERL} ${OWCGIDIR}/misc/test/dbmtest.pl | ${GREP} "^dbm" > ${STAGEDIR}${OWCGIDIR}/etc/dbm.conf
+ @${CHMOD} 4755 ${STAGEDIR}${OWCGIDIR}/openwebmail*pl
+
+.include <bsd.port.post.mk>
diff --git a/mail/openwebmail/distinfo b/mail/openwebmail/distinfo
new file mode 100644
index 000000000000..03b5116c3d30
--- /dev/null
+++ b/mail/openwebmail/distinfo
@@ -0,0 +1,2 @@
+SHA256 (openwebmail-2.53.tar.gz) = d1c133ea0ef65c95e30217db5274104022df0b3877c6291ef23f09654b2fdca7
+SIZE (openwebmail-2.53.tar.gz) = 8887260
diff --git a/mail/openwebmail/files/pkg-install.in b/mail/openwebmail/files/pkg-install.in
new file mode 100644
index 000000000000..863c996bfda9
--- /dev/null
+++ b/mail/openwebmail/files/pkg-install.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+if [ "$2" != "POST-INSTALL" ]; then
+ exit 0
+fi
+
+mkdir -p ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/addressbooks
+mkdir -p ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/sessions
+chmod 0770 ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/sessions
+mkdir -p ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/users
+chmod 0700 ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/users
+chmod 4755 ${PKG_PREFIX}/www/cgi-bin/openwebmail/openwebmail*pl
+
+for x in addressbooks/global calendar.book; do
+ if [ ! -s "${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/${x}" ]; then
+ touch ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/${x}
+ chmod 0666 ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/${x}
+ fi
+done
+
+%%WITHOUT_SPEEDYCGI%% perl ${PKG_PREFIX}/www/cgi-bin/openwebmail/misc/tools/wrapsuid/wrapsuid.pl ${PKG_PREFIX}/www/cgi-bin/openwebmail 2>/dev/null
+
+${PKG_PREFIX}/www/cgi-bin/openwebmail/openwebmail-tool.pl --init --no
diff --git a/mail/openwebmail/pkg-deinstall b/mail/openwebmail/pkg-deinstall
new file mode 100644
index 000000000000..a63d9953a511
--- /dev/null
+++ b/mail/openwebmail/pkg-deinstall
@@ -0,0 +1,12 @@
+#!/bin/sh
+if [ "$2" != "DEINSTALL" ]; then
+ exit 0
+fi
+
+for x in addressbooks/global calendar.book; do
+ if [ ! -s "${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/${x}" ]; then
+ rm ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/${x}
+ fi
+done
+
+rm -fr ${PKG_PREFIX}/www/cgi-bin/openwebmail/etc/sessions/*
diff --git a/mail/openwebmail/pkg-descr b/mail/openwebmail/pkg-descr
new file mode 100644
index 000000000000..5c71eac7fb1f
--- /dev/null
+++ b/mail/openwebmail/pkg-descr
@@ -0,0 +1,10 @@
+Open WebMail is a webmail system designed to manage very large mail folder
+files in a memory efficient way. It also provides a range of features to help
+users migrate smoothly from Microsoft Outlook to Open WebMail. Open WebMail
+has the following features: multiple languages, multiple iconsets/styles,
+strong MIME support, virtual host/login alias, PAM support, online password
+changing, convenient folder/message operations, draft folder, confirmed
+reading support, full content search, a spelling checker, auto reply, mail
+filtering, POP3 support, and message count previewing.
+
+WWW: http://openwebmail.org/