git: e49c427ac102 - main - mail/mutt: New hcache options change default to lmdb

From: Dmitri Goutnik <dmgk_at_FreeBSD.org>
Date: Mon, 02 May 2022 13:20:52 UTC
The branch main has been updated by dmgk:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e49c427ac102757b65a46992157d1e948b55a8c8

commit e49c427ac102757b65a46992157d1e948b55a8c8
Author:     Derek Schrock <dereks@lifeofadishwasher.com>
AuthorDate: 2022-05-02 13:06:54 +0000
Commit:     Dmitri Goutnik <dmgk@FreeBSD.org>
CommitDate: 2022-05-02 13:10:58 +0000

    mail/mutt: New hcache options change default to lmdb
    
    - Add three new(ish) hcache options HCACHE_{LMDB,GDBM,QDBM}
    - Update HCACHE_BDB to use database/db18
    - Due to bdb5's EOL change the default hcache to HCACHE_LMDB.
      Favoring lmbd since it's performance is on par with BDB and that db18's
      AGPL3 licensing seems to be a point of contention.
    
    PR:             263211
---
 UPDATING           |  8 ++++++++
 mail/mutt/Makefile | 18 ++++++++++++++----
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/UPDATING b/UPDATING
index 65bfebe400d8..62eb9c273b1c 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,14 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20220502:
+  AFFECTS: mail/mutt
+  AUTHOR: dereks@lifeofadishwasher.com
+
+  Default header cache option has been changed to the new option LMDB using
+  databases/lmdb. The BDB option still exists but now uses databases/db18 due
+  to the EOL of databases/db5.
+
 20220501:
   AFFECT: users of drm-current-kmod and drm-devel-kmod
   AUTHOR: manu@FreeBSD.org
diff --git a/mail/mutt/Makefile b/mail/mutt/Makefile
index e4ee2932a571..68951641fe52 100644
--- a/mail/mutt/Makefile
+++ b/mail/mutt/Makefile
@@ -2,6 +2,7 @@
 
 PORTNAME=	mutt
 DISTVERSION=	2.2.4
+PORTREVISION=	1
 CATEGORIES+=	mail
 MASTER_SITES=	ftp://ftp.mutt.org/pub/mutt/ \
 		https://bitbucket.org/mutt/mutt/downloads/ \
@@ -51,15 +52,15 @@ OPTIONS_DEFINE=		AUTOCRYPT DEBUG_LOGS DOCS EXAMPLES FLOCK GPGME \
 			GREETING_PATCH HTML ICONV IDN IFDEF_PATCH LOCALES_FIX \
 			MAILBOX_MANPAGES MAILDIR_MTIME_PATCH NLS QUOTE_PATCH \
 			REVERSE_REPLY_PATCH SASL SMART_DATE SMIME SMTP URLVIEW
-OPTIONS_DEFAULT=	AUTOCRYPT DEBUG_LOGS GPGME GSSAPI_NONE HCACHE_BDB HTML \
+OPTIONS_DEFAULT=	AUTOCRYPT DEBUG_LOGS GPGME GSSAPI_NONE HCACHE_LMDB HTML \
 			ICONV IDN IFDEF_PATCH LOCALES_FIX MAILBOX_MANPAGES \
 			MAILDIR_MTIME_PATCH NCURSES NLS QUOTE_PATCH \
 			REVERSE_REPLY_PATCH SASL SMART_DATE SMIME SMTP URLVIEW
 
 OPTIONS_SINGLE=		GSSAPI HCACHE SCREEN
 OPTIONS_SINGLE_GSSAPI=	GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
-OPTIONS_SINGLE_HCACHE=	HCACHE_BDB HCACHE_KYOTOCABINET HCACHE_NONE \
-			HCACHE_TOKYOCABINET
+OPTIONS_SINGLE_HCACHE=	HCACHE_BDB HCACHE_GDBM HCACHE_KYOTOCABINET HCACHE_LMDB \
+			HCACHE_NONE HCACHE_QDBM HCACHE_TOKYOCABINET
 OPTIONS_SINGLE_SCREEN=	NCURSES SLANG
 OPTIONS_SUB=		yes
 
@@ -70,8 +71,11 @@ GPGME_DESC=			Gpgme interface
 GREETING_PATCH_DESC=		Greeting support
 HCACHE_BDB_DESC=		Use Berkeley DB (BDB)
 HCACHE_DESC=			Header Cache support
+HCACHE_GDBM_DESC=		Use GDBM
 HCACHE_KYOTOCABINET_DESC=	Use Kyoto Cabinet
+HCACHE_LMDB_DESC=		Use LMDB
 HCACHE_NONE_DESC=		Disable Header Cache
+HCACHE_QDBM_DESC=		Use QDBM
 HCACHE_TOKYOCABINET_DESC=	Use Tokyo Cabinet
 HTML_DESC=			HTML documentation
 IDN_DESC=			International Domain Names (implies ICONV)
@@ -126,14 +130,20 @@ GSSAPI_MIT_CONFIGURE_ON=	${GSSAPI_CONFIGURE_ARGS} \
 				--with-gss=${GSSAPIBASEDIR}
 GSSAPI_NONE_CONFIGURE_ON=	--without-gss
 
-HCACHE_BDB_USES=			bdb:42+
+HCACHE_BDB_USES=			bdb:18
 HCACHE_BDB_CONFIGURE_WITH=		bdb=${LOCALBASE}
 HCACHE_BDB_VARS=			CFLAGS+=-I${BDB_INCLUDE_DIR} \
 					LDFLAGS+=-L${BDB_LIB_DIR}
+HCACHE_GDBM_LIB_DEPENDS=		libgdbm.so:databases/gdbm
+HCACHE_GDBM_CONFIGURE_WITH=		gdbm=${LOCALBASE}
 HCACHE_KYOTOCABINET_LIB_DEPENDS=	libkyotocabinet.so:databases/kyotocabinet
 HCACHE_KYOTOCABINET_CONFIGURE_WITH=	kyotocabinet=${LOCALBASE}
+HCACHE_LMDB_LIB_DEPENDS=		liblmdb.so:databases/lmdb
+HCACHE_LMDB_CONFIGURE_WITH=		lmdb=${LOCALBASE}
 HCACHE_NONE_CONFIGURE_ON=		--disable-hcache
 HCACHE_NONE_CONFIGURE_OFF=		--enable-hcache
+HCACHE_QDBM_LIB_DEPENDS=		libqdbm.so:databases/qdbm
+HCACHE_QDBM_CONFIGURE_WITH=		qdbm=${LOCALBASE}
 HCACHE_TOKYOCABINET_LIB_DEPENDS=	libtokyocabinet.so:databases/tokyocabinet
 HCACHE_TOKYOCABINET_CONFIGURE_WITH=	tokyocabinet=${LOCALBASE}