pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/mail/cyrus-imapd38
Module Name: pkgsrc
Committed By: jnemeth
Date: Mon Mar 9 03:22:45 UTC 2026
Added Files:
pkgsrc/mail/cyrus-imapd38: DEINSTALL DESCR Makefile PLIST distinfo
options.mk
pkgsrc/mail/cyrus-imapd38/files: cyrus.sh imapd.conf
pkgsrc/mail/cyrus-imapd38/patches: patch-am patch-ao patch-aq
patch-configure patch-imap_idlemsg.c
Log Message:
mail/cyrus-imapd38: import cyrus-imapd-3.8.6
IMAP (Internet Message Access Protocol) is an Internet standards-track
protocol for accessing messages (mail, bboards, news, etc). The Cyrus
IMAP server differs from other IMAP server implementations in that it
is generally intended to be run on "sealed" servers, where normal users
are not permitted to log in. The mailbox database is stored in parts of
the filesystem that are private to the Cyrus IMAP system. All user
access to mail is through the IMAP, POP3, or KPOP protocols.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/mail/cyrus-imapd38/DEINSTALL \
pkgsrc/mail/cyrus-imapd38/DESCR pkgsrc/mail/cyrus-imapd38/Makefile \
pkgsrc/mail/cyrus-imapd38/PLIST pkgsrc/mail/cyrus-imapd38/distinfo \
pkgsrc/mail/cyrus-imapd38/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/mail/cyrus-imapd38/files/cyrus.sh \
pkgsrc/mail/cyrus-imapd38/files/imapd.conf
cvs rdiff -u -r0 -r1.1 pkgsrc/mail/cyrus-imapd38/patches/patch-am \
pkgsrc/mail/cyrus-imapd38/patches/patch-ao \
pkgsrc/mail/cyrus-imapd38/patches/patch-aq \
pkgsrc/mail/cyrus-imapd38/patches/patch-configure \
pkgsrc/mail/cyrus-imapd38/patches/patch-imap_idlemsg.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: pkgsrc/mail/cyrus-imapd38/DEINSTALL
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/DEINSTALL:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/DEINSTALL Mon Mar 9 03:22:44 2026
@@ -0,0 +1,38 @@
+# $NetBSD: DEINSTALL,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+
+IMAPDCONF=@IMAPDCONF@
+
+case ${STAGE} in
+DEINSTALL)
+ if [ -f ${IMAPDCONF} ]; then
+ IMAPDIRS=`
+ ${AWK} '/configdirectory:/ { print $2 }; \
+ /partition-.*:/ { print $2 }; \
+ /sievedir:/ { print $2 }' \
+ ${IMAPDCONF} | ${SORT} -ur`
+ _IMAPDIRS=
+ for dir in ${IMAPDIRS}; do
+ ${RMDIR} -p ${dir} 2>/dev/null || ${TRUE}
+ if [ -d ${dir} ]; then
+ _IMAPDIRS="${_IMAPDIRS} ${dir}"
+ fi
+ done
+ if [ -n "${_IMAPDIRS}" ]; then
+ ${CAT} << EOF
+===========================================================================
+If you won't be using ${PKGNAME} any longer, you may want to remove
+the following directories:
+
+EOF
+ for dir in ${_IMAPDIRS}; do
+ if [ -d "${dir}" ]; then
+ ${ECHO} " ${dir}"
+ fi
+ done
+ ${CAT} << EOF
+===========================================================================
+EOF
+ fi
+ fi
+ ;;
+esac
Index: pkgsrc/mail/cyrus-imapd38/DESCR
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/DESCR:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/DESCR Mon Mar 9 03:22:44 2026
@@ -0,0 +1,7 @@
+IMAP (Internet Message Access Protocol) is an Internet standards-track
+protocol for accessing messages (mail, bboards, news, etc). The Cyrus
+IMAP server differs from other IMAP server implementations in that it
+is generally intended to be run on "sealed" servers, where normal users
+are not permitted to log in. The mailbox database is stored in parts of
+the filesystem that are private to the Cyrus IMAP system. All user
+access to mail is through the IMAP, POP3, or KPOP protocols.
Index: pkgsrc/mail/cyrus-imapd38/Makefile
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/Makefile:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/Makefile Mon Mar 9 03:22:44 2026
@@ -0,0 +1,169 @@
+# $NetBSD: Makefile,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+
+DISTNAME= cyrus-imapd-3.8.6
+CATEGORIES= mail
+MASTER_SITES= ${MASTER_SITE_GITHUB:=cyrusimap/}
+GITHUB_TAG= ${PKGNAME_NOREV}
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://www.cyrusimap.org/
+COMMENT= Cyrus IMAP server
+LICENSE= original-bsd # like license
+
+MAKE_JOBS_SAFE= no
+
+USE_TOOLS+= perl:run makedepend pkg-config gmake bison bash:run
+USE_TOOLS+= autoconf automake autoreconf
+USE_LANGUAGES+= c c++
+USE_PKGLOCALEDIR= yes
+GNU_CONFIGURE= yes
+PERL5_CONFIGURE= no
+USE_LIBTOOL= yes
+
+BUILD_DEFS+= VARBASE
+
+CHECK_PORTABILITY_SKIP= configure.lineno
+
+.include "../../mk/bsd.prefs.mk"
+
+# CYRUS_USER username of the Cyrus administrator
+# CYRUS_GROUP group of the Cyrus administrator
+#
+CYRUS_USER?= cyrus
+CYRUS_GROUP?= mail
+
+BUILD_DEFS+= CYRUS_USER CYRUS_GROUP
+FILES_SUBST+= CYRUS_USER=${CYRUS_USER}
+FILES_SUBST+= CYRUS_GROUP=${CYRUS_GROUP}
+
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --with-cyrus-user=${CYRUS_USER}
+#CONFIGURE_ARGS+= --with-cyrus-group=${CYRUS_GROUP}
+#CONFIGURE_ARGS+= --with-cyrus-prefix=${PREFIX}/cyrus
+CONFIGURE_ARGS+= --with-pidfile=${VARBASE}/run/cyrus-master.pid
+CONFIGURE_ARGS+= --with-openssl=${SSLBASE:Q}
+CONFIGURE_ARGS+= --with-sasl=${BUILDLINK_PREFIX.cyrus-sasl}
+CONFIGURE_ARGS+= --with-perl=${PERL5:Q}
+CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}
+CONFIGURE_ENV+= ac_cv_lib_wrap_request_init=yes
+
+CONFIGURE_ARGS+= --enable-idled
+CONFIGURE_ARGS+= --enable-murder
+CONFIGURE_ARGS+= --enable-nntp
+CONFIGURE_ARGS+= --enable-replication
+
+CONFIGURE_ARGS+= andrew_cv_runpath_switch=${COMPILER_RPATH_FLAG}
+
+.include "options.mk"
+
+MAKE_ENV+= PERL=${PERL5:Q}
+
+HTMLDIR= ${PREFIX}/share/doc/cyrus-imapd
+EGDIR= ${PREFIX}/share/examples/cyrus-imapd
+CONF_FILES= ${EGDIR}/imapd.conf ${PKG_SYSCONFDIR}/imapd.conf
+CONF_FILES+= ${EGDIR}/normal.conf ${PKG_SYSCONFDIR}/cyrus.conf
+RCD_SCRIPTS= cyrus
+FILES_SUBST+= IMAPDCONF=${PKG_SYSCONFDIR}/imapd.conf
+
+REPLACE_BASH+= imap/cyr_cd.sh
+
+REPLACE_PERL+= imap/promdatagen
+REPLACE_PERL+= perl/annotator/Daemon.pm
+REPLACE_PERL+= perl/sieve/scripts/sieveshell.pl
+REPLACE_PERL+= snmp/snmpgen
+REPLACE_PERL+= tools/config2header
+REPLACE_PERL+= tools/masssievec
+REPLACE_PERL+= tools/mkimap
+REPLACE_PERL+= tools/mknewsgroups
+REPLACE_PERL+= tools/rehash
+
+# Override default Perl install location
+SUBST_CLASSES+= perldir
+SUBST_STAGE.perldir= post-configure
+SUBST_FILES.perldir= perl/annotator/Makefile
+SUBST_FILES.perldir+= perl/imap/Makefile
+SUBST_FILES.perldir+= perl/sieve/managesieve/Makefile
+SUBST_SED.perldir+= -e 's|\(^INSTALLDIRS =\) .*|\1 vendor|'
+
+PERL5_PACKLIST= \
+ auto/Cyrus/Annotator/Daemon/.packlist \
+ auto/Cyrus/IMAP/.packlist \
+ auto/Cyrus/SIEVE/managesieve/.packlist
+
+post-extract:
+# set -e; cd ${WRKSRC} && automake -acf
+ set -e; cd ${WRKSRC} && autoreconf -fi
+
+#pre-build:
+# ${RUN}${_ULIMIT_CMD} \
+# cd ${WRKSRC} && ${BUILD_MAKE_CMD} depend
+
+.include "../../lang/perl5/module.mk"
+BUILDLINK_API_DEPENDS.cyrus-sasl+= cyrus-sasl>=2.1.17
+.include "../../security/cyrus-sasl/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../security/tcp_wrappers/buildlink3.mk"
+
+# Only imap/mupdate needs to be build with pthreads support, so selectively
+# enable it via patches for just that one program.
+#
+.include "../../mk/pthread.buildlink3.mk"
+
+# XXX cyrus imapd no longer comes with prebuilt man pages
+# # Change references of some manpages from foo.8 to cyrus-foo.8 to avoid
+# # manpage conflicts with other packages. Also change references to
+# # "/etc/{cyrus,imapd}.conf" into "${PKG_SYSCONFDIR}/{cyrus,imapd}.conf".
+# #
+# post-patch:
+# cd ${WRKSRC}/man; \
+# set -- deliver 8 fetchnews 8 idled 8 imapd 8 lmtpd 8 master 8 \
+# nntpd 8 notifyd 8 pop3d 8 quota 8; \
+# while [ $$# -gt 0 ]; do \
+# man=$$1.$$2; \
+# for file in Makefile.in *.[0-9]; do \
+# sed -e "s|\(\$$(srcdir)/\)\($$man\)|\1cyrus-\2|g" \
+# -e "s|\(\\\fB\)\($$1($$2)\\\fR\)|\1cyrus-\2|g" \
+# $$file > $$file.fixed; \
+# mv -f $$file.fixed $$file; \
+# done; \
+# if [ -f $$man ]; then \
+# mv $$man cyrus-$$man; \
+# fi; \
+# shift 2; \
+# done
+# find ${WRKSRC} -type f -print | \
+# xargs -n 1 ${GREP} -l -e /etc/imapd\.conf -e /etc/cyrus\.conf | \
+# while read file; do \
+# sed -e "s|/etc/\(cyrus\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
+# -e "s|/etc/\(imapd\.conf\)|${PKG_SYSCONFDIR}/\1|g" \
+# $${file} > $${file}.fixed; \
+# mv -f $${file}.fixed $${file}; \
+# done
+
+post-install:
+# ${INSTALL_SCRIPT_DIR} ${DESTDIR}${PREFIX}/cyrus/bin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/masssievec ${DESTDIR}${PREFIX}/sbin
+# ${INSTALL_SCRIPT} ${WRKSRC}/tools/migrate-metadata ${DESTDIR}${PREFIX}/sbin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/mkimap ${DESTDIR}${PREFIX}/sbin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/mknewsgroups ${DESTDIR}${PREFIX}/sbin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/translatesieve ${DESTDIR}${PREFIX}/sbin
+ ${INSTALL_SCRIPT} ${WRKSRC}/tools/rehash ${DESTDIR}${PREFIX}/sbin
+ ${INSTALL_DATA_DIR} ${DESTDIR}${EGDIR}
+ ${INSTALL_DATA} ${FILESDIR}/imapd.conf ${DESTDIR}${EGDIR}
+ cd ${WRKSRC}/doc/examples/cyrus_conf; for file in *.conf; do \
+ ${INSTALL_DATA} $${file} ${DESTDIR}${EGDIR}; \
+ done
+ ${INSTALL_DATA_DIR} ${DESTDIR}${HTMLDIR}
+# cd ${WRKSRC}/doc/legacy; for file in *.html cyrusv2.mc; do \
+ cd ${WRKSRC}/doc/legacy; for file in *.html; do \
+ ${INSTALL_DATA} $${file} ${DESTDIR}${HTMLDIR}; \
+ done
+
+.include "../../time/libical/buildlink3.mk"
+.include "../../textproc/jansson/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
+.include "../../databases/sqlite3/buildlink3.mk"
+CONFIGURE_ARGS+= --with-sqlite=${BUILDLINK_PREFIX.sqlite3}
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/mail/cyrus-imapd38/PLIST
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/PLIST:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/PLIST Mon Mar 9 03:22:44 2026
@@ -0,0 +1,242 @@
+@comment $NetBSD: PLIST,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+bin/httptest
+bin/imtest
+bin/installsieve
+bin/lmtptest
+bin/mupdatetest
+bin/nntptest
+bin/pop3test
+bin/sieveshell
+bin/sivtest
+bin/smtptest
+bin/synctest
+include/cyrus/acl.h
+include/cyrus/arrayu64.h
+include/cyrus/assert.h
+include/cyrus/auth.h
+include/cyrus/auth_pts.h
+include/cyrus/bitvector.h
+include/cyrus/bloom.h
+include/cyrus/bsearch.h
+include/cyrus/bufarray.h
+include/cyrus/charset.h
+include/cyrus/chartable.h
+include/cyrus/command.h
+include/cyrus/crc32.h
+include/cyrus/cyr_lock.h
+include/cyrus/cyr_qsort_r.h
+include/cyrus/cyrusdb.h
+include/cyrus/dynarray.h
+include/cyrus/glob.h
+include/cyrus/gmtoff.h
+include/cyrus/hash.h
+include/cyrus/hashset.h
+include/cyrus/hashu64.h
+include/cyrus/imapopts.h
+include/cyrus/imapurl.h
+include/cyrus/imclient.h
+include/cyrus/imparse.h
+include/cyrus/iostat.h
+include/cyrus/iptostring.h
+include/cyrus/libcyr_cfg.h
+include/cyrus/lsort.h
+include/cyrus/map.h
+include/cyrus/mappedfile.h
+include/cyrus/mkgmtime.h
+include/cyrus/mpool.h
+include/cyrus/murmurhash2.h
+include/cyrus/nonblock.h
+include/cyrus/parseaddr.h
+include/cyrus/procinfo.h
+include/cyrus/retry.h
+include/cyrus/rfc822tok.h
+include/cyrus/seqset.h
+include/cyrus/sieve/sieve_err.h
+include/cyrus/sieve/sieve_interface.h
+include/cyrus/signals.h
+include/cyrus/smallarrayu64.h
+include/cyrus/sqldb.h
+include/cyrus/strarray.h
+include/cyrus/strhash.h
+include/cyrus/stristr.h
+include/cyrus/times.h
+include/cyrus/tok.h
+include/cyrus/vparse.h
+include/cyrus/wildmat.h
+include/cyrus/xmalloc.h
+lib/libcyrus.la
+lib/libcyrus_com_err.la
+lib/libcyrus_imap.la
+lib/libcyrus_min.la
+lib/libcyrus_sieve.la
+${PERL5_SUB_INSTALLVENDORLIB}/Cyrus/Annotator/AnnotateInlinedCIDs.pm
+${PERL5_SUB_INSTALLVENDORLIB}/Cyrus/Annotator/Daemon.pm
+${PERL5_SUB_INSTALLVENDORLIB}/Cyrus/Annotator/Message.pm
+${PERL5_SUB_INSTALLVENDORARCH}/Cyrus/IMAP.pm
+${PERL5_SUB_INSTALLVENDORARCH}/Cyrus/IMAP/Admin.pm
+${PERL5_SUB_INSTALLVENDORARCH}/Cyrus/IMAP/Shell.pm
+${PERL5_SUB_INSTALLVENDORARCH}/Cyrus/SIEVE/managesieve.pm
+${PERL5_SUB_INSTALLVENDORARCH}/auto/Cyrus/Annotator/Daemon/.packlist
+${PERL5_SUB_INSTALLVENDORARCH}/auto/Cyrus/IMAP/.packlist
+${PERL5_SUB_INSTALLVENDORARCH}/auto/Cyrus/IMAP/IMAP.so
+${PERL5_SUB_INSTALLVENDORARCH}/auto/Cyrus/SIEVE/managesieve/.packlist
+${PERL5_SUB_INSTALLVENDORARCH}/auto/Cyrus/SIEVE/managesieve/managesieve.so
+${PERL5_SUB_INSTALLVENDORBIN}/cyradm
+${PERL5_SUB_INSTALLVENDORMAN1DIR}/cyradm.1
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/Cyrus::Annotator::Daemon.3
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/Cyrus::Annotator::Message.3
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/Cyrus::IMAP.3
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/Cyrus::IMAP::Admin.3
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/Cyrus::IMAP::Shell.3
+${PERL5_SUB_INSTALLVENDORMAN3DIR}/Cyrus::SIEVE::managesieve.3
+lib/pkgconfig/libcyrus.pc
+lib/pkgconfig/libcyrus_imap.pc
+lib/pkgconfig/libcyrus_min.pc
+lib/pkgconfig/libcyrus_sieve.pc
+libexec/fud
+libexec/idled
+libexec/imapd
+libexec/lmtpd
+libexec/lmtpproxyd
+libexec/master
+libexec/mupdate
+libexec/nntpd
+libexec/notifyd
+libexec/pop3d
+libexec/pop3proxyd
+libexec/promstatsd
+libexec/proxyd
+libexec/ptloader
+libexec/smmapd
+libexec/sync_server
+libexec/timsieved
+man/man1/httptest.1
+man/man1/imtest.1
+man/man1/installsieve.1
+man/man1/lmtptest.1
+man/man1/mupdatetest.1
+man/man1/nntptest.1
+man/man1/pop3test.1
+man/man1/sieveshell.1
+man/man1/sivtest.1
+man/man1/smtptest.1
+man/man1/synctest.1
+man/man3/imclient.3
+man/man5/cyrus.conf.5
+man/man5/imapd.conf.5
+man/man5/krb.equiv.5
+man/man8/arbitron.8
+man/man8/backupd.8
+man/man8/chk_cyrus.8
+man/man8/ctl_backups.8
+man/man8/ctl_conversationsdb.8
+man/man8/ctl_cyrusdb.8
+man/man8/ctl_deliver.8
+man/man8/ctl_mboxlist.8
+man/man8/cvt_cyrusdb.8
+man/man8/cvt_xlist_specialuse.8
+man/man8/cyr_backup.8
+man/man8/cyr_buildinfo.8
+man/man8/cyr_dbtool.8
+man/man8/cyr_deny.8
+man/man8/cyr_df.8
+man/man8/cyr_expire.8
+man/man8/cyr_info.8
+man/man8/cyr_ls.8
+man/man8/cyr_synclog.8
+man/man8/cyr_userseen.8
+man/man8/cyr_virusscan.8
+man/man8/cyradm.8
+man/man8/cyrdump.8
+man/man8/deliver.8
+man/man8/fetchnews.8
+man/man8/fud.8
+man/man8/idled.8
+man/man8/imapd.8
+man/man8/ipurge.8
+man/man8/lmtpd.8
+man/man8/lmtpproxyd.8
+man/man8/master.8
+man/man8/mbexamine.8
+man/man8/mbpath.8
+man/man8/mbtool.8
+man/man8/mupdate.8
+man/man8/nntpd.8
+man/man8/notifyd.8
+man/man8/pop3d.8
+man/man8/pop3proxyd.8
+man/man8/promstatsd.8
+man/man8/proxyd.8
+man/man8/ptdump.8
+man/man8/ptexpire.8
+man/man8/ptloader.8
+man/man8/quota.8
+man/man8/reconstruct.8
+man/man8/relocate_by_id.8
+man/man8/restore.8
+man/man8/sievec.8
+man/man8/sieved.8
+man/man8/smmapd.8
+man/man8/squatter.8
+man/man8/sync_client.8
+man/man8/sync_reset.8
+man/man8/sync_server.8
+man/man8/timsieved.8
+man/man8/tls_prune.8
+man/man8/unexpunge.8
+sbin/arbitron
+sbin/chk_cyrus
+sbin/ctl_conversationsdb
+sbin/ctl_cyrusdb
+sbin/ctl_deliver
+sbin/ctl_mboxlist
+sbin/cvt_cyrusdb
+sbin/cvt_xlist_specialuse
+sbin/cyr_buildinfo
+sbin/cyr_cd.sh
+sbin/cyr_dbtool
+sbin/cyr_deny
+sbin/cyr_df
+sbin/cyr_expire
+sbin/cyr_info
+sbin/cyr_ls
+sbin/cyr_pwd
+sbin/cyr_synclog
+sbin/cyr_userseen
+sbin/cyr_virusscan
+sbin/cyrdump
+sbin/deliver
+sbin/fetchnews
+sbin/ipurge
+sbin/masssievec
+sbin/mbexamine
+sbin/mbpath
+sbin/mbtool
+sbin/mkimap
+sbin/mknewsgroups
+sbin/ptdump
+sbin/ptexpire
+sbin/quota
+sbin/reconstruct
+sbin/rehash
+sbin/relocate_by_id
+sbin/sievec
+sbin/sieved
+sbin/squatter
+sbin/sync_client
+sbin/sync_reset
+sbin/tls_prune
+sbin/translatesieve
+sbin/unexpunge
+share/examples/cyrus-imapd/cmu-backend.conf
+share/examples/cyrus-imapd/cmu-frontend.conf
+share/examples/cyrus-imapd/imapd.conf
+share/examples/cyrus-imapd/murder-backend.conf
+share/examples/cyrus-imapd/murder-frontend.conf
+share/examples/cyrus-imapd/murder-mupdate.conf
+share/examples/cyrus-imapd/normal-master.conf
+share/examples/cyrus-imapd/normal-replica.conf
+share/examples/cyrus-imapd/normal.conf
+share/examples/cyrus-imapd/prefork.conf
+share/examples/cyrus-imapd/small.conf
+@pkgdir share/doc/cyrus-imapd
Index: pkgsrc/mail/cyrus-imapd38/distinfo
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/distinfo:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/distinfo Mon Mar 9 03:22:44 2026
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+
+BLAKE2s (cyrus-imapd-3.8.6.tar.gz) = 836d0fb39163ef20e2f4239aeb672fb2025eaeff06f01229221ad16b5f237f0c
+SHA512 (cyrus-imapd-3.8.6.tar.gz) = 998a4f4fbb2b3c350a964ac16229b74b0a433cbb8fce246c5d72cf32d9482381d4085f5712c6a901163e8003ef6da1e0a592a218f19349d8f37627935efee87f
+Size (cyrus-imapd-3.8.6.tar.gz) = 5012085 bytes
+SHA1 (patch-am) = b8c95ca9f6399a0ca23eb1bcd8ecaeaf8b1df19f
+SHA1 (patch-ao) = c01c9d32b4d73cbc32d2ad8bfca8b8b021ca2474
+SHA1 (patch-aq) = bedd7e2d8e751577fa02f8f4cd91c00bd20b8a21
+SHA1 (patch-configure) = 3d44f8ba4f6cd829c4adf83a2a0c4e829386b514
+SHA1 (patch-imap_idlemsg.c) = fa7e0a66702a200112cf6ad8d65f22e0a2d5b1f6
Index: pkgsrc/mail/cyrus-imapd38/options.mk
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/options.mk:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/options.mk Mon Mar 9 03:22:44 2026
@@ -0,0 +1,101 @@
+# $NetBSD: options.mk,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+#
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.cyrus-imapd
+PKG_SUPPORTED_OPTIONS= gssapi kerberos kerberos4 ldap pcre snmp
+PKG_SUPPORTED_OPTIONS+= mysql pgsql
+PKG_SUGGESTED_OPTIONS= pcre
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= ldap
+
+.if !empty(PKG_OPTIONS:Mkerberos)
+. if empty(PKG_OPTIONS:Mgssapi)
+PKG_OPTIONS+= gssapi
+. endif
+.endif
+
+.if !empty(PKG_OPTIONS:Mkerberos4)
+. if exists(/usr/include/kerberosIV/krb.h)
+PKG_USE_KERBEROS= yes
+CONFIGURE_ARGS+= --with-krb=/usr
+. endif
+.elif !empty(PKG_OPTIONS:Mgssapi)
+. include "../../mk/krb5.buildlink3.mk"
+CONFIGURE_ARGS+= --enable-gssapi=${KRB5BASE}
+CONFIGURE_ARGS+= --with-gss_impl=${GSSIMPL.${KRB5_TYPE}}
+GSSIMPL.heimdal= heimdal
+GSSIMPL.mit-krb5= mit
+CONFIGURE_ENV+= COMPILE_ET=${KRB5BASE}/bin/compile_et
+.else
+CONFIGURE_ARGS+= --without-krb
+CONFIGURE_ARGS+= --disable-gssapi
+CHECK_BUILTIN.heimdal:= yes
+. include "../../security/heimdal/builtin.mk"
+CHECK_BUILTIN.heimdal:= no
+CHECK_BUILTIN.mit-krb5:= yes
+. include "../../security/mit-krb5/builtin.mk"
+CHECK_BUILTIN.mit-krb5:= no
+. if ( ${USE_BUILTIN.heimdal:tl} == yes || \
+ ${USE_BUILTIN.mit-krb5:tl} == yes) && \
+ exists(/usr/bin/compile_et) && exists(/usr/include/krb5/com_err.h)
+CPPFLAGS+= -I/usr/include/krb5
+CONFIGURE_ENV+= COMPILE_ET=/usr/bin/compile_et
+. elif ${OPSYS} != "Linux" && \
+ exists(/usr/bin/compile_et) && exists(/usr/include/com_err.h)
+CONFIGURE_ENV+= COMPILE_ET=/usr/bin/compile_et
+. else
+CONFIGURE_ARGS+= --with-com-err=yes
+. endif
+.endif
+.if !empty(CONFIGURE_ENV:MCOMPILE_ET=*)
+post-configure: generate-compile-et
+.endif
+
+generate-compile-et:
+ ${RUN}cd ${WRKSRC}/com_err/et; \
+ if ${TEST} ! -f Makefile -a ! -f compile_et; then \
+ ${SED} -e 's,@SED@,${SED},g' \
+ -e 's,@AWK@,${AWK},g' \
+ -e 's,@DIR@,${WRKSRC}/com_err/et,g' \
+ < compile_et.sh > compile_et; \
+ ${CHMOD} +x compile_et; \
+ fi
+
+.if !empty(PKG_OPTIONS:Mldap)
+. include "../../databases/openldap-client/buildlink3.mk"
+CONFIGURE_ARGS+= --with-ldap=${BUILDLINK_PREFIX.openldap-client}
+PLIST.ldap= yes
+.else
+CONFIGURE_ARGS+= --without-ldap
+.endif
+
+.if !empty(PKG_OPTIONS:Msnmp)
+. include "../../net/net-snmp/buildlink3.mk"
+CONFIGURE_ARGS+= --with-snmp=${BUILDLINK_PREFIX.net-snmp}
+USE_TOOLS+= perl:run
+.else
+CONFIGURE_ARGS+= --without-snmp
+.endif
+
+.if !empty(PKG_OPTIONS:Mmysql)
+. include "../../mk/mysql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-mysql=${BUILDLINK_PREFIX.mysql-client}
+.else
+CONFIGURE_ARGS+= --without-mysql
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+. include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-pgsql=${PGSQL_PREFIX}
+.else
+CONFIGURE_ARGS+= --without-pgsql
+.endif
+
+.if !empty(PKG_OPTIONS:Mpcre)
+. include "../../devel/pcre/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-pcre
+.else
+CONFIGURE_ARGS+= --disable-pcre
+.endif
Index: pkgsrc/mail/cyrus-imapd38/files/cyrus.sh
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/files/cyrus.sh:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/files/cyrus.sh Mon Mar 9 03:22:44 2026
@@ -0,0 +1,80 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: cyrus.sh,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+#
+# PROVIDE: cyrus
+# REQUIRE: DAEMON
+# BEFORE: mail
+# KEYWORD: shutdown
+#
+# To start cyrus-imapd at startup, copy this script to /etc/rc.d and set
+# cyrus=YES in /etc/rc.conf.
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+rcd_dir=`@DIRNAME@ $0`
+
+name="cyrus"
+rcvar=$name
+command="@PREFIX@/cyrus/bin/master"
+command_args="-d"
+pidfile="@VARBASE@/run/cyrus-master.pid"
+sig_stop=QUIT
+required_files="@PKG_SYSCONFDIR@/cyrus.conf @IMAPDCONF@"
+extra_commands="mkimap reload"
+
+mkimap_cmd="cyrus_mkimap"
+start_precmd="cyrus_prestart"
+
+cyrus_prestart()
+{
+ # Check to see if "configdirectory" is present before we start
+ # the Cyrus IMAP server. Otherwise, we run mkimap to generate
+ # the necessary directories.
+ #
+ if [ -f @IMAPDCONF@ ]; then
+ configdir=` \
+ @AWK@ '/^configdirectory:/ { print $2; exit };' \
+ @IMAPDCONF@ \
+ `
+ if [ -z "$configdir" ]; then
+ @ECHO@ "@IMAPDCONF@ missing 'configdirectory' setting"
+ exit 1
+ fi
+ if [ ! -d "$configdir" ]; then
+ $rcd_dir/cyrus mkimap
+ fi
+ fi
+}
+
+cyrus_mkimap()
+{
+ # Generate the prerequisite directory structure for Cyrus IMAP.
+ if [ -f @IMAPDCONF@ ]; then
+ @AWK@ '/^configdirectory:/ { print $2 }; \
+ /^partition-.*:/ { print $2 }; \
+ /^sievedir:/ { print $2 }' \
+ @IMAPDCONF@ | \
+ while read dir; do
+ if [ ! -d "$dir" ]; then
+ @MKDIR@ "$dir"
+ @CHMOD@ 750 "$dir"
+ @CHOWN@ @CYRUS_USER@ "$dir"
+ @CHGRP@ @CYRUS_GROUP@ "$dir"
+ fi
+ done
+ @SU@ -m @CYRUS_USER@ -c "@PREFIX@/cyrus/bin/mkimap"
+ fi
+}
+
+if [ -f /etc/rc.subr -a -f /etc/rc.conf \
+ -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ @ECHO@ -n " ${name}"
+ eval ${start_precmd}
+ ${command} ${cyrus_flags} ${command_args}
+fi
Index: pkgsrc/mail/cyrus-imapd38/files/imapd.conf
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/files/imapd.conf:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/files/imapd.conf Mon Mar 9 03:22:44 2026
@@ -0,0 +1,25 @@
+# $NetBSD: imapd.conf,v 1.1 2026/03/09 03:22:44 jnemeth Exp $
+#
+# Cyrus IMAP server configuration file. Refer to imapd.conf(5) for
+# more options.
+
+configdirectory: /var/imap
+partition-default: /var/spool/imap
+sieveusehomedir: false
+sievedir: /var/sieve
+hashimapspool: false
+
+admins: cyrus
+
+# If use the saslauthd daemon to verify plaintext passwords, please ensure that
+# the saslauthd daemon is running before trying to authenticate.
+#
+#sasl_pwcheck_method: saslauthd
+sasl_pwcheck_method: auxprop
+
+# The server certificate and key files must be specified for the
+# server to repond to IMAPS or POP3S requests. See imapd.conf(5) for
+# a complete listing of tls_* options.
+#
+#tls_cert_file: /var/imap/server.pem
+#tls_key_file: /var/imap/server.pem
Index: pkgsrc/mail/cyrus-imapd38/patches/patch-am
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/patches/patch-am:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/patches/patch-am Mon Mar 9 03:22:45 2026
@@ -0,0 +1,19 @@
+$NetBSD: patch-am,v 1.1 2026/03/09 03:22:45 jnemeth Exp $
+
+--- tools/config2header.orig 2025-06-27 02:57:49.000000000 +0000
++++ tools/config2header
+@@ -77,6 +77,14 @@ while (scalar @ARGV) {
+
+ my $use_gcc_extension = (exists $vars{CC} and $vars{CC} eq 'gcc');
+
++#
++# Skip any CC options such as -pipe
++# The last two parameters are the .c and .h files
++#
++while ($#ARGV > 1) {
++ shift @ARGV;
++}
++
+ die "wrong number of arguments" if scalar @ARGV != 2;
+ my ($cfile, $hfile) = @ARGV;
+
Index: pkgsrc/mail/cyrus-imapd38/patches/patch-ao
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/patches/patch-ao:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/patches/patch-ao Mon Mar 9 03:22:45 2026
@@ -0,0 +1,17 @@
+$NetBSD: patch-ao,v 1.1 2026/03/09 03:22:45 jnemeth Exp $
+
+--- imap/imap_err.et.orig 2010-10-19 03:08:28.000000000 +0000
++++ imap/imap_err.et
+@@ -201,10 +201,10 @@ ec IMAP_NO_MSGGONE,
+ "Message %d no longer exists"
+
+ ec IMAP_NO_CHECKSEEN,
+- "Unable to checkpoint \\Seen state"
++ "Unable to checkpoint \\\\Seen state"
+
+ ec IMAP_NO_CHECKPRESERVE,
+- "Unable to preserve \\Seen state"
++ "Unable to preserve \\\\Seen state"
+
+ ec IMAP_NO_NOSUCHMSG,
+ "No matching messages"
Index: pkgsrc/mail/cyrus-imapd38/patches/patch-aq
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/patches/patch-aq:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/patches/patch-aq Mon Mar 9 03:22:45 2026
@@ -0,0 +1,25 @@
+$NetBSD: patch-aq,v 1.1 2026/03/09 03:22:45 jnemeth Exp $
+
+* cast to unsigned long for platform sizeof(time_t) > sizeof(unsigned long).
+ https://bugzilla.cyrusimap.org/show_bug.cgi?id=3376
+
+--- imap/sync_client.c.orig 2024-07-29 01:37:07.000000000 +0000
++++ imap/sync_client.c
+@@ -174,7 +174,7 @@ enum {
+ };
+
+ static int do_daemon_work(const char *sync_shutdown_file,
+- unsigned long timeout, unsigned long min_delta,
++ time_t timeout, time_t min_delta,
+ int *restartp)
+ {
+ int r = 0;
+@@ -329,7 +329,7 @@ static void replica_disconnect(void)
+ }
+
+ static void do_daemon(const char *sync_shutdown_file,
+- unsigned long timeout, unsigned long min_delta)
++ time_t timeout, time_t min_delta)
+ {
+ int r = 0;
+ int restart = 1;
Index: pkgsrc/mail/cyrus-imapd38/patches/patch-configure
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/patches/patch-configure:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/patches/patch-configure Mon Mar 9 03:22:45 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-configure,v 1.1 2026/03/09 03:22:45 jnemeth Exp $
+
+Fix SunOS build of the libcyrus.a library.
+
+--- configure.orig 2024-10-28 05:48:03.051142678 +0000
++++ configure
+@@ -29744,7 +29744,7 @@ elif test "${with_perl}" != "no"; then
+
+
+ case "${target_os}" in
+- linux*|netbsd*|freebsd*|dragonfly*|openbsd*)
++ linux*|netbsd*|freebsd*|dragonfly*|openbsd*|solaris2*)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for perl cccdlflags needed on \"${target_os}\"" >&5
+ printf %s "checking for perl cccdlflags needed on \"${target_os}\"... " >&6; }
+ eval `${PERL} -V:cccdlflags`
Index: pkgsrc/mail/cyrus-imapd38/patches/patch-imap_idlemsg.c
diff -u /dev/null pkgsrc/mail/cyrus-imapd38/patches/patch-imap_idlemsg.c:1.1
--- /dev/null Mon Mar 9 03:22:45 2026
+++ pkgsrc/mail/cyrus-imapd38/patches/patch-imap_idlemsg.c Mon Mar 9 03:22:45 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-imap_idlemsg.c,v 1.1 2026/03/09 03:22:45 jnemeth Exp $
+
+Fix SunOS build, where "sun" is defined, which clashes with variable naming.
+
+--- imap/idlemsg.c.orig 2024-03-13 02:46:30.000000000 +0000
++++ imap/idlemsg.c
+@@ -60,6 +60,11 @@
+ #include "idlemsg.h"
+ #include "global.h"
+
++/* SunOS defines the macro "sun", which clashes with variable naming here. */
++#ifdef sun
++#undef sun
++#endif
++
+ /* generated headers are not necessarily in current directory */
+ #include "imap/imap_err.h"
+
Home |
Main Index |
Thread Index |
Old Index