pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

dovecot24: added dovecot version 2.4.x



Module Name:	pkgsrc-wip
Committed By:	Olaf Seibert <rhialto%falu.nl@localhost>
Pushed By:	rhialto
Date:		Tue Feb 3 18:25:03 2026 +0100
Changeset:	76b480d4130376e559ed63f3a99570713d7b2acd

Modified Files:
	Makefile
Added Files:
	dovecot24/DESCR
	dovecot24/Makefile
	dovecot24/Makefile.common
	dovecot24/PLIST
	dovecot24/TODO
	dovecot24/buildlink3.mk
	dovecot24/distinfo
	dovecot24/files/dovecot.sh
	dovecot24/files/smf/manifest.xml
	dovecot24/options.mk
	dovecot24/patches/patch-src_lib-var-expand-crypt_Makefile.in

Log Message:
dovecot24: added dovecot version 2.4.x

contributed by Sad Clouds

I made some small changes /mail/ -> /wip/ to give it a chance to build
in wip/ instead of mail/, but there are some TODO items.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=76b480d4130376e559ed63f3a99570713d7b2acd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |   1 +
 dovecot24/DESCR                                    |   4 +
 dovecot24/Makefile                                 |  50 ++
 dovecot24/Makefile.common                          |  73 ++
 dovecot24/PLIST                                    | 788 +++++++++++++++++++++
 dovecot24/TODO                                     |  20 +
 dovecot24/buildlink3.mk                            |  22 +
 dovecot24/distinfo                                 |   6 +
 dovecot24/files/dovecot.sh                         |  32 +
 dovecot24/files/smf/manifest.xml                   |  33 +
 dovecot24/options.mk                               |  52 ++
 .../patch-src_lib-var-expand-crypt_Makefile.in     |  13 +
 12 files changed, 1094 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 7487d36f74..30dbbe3db8 100644
--- a/Makefile
+++ b/Makefile
@@ -790,6 +790,7 @@ SUBDIR+=	dosemu2
 SUBDIR+=	dotproject
 SUBDIR+=	dovecot-antispam
 SUBDIR+=	dovecot2-fts-xapian
+SUBDIR+=	dovecot24
 SUBDIR+=	downtimed
 SUBDIR+=	doxy2man
 SUBDIR+=	dpic
diff --git a/dovecot24/DESCR b/dovecot24/DESCR
new file mode 100644
index 0000000000..19ae5693f7
--- /dev/null
+++ b/dovecot24/DESCR
@@ -0,0 +1,4 @@
+Dovecot is an open source IMAP and POP3 server for Linux/UNIX-like systems,
+written with security primarily in mind. Dovecot is an excellent choice for both
+small and large installations. It's fast, simple to set up, requires no special
+administration and it uses very little memory.
diff --git a/dovecot24/Makefile b/dovecot24/Makefile
new file mode 100644
index 0000000000..8fc5f49743
--- /dev/null
+++ b/dovecot24/Makefile
@@ -0,0 +1,50 @@
+#.include "../../mail/dovecot24/Makefile.common"
+.include "../../wip/dovecot24/Makefile.common"
+
+RCD_SCRIPTS=		dovecot
+SMF_NAME=		dovecot
+
+DOVECOT_USER?=		dovecot
+DOVECOT_GROUP?=		dovecot
+DOVENULL_USER?=		dovenull
+DOVENULL_GROUP?=	dovenull
+PKG_GROUPS=		${DOVECOT_GROUP} ${DOVENULL_GROUP}
+PKG_USERS=		${DOVECOT_USER}:${DOVECOT_GROUP}	\
+			${DOVENULL_USER}:${DOVENULL_GROUP}
+PKG_GROUPS_VARS=	DOVECOT_GROUP DOVENULL_GROUP
+PKG_USERS_VARS=		DOVECOT_USER DOVENULL_USER
+
+PKG_GECOS.${DOVECOT_USER}=	Dovecot IMAP/POP3 user
+PKG_GECOS.${DOVENULL_USER}=	Dovecot login user
+
+EGDIR=			${PREFIX}/share/examples/dovecot
+
+CNFS_cmd=		${SED} -ne "s,^share/examples/dovecot/,,p" PLIST
+CNFS=			${CNFS_cmd:sh}
+CONF_FILES=             ${EGDIR}/dovecot.conf ${PKG_SYSCONFDIR}/dovecot/dovecot.conf
+.for file in ${CNFS}
+CONF_FILES+=		${EGDIR}/${file:Q} ${PKG_SYSCONFDIR}/dovecot/${file:Q}
+.endfor
+
+INSTALLATION_DIRS+=	libexec/dovecot sbin share/doc/dovecot
+INSTALLATION_DIRS+=	share/examples/dovecot share/examples/dovecot/conf.d
+OWN_DIRS=		${PKG_SYSCONFDIR}/dovecot/
+OWN_DIRS+=		${PKG_SYSCONFDIR}/dovecot/conf.d
+
+REPLACE_BASH+=		src/util/dovecot-sysreport
+REPLACE_BASH+=		src/util/health-check.sh
+
+.PHONY: enable-manz-by-replacing-roff-includes-with-symlinks
+enable-manz-by-replacing-roff-includes-with-symlinks:
+	cd ${DESTDIR}${PREFIX}/${PKGMANDIR} && \
+	for i in $$(${GREP} -lr ^\\.so .); do \
+		j=$$(${SED} -e 's|^\.so |../|' < $${i}); \
+		${RM} -f $${i} && ${LN} -s $${j} $${i}; \
+	done
+
+post-install: enable-manz-by-replacing-roff-includes-with-symlinks
+	${INSTALL_DATA} ${WRKSRC}/doc/dovecot.conf ${DESTDIR}${EGDIR}
+	${INSTALL_DATA} ${WRKSRC}/doc/dovecot-openssl.cnf ${DESTDIR}${EGDIR}
+	${INSTALL_SCRIPT} ${WRKSRC}/doc/mkcert.sh ${DESTDIR}${EGDIR}
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/dovecot24/Makefile.common b/dovecot24/Makefile.common
new file mode 100644
index 0000000000..da779560d9
--- /dev/null
+++ b/dovecot24/Makefile.common
@@ -0,0 +1,73 @@
+# when updating to a new release, update ABI depends in
+# the buildlink3.mk file as well, since the plugins' version
+# must match (see PR 49563).
+#
+# used by mail/dovecot24/Makefile
+# used by mail/dovecot24-gssapi/Makefile
+# used by mail/dovecot24-ldap/Makefile
+# used by mail/dovecot24-mysql/Makefile
+# used by mail/dovecot24-pgsql/Makefile
+# used by mail/dovecot24-sqlite/Makefile
+
+DISTNAME=	dovecot-2.4.2
+CATEGORIES=	mail
+MASTER_SITES=	https://dovecot.org/releases/2.4/
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://www.dovecot.org/
+COMMENT=	Secure IMAP and POP3 server
+LICENSE=	mit AND gnu-lgpl-v2.1 AND modified-bsd
+
+#DISTINFO_FILE=	${.CURDIR}/../../mail/dovecot24/distinfo
+#PATCHDIR=	${.CURDIR}/../../mail/dovecot24/patches
+DISTINFO_FILE=	${.CURDIR}/../../wip/dovecot24/distinfo
+PATCHDIR=	${.CURDIR}/../../wip/dovecot24/patches
+
+USE_LIBTOOL=		yes
+USE_TOOLS+=		gmake pkg-config rpcgen bash:run
+GNU_CONFIGURE=		yes
+
+BUILD_DEFS+=		VARBASE
+
+.include "../../mk/bsd.prefs.mk"
+
+#.if "${PKGPATH}" != "mail/dovecot24"
+.if "${PKGPATH}" != "wip/dovecot24"
+#DEPENDS+=		dovecot>=${PKGVERSION_NOREV}{nb*,}:../../mail/dovecot24
+DEPENDS+=		dovecot>=${PKGVERSION_NOREV}{nb*,}:../../wip/dovecot24
+.endif
+
+# Uncomment for verbose build messages
+#CONFIGURE_ARGS+=	--disable-silent-rules
+
+CONFIGURE_ARGS+=	--localstatedir=${VARBASE}
+CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+=	--with-ssldir=${SSLDIR}
+CONFIGURE_ARGS+=	--without-gssapi
+CONFIGURE_ARGS+=	--without-ldap
+
+# Leave pkgsrc to enable compiler security features as appropriate.
+CONFIGURE_ARGS+=	--disable-hardening
+
+# Enable generic SQL backend support
+CONFIGURE_ARGS+=	--with-sql
+
+TEST_TARGET=	check
+
+# Explicitly disable epoll/inotify on illumos, dovecot assumes Linux-specific
+# implementation details.
+CONFIGURE_ARGS.SunOS+=	--with-ioloop=poll
+CONFIGURE_ARGS.SunOS+=	--with-notify=none
+
+# Enable platform specific extensions
+CFLAGS.NetBSD+=  -D_NETBSD_SOURCE
+CFLAGS.FreeBSD+= -D__BSD_VISIBLE -D__XSI_VISIBLE
+CFLAGS.OpenBSD+= -D__BSD_VISIBLE -D__XSI_VISIBLE
+CFLAGS.SunOS+=   -D__EXTENSIONS__
+
+.include "options.mk"
+
+.include "../../archivers/bzip2/buildlink3.mk"
+.include "../../archivers/lz4/buildlink3.mk"
+.include "../../archivers/zstd/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
diff --git a/dovecot24/PLIST b/dovecot24/PLIST
new file mode 100644
index 0000000000..e64612a54a
--- /dev/null
+++ b/dovecot24/PLIST
@@ -0,0 +1,788 @@
+@comment $NetBSD$
+bin/doveadm
+bin/doveconf
+bin/dovecot-sysreport
+include/dovecot/acl-api-private.h
+include/dovecot/acl-api.h
+include/dovecot/acl-cache.h
+include/dovecot/acl-global-file.h
+include/dovecot/acl-lookup-dict.h
+include/dovecot/acl-plugin.h
+include/dovecot/acl-rights.h
+include/dovecot/acl-settings.h
+include/dovecot/acl-storage.h
+include/dovecot/anvil-client.h
+include/dovecot/aqueue.h
+include/dovecot/array-decl.h
+include/dovecot/array.h
+include/dovecot/askpass.h
+include/dovecot/auth-cache.h
+include/dovecot/auth-client-connection.h
+include/dovecot/auth-client-interface.h
+include/dovecot/auth-client-private.h
+include/dovecot/auth-client.h
+include/dovecot/auth-common.h
+include/dovecot/auth-digest.h
+include/dovecot/auth-fields.h
+include/dovecot/auth-gs2.h
+include/dovecot/auth-gssapi.h
+include/dovecot/auth-master-connection.h
+include/dovecot/auth-master-private.h
+include/dovecot/auth-master.h
+include/dovecot/auth-penalty.h
+include/dovecot/auth-policy.h
+include/dovecot/auth-proxy.h
+include/dovecot/auth-request-handler-private.h
+include/dovecot/auth-request-handler.h
+include/dovecot/auth-request-var-expand.h
+include/dovecot/auth-request.h
+include/dovecot/auth-sasl-common.h
+include/dovecot/auth-sasl-gssapi.h
+include/dovecot/auth-sasl-oauth2.h
+include/dovecot/auth-sasl.h
+include/dovecot/auth-scram-client.h
+include/dovecot/auth-scram-server.h
+include/dovecot/auth-scram.h
+include/dovecot/auth-settings.h
+include/dovecot/auth-token.h
+include/dovecot/auth-worker-connection.h
+include/dovecot/auth-worker-server.h
+include/dovecot/auth.h
+include/dovecot/backtrace-string.h
+include/dovecot/base32.h
+include/dovecot/base64.h
+include/dovecot/bits.h
+include/dovecot/bsearch-insert-pos.h
+include/dovecot/buffer.h
+include/dovecot/byteorder.h
+include/dovecot/charset-utf8-private.h
+include/dovecot/charset-utf8.h
+include/dovecot/child-wait.h
+include/dovecot/client-common.h
+include/dovecot/compat.h
+include/dovecot/compression.h
+include/dovecot/config-filter.h
+include/dovecot/config-parser-private.h
+include/dovecot/config-parser.h
+include/dovecot/config-request.h
+include/dovecot/config.h
+include/dovecot/connection.h
+include/dovecot/cpu-count.h
+include/dovecot/cpu-limit.h
+include/dovecot/crc32.h
+include/dovecot/data-stack.h
+include/dovecot/db-ldap-sasl.h
+include/dovecot/db-ldap-settings.h
+include/dovecot/db-ldap.h
+include/dovecot/db-oauth2.h
+include/dovecot/db-passwd-file.h
+include/dovecot/db-sql.h
+include/dovecot/dbox-attachment.h
+include/dovecot/dbox-file.h
+include/dovecot/dbox-mail.h
+include/dovecot/dbox-save.h
+include/dovecot/dbox-storage.h
+include/dovecot/dcrypt-iostream.h
+include/dovecot/dcrypt-private.h
+include/dovecot/dcrypt.h
+include/dovecot/dict-client.h
+include/dovecot/dict-private.h
+include/dovecot/dict-transaction-memory.h
+include/dovecot/dict.h
+include/dovecot/dns-client-cache.h
+include/dovecot/dns-lookup.h
+include/dovecot/dns-util.h
+include/dovecot/doc.h
+include/dovecot/doveadm-client.h
+include/dovecot/doveadm-cmd-parse.h
+include/dovecot/doveadm-cmd.h
+include/dovecot/doveadm-dsync.h
+include/dovecot/doveadm-dump.h
+include/dovecot/doveadm-mail-iter.h
+include/dovecot/doveadm-mail.h
+include/dovecot/doveadm-mailbox-list-iter.h
+include/dovecot/doveadm-print-private.h
+include/dovecot/doveadm-print.h
+include/dovecot/doveadm-protocol.h
+include/dovecot/doveadm-settings.h
+include/dovecot/doveadm-util.h
+include/dovecot/doveadm.h
+include/dovecot/dovecot-version.h
+include/dovecot/dregex.h
+include/dovecot/dsasl-client-private.h
+include/dovecot/dsasl-client.h
+include/dovecot/dsync-brain.h
+include/dovecot/dsync-ibc.h
+include/dovecot/eacces-error.h
+include/dovecot/env-util.h
+include/dovecot/event-filter-parser.h
+include/dovecot/event-filter-private.h
+include/dovecot/event-filter.h
+include/dovecot/event-log.h
+include/dovecot/execv-const.h
+include/dovecot/fail-mail-storage.h
+include/dovecot/failures-private.h
+include/dovecot/failures.h
+include/dovecot/fd-util.h
+include/dovecot/fdatasync-path.h
+include/dovecot/fdpass.h
+include/dovecot/file-cache.h
+include/dovecot/file-copy.h
+include/dovecot/file-create-locked.h
+include/dovecot/file-dotlock.h
+include/dovecot/file-lock.h
+include/dovecot/file-set-size.h
+include/dovecot/fs-api-private.h
+include/dovecot/fs-api.h
+include/dovecot/fs-sis-common.h
+include/dovecot/fs-test.h
+include/dovecot/fs-wrapper.h
+include/dovecot/fsync-mode.h
+include/dovecot/fts-api-private.h
+include/dovecot/fts-api.h
+include/dovecot/fts-indexer.h
+include/dovecot/fts-parser.h
+include/dovecot/fts-settings.h
+include/dovecot/fts-storage.h
+include/dovecot/fts-user.h
+include/dovecot/fuzzer.h
+include/dovecot/guid.h
+include/dovecot/hash-decl.h
+include/dovecot/hash-format.h
+include/dovecot/hash-method.h
+include/dovecot/hash.h
+include/dovecot/hash2.h
+include/dovecot/hex-binary.h
+include/dovecot/hex-dec.h
+include/dovecot/hmac-cram-md5.h
+include/dovecot/hmac.h
+include/dovecot/home-expand.h
+include/dovecot/hook-build.h
+include/dovecot/hostpid.h
+include/dovecot/http-auth.h
+include/dovecot/http-client-private.h
+include/dovecot/http-client.h
+include/dovecot/http-common.h
+include/dovecot/http-date.h
+include/dovecot/http-header-parser.h
+include/dovecot/http-header.h
+include/dovecot/http-message-parser.h
+include/dovecot/http-parser.h
+include/dovecot/http-request-parser.h
+include/dovecot/http-request.h
+include/dovecot/http-response-parser.h
+include/dovecot/http-response.h
+include/dovecot/http-server-private.h
+include/dovecot/http-server.h
+include/dovecot/http-transfer.h
+include/dovecot/http-url.h
+include/dovecot/imap-arg.h
+include/dovecot/imap-base-subject.h
+include/dovecot/imap-bodystructure.h
+include/dovecot/imap-client.h
+include/dovecot/imap-commands-util.h
+include/dovecot/imap-commands.h
+include/dovecot/imap-common.h
+include/dovecot/imap-date.h
+include/dovecot/imap-envelope.h
+include/dovecot/imap-expunge.h
+include/dovecot/imap-feature.h
+include/dovecot/imap-fetch.h
+include/dovecot/imap-id.h
+include/dovecot/imap-keepalive.h
+include/dovecot/imap-list.h
+include/dovecot/imap-login-client.h
+include/dovecot/imap-login-commands.h
+include/dovecot/imap-login-settings.h
+include/dovecot/imap-master-client.h
+include/dovecot/imap-match.h
+include/dovecot/imap-metadata.h
+include/dovecot/imap-msgpart-url.h
+include/dovecot/imap-msgpart.h
+include/dovecot/imap-notify.h
+include/dovecot/imap-parser.h
+include/dovecot/imap-quote.h
+include/dovecot/imap-resp-code.h
+include/dovecot/imap-search-args.h
+include/dovecot/imap-search.h
+include/dovecot/imap-seqset.h
+include/dovecot/imap-settings.h
+include/dovecot/imap-state.h
+include/dovecot/imap-stats.h
+include/dovecot/imap-status.h
+include/dovecot/imap-storage-callbacks.h
+include/dovecot/imap-sync-private.h
+include/dovecot/imap-sync.h
+include/dovecot/imap-url.h
+include/dovecot/imap-urlauth-backend.h
+include/dovecot/imap-urlauth-connection.h
+include/dovecot/imap-urlauth-fetch.h
+include/dovecot/imap-urlauth-private.h
+include/dovecot/imap-urlauth.h
+include/dovecot/imap-utf7.h
+include/dovecot/imap-util.h
+include/dovecot/imapc-attribute.h
+include/dovecot/imapc-client-private.h
+include/dovecot/imapc-client.h
+include/dovecot/imapc-connection.h
+include/dovecot/imapc-list.h
+include/dovecot/imapc-mail.h
+include/dovecot/imapc-msgmap.h
+include/dovecot/imapc-search.h
+include/dovecot/imapc-settings.h
+include/dovecot/imapc-storage.h
+include/dovecot/imapc-sync.h
+include/dovecot/imem.h
+include/dovecot/index-attachment.h
+include/dovecot/index-mail.h
+include/dovecot/index-mailbox-size.h
+include/dovecot/index-pop3-uidl.h
+include/dovecot/index-rebuild.h
+include/dovecot/index-search-private.h
+include/dovecot/index-search-result.h
+include/dovecot/index-sort-private.h
+include/dovecot/index-sort.h
+include/dovecot/index-storage.h
+include/dovecot/index-sync-changes.h
+include/dovecot/index-sync-private.h
+include/dovecot/index-thread-private.h
+include/dovecot/ioloop-iolist.h
+include/dovecot/ioloop-notify-fd.h
+include/dovecot/ioloop-private.h
+include/dovecot/ioloop.h
+include/dovecot/iostream-lz4.h
+include/dovecot/iostream-multiplex-private.h
+include/dovecot/iostream-openssl.h
+include/dovecot/iostream-private.h
+include/dovecot/iostream-proxy.h
+include/dovecot/iostream-pump.h
+include/dovecot/iostream-rawlog-private.h
+include/dovecot/iostream-rawlog.h
+include/dovecot/iostream-ssl-private.h
+include/dovecot/iostream-ssl-test.h
+include/dovecot/iostream-ssl.h
+include/dovecot/iostream-temp.h
+include/dovecot/iostream.h
+include/dovecot/ipwd.h
+include/dovecot/iso8601-date.h
+include/dovecot/istream-attachment-connector.h
+include/dovecot/istream-attachment-extractor.h
+include/dovecot/istream-base64.h
+include/dovecot/istream-binary-converter.h
+include/dovecot/istream-callback.h
+include/dovecot/istream-chain.h
+include/dovecot/istream-concat.h
+include/dovecot/istream-crlf.h
+include/dovecot/istream-decrypt.h
+include/dovecot/istream-dot.h
+include/dovecot/istream-failure-at.h
+include/dovecot/istream-file-private.h
+include/dovecot/istream-fs-file.h
+include/dovecot/istream-fs-stats.h
+include/dovecot/istream-hash.h
+include/dovecot/istream-header-filter.h
+include/dovecot/istream-mail.h
+include/dovecot/istream-metawrap.h
+include/dovecot/istream-multiplex.h
+include/dovecot/istream-nonuls.h
+include/dovecot/istream-private.h
+include/dovecot/istream-qp.h
+include/dovecot/istream-raw-mbox.h
+include/dovecot/istream-rawlog.h
+include/dovecot/istream-seekable.h
+include/dovecot/istream-sized.h
+include/dovecot/istream-tee.h
+include/dovecot/istream-timeout.h
+include/dovecot/istream-try.h
+include/dovecot/istream-unix.h
+include/dovecot/istream-zlib.h
+include/dovecot/istream.h
+include/dovecot/json-generator.h
+include/dovecot/json-istream.h
+include/dovecot/json-ostream.h
+include/dovecot/json-parser.h
+include/dovecot/json-syntax.h
+include/dovecot/json-text.h
+include/dovecot/json-tree-io.h
+include/dovecot/json-tree.h
+include/dovecot/json-types.h
+include/dovecot/lang-common.h
+include/dovecot/lang-filter-private.h
+include/dovecot/lang-filter.h
+include/dovecot/lang-icu.h
+include/dovecot/lang-indexer-status.h
+include/dovecot/lang-library.h
+include/dovecot/lang-settings.h
+include/dovecot/lang-tokenizer-common.h
+include/dovecot/lang-tokenizer-generic-private.h
+include/dovecot/lang-tokenizer-private.h
+include/dovecot/lang-tokenizer.h
+include/dovecot/lang-user.h
+include/dovecot/language.h
+include/dovecot/lda-settings.h
+include/dovecot/lib-event-private.h
+include/dovecot/lib-event.h
+include/dovecot/lib-signals.h
+include/dovecot/lib.h
+include/dovecot/llist.h
+include/dovecot/lmtp-client.h
+include/dovecot/lmtp-commands.h
+include/dovecot/lmtp-common.h
+include/dovecot/lmtp-recipient.h
+include/dovecot/lmtp-settings.h
+include/dovecot/log-error-buffer.h
+include/dovecot/log-throttle.h
+include/dovecot/login-client.h
+include/dovecot/login-common.h
+include/dovecot/login-interface.h
+include/dovecot/login-proxy-state.h
+include/dovecot/login-proxy.h
+include/dovecot/login-server-auth.h
+include/dovecot/login-server.h
+include/dovecot/login-settings.h
+include/dovecot/macros.h
+include/dovecot/mail-autoexpunge.h
+include/dovecot/mail-cache-private.h
+include/dovecot/mail-cache.h
+include/dovecot/mail-copy.h
+include/dovecot/mail-deliver.h
+include/dovecot/mail-duplicate.h
+include/dovecot/mail-error.h
+include/dovecot/mail-html2text.h
+include/dovecot/mail-index-alloc-cache.h
+include/dovecot/mail-index-modseq.h
+include/dovecot/mail-index-private.h
+include/dovecot/mail-index-strmap.h
+include/dovecot/mail-index-sync-private.h
+include/dovecot/mail-index-transaction-private.h
+include/dovecot/mail-index-util.h
+include/dovecot/mail-index-view-private.h
+include/dovecot/mail-index.h
+include/dovecot/mail-namespace.h
+include/dovecot/mail-search-build.h
+include/dovecot/mail-search-mime-build.h
+include/dovecot/mail-search-mime-register.h
+include/dovecot/mail-search-mime.h
+include/dovecot/mail-search-parser-private.h
+include/dovecot/mail-search-parser.h
+include/dovecot/mail-search-register.h
+include/dovecot/mail-search.h
+include/dovecot/mail-send.h
+include/dovecot/mail-storage-hooks.h
+include/dovecot/mail-storage-private.h
+include/dovecot/mail-storage-service.h
+include/dovecot/mail-storage-settings.h
+include/dovecot/mail-storage.h
+include/dovecot/mail-thread.h
+include/dovecot/mail-transaction-log-private.h
+include/dovecot/mail-transaction-log-view-private.h
+include/dovecot/mail-transaction-log.h
+include/dovecot/mail-types.h
+include/dovecot/mail-user.h
+include/dovecot/mailbox-attribute-internal.h
+include/dovecot/mailbox-attribute-private.h
+include/dovecot/mailbox-attribute.h
+include/dovecot/mailbox-guid-cache.h
+include/dovecot/mailbox-list-delete.h
+include/dovecot/mailbox-list-fs.h
+include/dovecot/mailbox-list-index-storage.h
+include/dovecot/mailbox-list-index-sync.h
+include/dovecot/mailbox-list-index.h
+include/dovecot/mailbox-list-iter-private.h
+include/dovecot/mailbox-list-iter.h
+include/dovecot/mailbox-list-maildir.h
+include/dovecot/mailbox-list-notify-tree.h
+include/dovecot/mailbox-list-notify.h
+include/dovecot/mailbox-list-private.h
+include/dovecot/mailbox-list-subscriptions.h
+include/dovecot/mailbox-list.h
+include/dovecot/mailbox-log.h
+include/dovecot/mailbox-recent-flags.h
+include/dovecot/mailbox-search-result-private.h
+include/dovecot/mailbox-tree.h
+include/dovecot/mailbox-uidvalidity.h
+include/dovecot/mailbox-watch.h
+include/dovecot/maildir-filename-flags.h
+include/dovecot/maildir-filename.h
+include/dovecot/maildir-keywords.h
+include/dovecot/maildir-mail.h
+include/dovecot/maildir-settings.h
+include/dovecot/maildir-storage.h
+include/dovecot/maildir-sync.h
+include/dovecot/maildir-uidlist.h
+include/dovecot/malloc-overflow.h
+include/dovecot/master-admin-client.h
+include/dovecot/master-instance.h
+include/dovecot/master-interface.h
+include/dovecot/master-service-private.h
+include/dovecot/master-service-settings.h
+include/dovecot/master-service-ssl.h
+include/dovecot/master-service.h
+include/dovecot/mbox-file.h
+include/dovecot/mbox-from.h
+include/dovecot/mbox-lock.h
+include/dovecot/mbox-md5.h
+include/dovecot/mbox-settings.h
+include/dovecot/mbox-storage.h
+include/dovecot/mbox-sync-private.h
+include/dovecot/md4.h
+include/dovecot/md5.h
+include/dovecot/mdbox-file.h
+include/dovecot/mdbox-map-private.h
+include/dovecot/mdbox-map.h
+include/dovecot/mdbox-settings.h
+include/dovecot/mdbox-storage-rebuild.h
+include/dovecot/mdbox-storage.h
+include/dovecot/mdbox-sync.h
+include/dovecot/memarea.h
+include/dovecot/mempool.h
+include/dovecot/message-address.h
+include/dovecot/message-binary-part.h
+include/dovecot/message-date.h
+include/dovecot/message-decoder.h
+include/dovecot/message-header-decode.h
+include/dovecot/message-header-encode.h
+include/dovecot/message-header-hash.h
+include/dovecot/message-header-parser.h
+include/dovecot/message-id.h
+include/dovecot/message-parser.h
+include/dovecot/message-part-data.h
+include/dovecot/message-part-serialize.h
+include/dovecot/message-part.h
+include/dovecot/message-search.h
+include/dovecot/message-size.h
+include/dovecot/message-snippet.h
+include/dovecot/mkdir-parents.h
+include/dovecot/mmap-util.h
+include/dovecot/module-context.h
+include/dovecot/module-dir.h
+include/dovecot/mountpoint.h
+include/dovecot/mycrypt.h
+include/dovecot/net.h
+include/dovecot/nfs-workarounds.h
+include/dovecot/notify-plugin-private.h
+include/dovecot/notify-plugin.h
+include/dovecot/numpack.h
+include/dovecot/oauth2.h
+include/dovecot/ostream-cmp.h
+include/dovecot/ostream-dot.h
+include/dovecot/ostream-encrypt.h
+include/dovecot/ostream-failure-at.h
+include/dovecot/ostream-file-private.h
+include/dovecot/ostream-final-trickle.h
+include/dovecot/ostream-hash.h
+include/dovecot/ostream-metawrap.h
+include/dovecot/ostream-multiplex.h
+include/dovecot/ostream-null.h
+include/dovecot/ostream-private.h
+include/dovecot/ostream-rawlog.h
+include/dovecot/ostream-unix.h
+include/dovecot/ostream-wrapper.h
+include/dovecot/ostream-zlib.h
+include/dovecot/ostream.h
+include/dovecot/passdb-blocking.h
+include/dovecot/passdb-cache.h
+include/dovecot/passdb.h
+include/dovecot/password-scheme.h
+include/dovecot/path-util.h
+include/dovecot/pkcs5.h
+include/dovecot/pop3-capability.h
+include/dovecot/pop3-client.h
+include/dovecot/pop3-commands.h
+include/dovecot/pop3-common.h
+include/dovecot/pop3-protocol.h
+include/dovecot/pop3-settings.h
+include/dovecot/pop3c-client.h
+include/dovecot/pop3c-settings.h
+include/dovecot/pop3c-storage.h
+include/dovecot/pop3c-sync.h
+include/dovecot/primes.h
+include/dovecot/printf-format-fix.h
+include/dovecot/priorityq.h
+include/dovecot/process-stat.h
+include/dovecot/process-title.h
+include/dovecot/program-client.h
+include/dovecot/punycode.h
+include/dovecot/push-notification-drivers.h
+include/dovecot/push-notification-event-flagsclear.h
+include/dovecot/push-notification-event-flagsset.h
+include/dovecot/push-notification-event-mailboxcreate.h
+include/dovecot/push-notification-event-mailboxdelete.h
+include/dovecot/push-notification-event-mailboxrename.h
+include/dovecot/push-notification-event-mailboxsubscribe.h
+include/dovecot/push-notification-event-mailboxunsubscribe.h
+include/dovecot/push-notification-event-message-common.h
+include/dovecot/push-notification-event-messageappend.h
+include/dovecot/push-notification-event-messageexpunge.h
+include/dovecot/push-notification-event-messagenew.h
+include/dovecot/push-notification-event-messageread.h
+include/dovecot/push-notification-event-messagetrash.h
+include/dovecot/push-notification-events-rfc5423.h
+include/dovecot/push-notification-events.h
+include/dovecot/push-notification-plugin.h
+include/dovecot/push-notification-settings.h
+include/dovecot/push-notification-triggers.h
+include/dovecot/push-notification-txn-mbox.h
+include/dovecot/push-notification-txn-msg.h
+include/dovecot/qp-decoder.h
+include/dovecot/qp-encoder.h
+include/dovecot/quota-fs.h
+include/dovecot/quota-plugin.h
+include/dovecot/quota-private.h
+include/dovecot/quota-settings.h
+include/dovecot/quota.h
+include/dovecot/quoted-printable.h
+include/dovecot/randgen.h
+include/dovecot/raw-storage.h
+include/dovecot/raw-sync.h
+include/dovecot/read-full.h
+include/dovecot/restrict-access.h
+include/dovecot/restrict-process-size.h
+include/dovecot/rfc2231-parser.h
+include/dovecot/rfc822-parser.h
+include/dovecot/safe-memset.h
+include/dovecot/safe-mkdir.h
+include/dovecot/safe-mkstemp.h
+include/dovecot/sasl-common.h
+include/dovecot/sasl-oauth2.h
+include/dovecot/sasl-server-gssapi.h
+include/dovecot/sasl-server-mech-scram.h
+include/dovecot/sasl-server-oauth2.h
+include/dovecot/sasl-server-private.h
+include/dovecot/sasl-server-protected.h
+include/dovecot/sasl-server.h
+include/dovecot/sdbox-file.h
+include/dovecot/sdbox-settings.h
+include/dovecot/sdbox-storage.h
+include/dovecot/sdbox-sync.h
+include/dovecot/sendfile-util.h
+include/dovecot/seq-range-array.h
+include/dovecot/seq-set-builder.h
+include/dovecot/service-settings.h
+include/dovecot/settings-history.h
+include/dovecot/settings-parser.h
+include/dovecot/settings.h
+include/dovecot/sha-common.h
+include/dovecot/sha1.h
+include/dovecot/sha2.h
+include/dovecot/sha3.h
+include/dovecot/shared-storage.h
+include/dovecot/sleep.h
+include/dovecot/smtp-address.h
+include/dovecot/smtp-client-command.h
+include/dovecot/smtp-client-connection.h
+include/dovecot/smtp-client-private.h
+include/dovecot/smtp-client-transaction.h
+include/dovecot/smtp-client.h
+include/dovecot/smtp-command-parser.h
+include/dovecot/smtp-command.h
+include/dovecot/smtp-common.h
+include/dovecot/smtp-dovecot.h
+include/dovecot/smtp-params.h
+include/dovecot/smtp-parser.h
+include/dovecot/smtp-reply-parser.h
+include/dovecot/smtp-reply.h
+include/dovecot/smtp-server-private.h
+include/dovecot/smtp-server.h
+include/dovecot/smtp-submit-settings.h
+include/dovecot/smtp-submit.h
+include/dovecot/smtp-syntax.h
+include/dovecot/sort.h
+include/dovecot/sql-api-private.h
+include/dovecot/sql-api.h
+include/dovecot/ssl-settings.h
+include/dovecot/stats-client.h
+include/dovecot/stats-dist.h
+include/dovecot/str-find.h
+include/dovecot/str-parse.h
+include/dovecot/str-sanitize.h
+include/dovecot/str-table.h
+include/dovecot/str.h
+include/dovecot/strescape.h
+include/dovecot/strfuncs.h
+include/dovecot/strnum.h
+include/dovecot/submission-backend-relay.h
+include/dovecot/submission-backend.h
+include/dovecot/submission-client.h
+include/dovecot/submission-commands.h
+include/dovecot/submission-common.h
+include/dovecot/submission-recipient.h
+include/dovecot/submission-settings.h
+include/dovecot/subscription-file.h
+include/dovecot/syslog-util.h
+include/dovecot/test-common.h
+include/dovecot/test-mail-storage-common.h
+include/dovecot/test-subprocess.h
+include/dovecot/time-util.h
+include/dovecot/unichar.h
+include/dovecot/unicode-data-static.h
+include/dovecot/unicode-data-tables.h
+include/dovecot/unicode-data-types.h
+include/dovecot/unicode-data.h
+include/dovecot/unicode-transform.h
+include/dovecot/unix-socket-create.h
+include/dovecot/unlink-directory.h
+include/dovecot/unlink-old-files.h
+include/dovecot/uri-util.h
+include/dovecot/userdb-blocking.h
+include/dovecot/userdb.h
+include/dovecot/utc-mktime.h
+include/dovecot/utc-offset.h
+include/dovecot/var-expand-private.h
+include/dovecot/var-expand.h
+include/dovecot/version.h
+include/dovecot/wildcard-match.h
+include/dovecot/write-full.h
+lib/dovecot/auth/libauthdb_imap.la
+lib/dovecot/doveadm/lib10_doveadm_acl_plugin.la
+lib/dovecot/doveadm/lib10_doveadm_quota_plugin.la
+lib/dovecot/doveadm/lib20_doveadm_fts_plugin.la
+lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.la
+lib/dovecot/dovecot-config
+lib/dovecot/lib01_acl_plugin.la
+lib/dovecot/lib02_imap_acl_plugin.la
+lib/dovecot/lib02_lazy_expunge_plugin.la
+lib/dovecot/lib05_mail_crypt_acl_plugin.la
+lib/dovecot/lib05_pop3_migration_plugin.la
+lib/dovecot/lib10_last_login_plugin.la
+lib/dovecot/lib10_mail_crypt_plugin.la
+lib/dovecot/lib10_quota_plugin.la
+lib/dovecot/lib11_imap_quota_plugin.la
+lib/dovecot/lib11_trash_plugin.la
+lib/dovecot/lib15_notify_plugin.la
+lib/dovecot/lib20_charset_alias_plugin.la
+lib/dovecot/lib20_fts_plugin.la
+lib/dovecot/lib20_mail_compress_plugin.la
+lib/dovecot/lib20_mail_log_plugin.la
+lib/dovecot/lib20_notify_status_plugin.la
+lib/dovecot/lib20_push_notification_plugin.la
+lib/dovecot/lib20_quota_clone_plugin.la
+lib/dovecot/lib20_virtual_plugin.la
+lib/dovecot/lib99_welcome_plugin.la
+lib/dovecot/libdcrypt_openssl.la
+lib/dovecot/libdovecot-compression.la
+lib/dovecot/libdovecot-dsync.la
+lib/dovecot/libdovecot-gssapi.la
+lib/dovecot/libdovecot-language.la
+lib/dovecot/libdovecot-lda.la
+lib/dovecot/libdovecot-login.la
+lib/dovecot/libdovecot-sql.la
+lib/dovecot/libdovecot-storage.la
+lib/dovecot/libdovecot.la
+lib/dovecot/libfs_compress.la
+lib/dovecot/libfs_crypt.la
+lib/dovecot/libssl_iostream_openssl.la
+lib/dovecot/var_expand_crypt.la
+libexec/dovecot/anvil
+libexec/dovecot/auth
+libexec/dovecot/config
+libexec/dovecot/decode2text.sh
+libexec/dovecot/deliver
+libexec/dovecot/dict
+libexec/dovecot/dict-expire
+libexec/dovecot/dns-client
+libexec/dovecot/doveadm-server
+libexec/dovecot/dovecot-lda
+libexec/dovecot/gdbhelper
+libexec/dovecot/health-check.sh
+libexec/dovecot/imap
+libexec/dovecot/imap-login
+libexec/dovecot/imap-urlauth
+libexec/dovecot/imap-urlauth-login
+libexec/dovecot/imap-urlauth-worker
+libexec/dovecot/indexer
+libexec/dovecot/indexer-worker
+libexec/dovecot/lmtp
+libexec/dovecot/log
+libexec/dovecot/pop3
+libexec/dovecot/pop3-login
+libexec/dovecot/quota-status
+libexec/dovecot/rawlog
+libexec/dovecot/script
+libexec/dovecot/script-login
+libexec/dovecot/settings-history.py
+libexec/dovecot/stats
+libexec/dovecot/submission
+libexec/dovecot/submission-login
+libexec/dovecot/xml2text
+man/man1/deliver.1
+man/man1/doveadm-acl.1
+man/man1/doveadm-altmove.1
+man/man1/doveadm-auth.1
+man/man1/doveadm-backup.1
+man/man1/doveadm-compress-connect.1
+man/man1/doveadm-config.1
+man/man1/doveadm-copy.1
+man/man1/doveadm-deduplicate.1
+man/man1/doveadm-dict.1
+man/man1/doveadm-dump.1
+man/man1/doveadm-exec.1
+man/man1/doveadm-expunge.1
+man/man1/doveadm-fetch.1
+man/man1/doveadm-flags.1
+man/man1/doveadm-force-resync.1
+man/man1/doveadm-fs.1
+man/man1/doveadm-fts.1
+man/man1/doveadm-help.1
+man/man1/doveadm-import.1
+man/man1/doveadm-index.1
+man/man1/doveadm-indexer.1
+man/man1/doveadm-instance.1
+man/man1/doveadm-kick.1
+man/man1/doveadm-log.1
+man/man1/doveadm-mail-dict.1
+man/man1/doveadm-mail-fs.1
+man/man1/doveadm-mailbox-cryptokey.1
+man/man1/doveadm-mailbox.1
+man/man1/doveadm-move.1
+man/man1/doveadm-penalty.1
+man/man1/doveadm-process-status.1
+man/man1/doveadm-proxy.1
+man/man1/doveadm-purge.1
+man/man1/doveadm-pw.1
+man/man1/doveadm-quota.1
+man/man1/doveadm-rebuild.1
+man/man1/doveadm-reload.1
+man/man1/doveadm-save.1
+man/man1/doveadm-search.1
+man/man1/doveadm-service-status.1
+man/man1/doveadm-service-stop.1
+man/man1/doveadm-stats.1
+man/man1/doveadm-stop.1
+man/man1/doveadm-sync.1
+man/man1/doveadm-user.1
+man/man1/doveadm-who.1
+man/man1/doveadm.1
+man/man1/doveconf.1
+man/man1/dovecot-lda.1
+man/man1/dovecot-sysreport.1
+man/man1/dovecot.1
+man/man7/doveadm-search-query.7
+sbin/dovecot
+share/aclocal/dovecot.m4
+share/doc/dovecot/dovecot-openssl.cnf
+share/doc/dovecot/index.html
+share/doc/dovecot/mkcert.sh
+share/doc/dovecot/solr-config-7.7.0.xml
+share/doc/dovecot/solr-config-9.xml
+share/doc/dovecot/solr-schema-7.7.0.xml
+share/doc/dovecot/solr-schema-9.xml
+share/doc/dovecot/thread-refs.txt
+share/dovecot/stopwords/stopwords_da.txt
+share/dovecot/stopwords/stopwords_de.txt
+share/dovecot/stopwords/stopwords_en.txt
+share/dovecot/stopwords/stopwords_es.txt
+share/dovecot/stopwords/stopwords_fi.txt
+share/dovecot/stopwords/stopwords_fr.txt
+share/dovecot/stopwords/stopwords_it.txt
+share/dovecot/stopwords/stopwords_nl.txt
+share/dovecot/stopwords/stopwords_no.txt
+share/dovecot/stopwords/stopwords_pt.txt
+share/dovecot/stopwords/stopwords_ro.txt
+share/dovecot/stopwords/stopwords_ru.txt
+share/dovecot/stopwords/stopwords_sv.txt
+share/dovecot/stopwords/stopwords_tr.txt
+share/examples/dovecot/dovecot-openssl.cnf
+share/examples/dovecot/dovecot.conf
+share/examples/dovecot/mkcert.sh
+@pkgdir share/examples/dovecot/conf.d
diff --git a/dovecot24/TODO b/dovecot24/TODO
new file mode 100644
index 0000000000..bbeea909e5
--- /dev/null
+++ b/dovecot24/TODO
@@ -0,0 +1,20 @@
+=> Checking for non-existent script interpreters in dovecot-2.4.2
+ERROR: [check-interpreter.mk] The interpreter "/usr/bin/env" of "/tmp/pkgsrc/wip/dovecot24/default/.destdir/usr/pkg/libexec/dovecot/settings-history.py" is not allowed.
+*** Error code 1
+
+I get lots of compiler warnings (with gcc12) about re#defining memcpy() such as
+
+  CC       welcome-plugin.lo
+In file included from welcome-plugin.c:3:
+../../../src/lib/lib.h:79: warning: "memcpy" redefined
+   79 | #  define memcpy(dest, src, n) i_memcpy(dest, src, n)
+      |
+In file included from /usr/include/string.h:127,
+                 from ../../../src/lib/lib.h:22:
+/usr/include/ssp/string.h:95: note: this is the location of the previous definition
+   95 | #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len)
+      |
+
+
+The original #define seems to come from the stack smashing protection. Maybe we do not want to override this with whatever i_memcpy() is?
+Or if we do, it should be cleaner, such as with an #undef memcpy beforehand.
diff --git a/dovecot24/buildlink3.mk b/dovecot24/buildlink3.mk
new file mode 100644
index 0000000000..2ef24de09c
--- /dev/null
+++ b/dovecot24/buildlink3.mk
@@ -0,0 +1,22 @@
+# $NetBSD: buildlink3.mk,v 1.40 2023/10/24 22:09:42 wiz Exp $
+
+BUILDLINK_TREE+=	dovecot
+
+.if !defined(DOVECOT_BUILDLINK3_MK)
+DOVECOT_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.dovecot+=		dovecot>=2.2.0
+# must match current package version for plugins to load
+BUILDLINK_ABI_DEPENDS.dovecot+=		dovecot>=2.3.21nb1
+BUILDLINK_PKGSRCDIR.dovecot?=		../../mail/dovecot2
+
+pkgbase:=	dovecot
+.include "../../mk/pkg-build-options.mk"
+.if ${PKG_BUILD_OPTIONS.dovecot:Mssl}
+.  include "../../security/openssl/buildlink3.mk"
+.endif
+.include "../../archivers/bzip2/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.endif # DOVECOT_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-dovecot
diff --git a/dovecot24/distinfo b/dovecot24/distinfo
new file mode 100644
index 0000000000..6f84465f01
--- /dev/null
+++ b/dovecot24/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+BLAKE2s (dovecot-2.4.2.tar.gz) = a8356102681d217d8f51c72a366ac0596341cfefe2c630464865322f58b7b2fb
+SHA512 (dovecot-2.4.2.tar.gz) = 0524695341abe711d3a811c56156889d6fef7a09becc684c6f1dc1e5add605969ca8794eb7d44bfbc49f70515f22e8640b5828443addecfe4798fb8b174670ae
+Size (dovecot-2.4.2.tar.gz) = 7807240 bytes
+SHA1 (patch-src_lib-var-expand-crypt_Makefile.in) = af912cfaeab81e8948ef9cb9e35629b8ad66b7b2
diff --git a/dovecot24/files/dovecot.sh b/dovecot24/files/dovecot.sh
new file mode 100755
index 0000000000..9d06f30a4a
--- /dev/null
+++ b/dovecot24/files/dovecot.sh
@@ -0,0 +1,32 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: dovecot.sh,v 1.4 2021/08/30 09:33:48 khorben Exp $
+#
+
+# PROVIDE: dovecot
+# REQUIRE: DAEMON LOGIN ntpdate
+
+. @SYSCONFBASE@/rc.subr
+
+name="dovecot"
+rcvar=$name
+command="@PREFIX@/sbin/${name}"
+required_files="@PKG_SYSCONFDIR@/dovecot/$name.conf"
+extra_commands="reload"
+
+load_rc_config $name
+dovecot_fdlimit=${dovecot_fdlimit-"768"}
+
+# A default limit of 64 (at least on NetBSD) may be too low for many people
+SOFT_FDLIMIT=`ulimit -S -n`
+HARD_FDLIMIT=`ulimit -H -n`
+
+if [ ${dovecot_fdlimit} -gt ${SOFT_FDLIMIT} ]; then
+  if [ ${dovecot_fdlimit} -le ${HARD_FDLIMIT} ]; then
+    ulimit -S -n ${dovecot_fdlimit}
+  else
+    ulimit -S -n ${HARD_FDLIMIT}
+  fi
+fi
+
+run_rc_command "$1"
diff --git a/dovecot24/files/smf/manifest.xml b/dovecot24/files/smf/manifest.xml
new file mode 100644
index 0000000000..0ca8d66a4e
--- /dev/null
+++ b/dovecot24/files/smf/manifest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+  <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+    <create_default_instance enabled="false" />
+    <single_instance />
+    <dependency name="network" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/milestone/network:default" />
+    </dependency>
+    <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
+      <service_fmri value="svc:/system/filesystem/local" />
+    </dependency>
+    <method_context>
+      <method_environment>
+        <envvar name="MASTER_IS_PARENT_ENV" value="1" />
+      </method_environment>
+    </method_context>
+    <exec_method type="method" name="start" exec="@PREFIX@/sbin/dovecot" timeout_seconds="60" />
+    <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
+    <property_group name="startd" type="framework">
+      <propval name="duration" type="astring" value="contract" />
+      <propval name="ignore_error" type="astring" value="core,signal" />
+    </property_group>
+    <property_group name="application" type="application">
+      <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/dovecot/dovecot.conf" />
+    </property_group>
+    <template>
+      <common_name>
+        <loctext xml:lang="C">Dovecot IMAP Server</loctext>
+      </common_name>
+    </template>
+  </service>
+</service_bundle>
diff --git a/dovecot24/options.mk b/dovecot24/options.mk
new file mode 100644
index 0000000000..18bd3b15db
--- /dev/null
+++ b/dovecot24/options.mk
@@ -0,0 +1,52 @@
+# $NetBSD: options.mk,v 1.14 2021/11/09 12:04:43 nia Exp $
+
+PKG_OPTIONS_VAR=	PKG_OPTIONS.dovecot
+PKG_SUPPORTED_OPTIONS=	kqueue pam ssl tcpwrappers
+PKG_SUGGESTED_OPTIONS=	pam ssl tcpwrappers
+
+.if defined(OPSYS_HAS_KQUEUE)
+PKG_SUGGESTED_OPTIONS+=	kqueue
+.endif
+PLIST_VARS+=		ssl tcpwrappers
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Build with OpenSSL as the underlying crypto library
+###
+.if !empty(PKG_OPTIONS:Mssl)
+CONFIGURE_ARGS+=	--with-ssl=openssl
+CONFIGURE_ENV+=		SSL_CFLAGS="-I${BUILDLINK_PREFIX.openssl}/include"
+CONFIGURE_ENV+=		SSL_LIBS="-lssl -lcrypto"
+.  include "../../security/openssl/buildlink3.mk"
+PLIST.ssl=		yes
+.endif
+
+###
+### PAM support
+###
+.if !empty(PKG_OPTIONS:Mpam)
+CONFIGURE_ARGS+=	--with-pam
+.  include "../../mk/pam.buildlink3.mk"
+.else
+CONFIGURE_ARGS+=	--without-pam
+.endif
+
+###
+### kqueue support
+###
+.if !empty(PKG_OPTIONS:Mkqueue)
+CONFIGURE_ARGS+=	--with-ioloop=kqueue
+CONFIGURE_ARGS+=	--with-notify=kqueue
+.else
+# use the defaults
+.endif
+
+###
+### tcpwrappers support
+###
+.if !empty(PKG_OPTIONS:Mtcpwrappers)
+CONFIGURE_ARGS+=	--with-libwrap
+.  include "../../security/tcp_wrappers/buildlink3.mk"
+PLIST.tcpwrappers=	yes
+.endif
diff --git a/dovecot24/patches/patch-src_lib-var-expand-crypt_Makefile.in b/dovecot24/patches/patch-src_lib-var-expand-crypt_Makefile.in
new file mode 100644
index 0000000000..08339dd704
--- /dev/null
+++ b/dovecot24/patches/patch-src_lib-var-expand-crypt_Makefile.in
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/lib-var-expand-crypt/Makefile.in.orig	2026-02-01 12:39:47.838422302 +0000
++++ src/lib-var-expand-crypt/Makefile.in
+@@ -545,7 +545,7 @@ test_libs = \
+ test_var_expand_crypt_SOURCES = test-var-expand-crypt.c
+ test_var_expand_crypt_LDADD = $(test_libs)
+ test_var_expand_crypt_DEPENDENCIES = $(module_LTLIBRARIES)
+-@HAVE_WHOLE_ARCHIVE_TRUE@test_var_expand_crypt_LDFLAGS = -export-dynamic -Wl,$(LD_WHOLE_ARCHIVE),../lib/.libs/liblib.a,../lib-json/.libs/libjson.a,../lib-ssl-iostream/.libs/libssl_iostream.a,$(LD_NO_WHOLE_ARCHIVE)
++@HAVE_WHOLE_ARCHIVE_TRUE@test_var_expand_crypt_LDFLAGS = -static -export-dynamic -Wl,$(LD_WHOLE_ARCHIVE),../lib/.libs/liblib.a,../lib-json/.libs/libjson.a,../lib-ssl-iostream/.libs/libssl_iostream.a,$(LD_NO_WHOLE_ARCHIVE)
+ test_var_expand_crypt_CFLAGS = $(AM_CFLAGS) \
+ 	-DDCRYPT_BUILD_DIR=\"$(top_builddir)/src/lib-dcrypt\"
+ 



Home | Main Index | Thread Index | Old Index