head 1.2; access; symbols pkgsrc-2022Q4:1.1.0.4 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.2 pkgsrc-2022Q3-base:1.1; locks; strict; comment @# @; 1.2 date 2023.03.22.20.34.39; author nikita; state dead; branches; next 1.1; commitid 1yPsRotbCjn01aiE; 1.1 date 2022.09.20.17.13.24; author nikita; state Exp; branches; next ; commitid LWBo91nszbrCMCUD; desc @@ 1.2 log @neomutt: Update to version 20230322 ChangeLog: Notes This is a big release and a lot has changed. If you find any problems, please let us know as soon as you can. Thanks ❤️ 💎 Sponsors Special thanks to our sponsors: Mark Korondi (@@kmARC) [private] Marco Candrian @@pbwn Scott Kostyshak (@@scottkosty) Ander Punnar (@@4nd3r) @@angelus2014 Ingo Hoffmann Andy Smith Nick Price (@@DominoTree) ❤️ Thanks Many thanks to our new contributors: Rayford Shireman (@@rayfordshire) Whitney Cumber (@@whitney-cumber) Paulo Matos (@@pmatos) Pierre Colin (@@Pierre-Colin) Ilya Kurdyukov (@@ilyakurdyukov) Anna (navi) Figueiredo Gomes (@@navi-desu) Michal Siedlaczek (@@elshize) Igor Serebryany (@@igor47) Mohammad AlSaleh (@@MoSal) Paul Dino Jones (@@Spacefreak18) Carlos Henrique Lima Melara (@@charles2910) Leon Philman (@@leonphilman) Darrel Glud (@@darrel-glud) Frank Grüllich (@@FrankGruellich) Brett Holman (@@holmanb) Roberto Alvarado (@@Robdres) Albert Kim (@@alkim0) raf (@@raforg) Andrij Mizyk (@@andmzk) Maarten van Gompel (@@proycon) Chris X Weichenberger (@@the-x-at) and our regular contributors: Tobias Stoeckmann (@@stoeckmann) Austin Ray (@@Austin-Ray) Marius Gedminas (@@mgedmin) Gerrit Rüsing (@@kbcb) Emir Sari (@@bitigchi) Pietro Cerutti (@@gahr) Jakub Jindra (@@jindraj) Marco Sirabella (@@mjsir911) Jakub Wilk (@@jwilk) Róbert Horváth (@@r001) Страхиња Радић (@@Strahinja) David Purton (@@dcpurton) Reto Brunner (@@brunnre8) 🎁 Features Use DT_SLIST for charset variables Support viewing html with embedded images Account command, see the feature page Check that sendmail and inews don't contain shell meta characters Browser: add mailbox_folder_format config variable Enter: add function kill-whole-line Account command: add macOS keychain sample provider Account command: add GPG+JSON sample provider Expose italics attribute for colour scheme Allow source in hooks to point to relative paths Resolve alternates when subscribing/unsubscribing Notmuch: allow specifying configuration file Notmuch: allow usage of notmuch profiles Add GNU SASL support for authentication (--gsasl configure option) Extend colour objects to support patterns Detect and fixup maildirs with missing "new" and "tmp" directories Generate standard MIME types as application/pkcs7-* instead of legacy application/x-pkcs7-* Compose: add Smime: pseudo header Handle more X-Mutt pseudo-headers with edit_headers Use socket_timeout to time out read/write operations Allow %[fmt] in $folder_format Respect attribution_locale in indent_string and post_indent_string Pattern: add ~K to search Bcc, include Bcc in ~C, %C, ~L, and ~p Colour postponed emails list Allow querying user-defined variables ($my_var) with -Q Dump user-defined variables ($my_var) with -D Generate purely random Message-ID headers Allow an empty sidebar_divider_char Fix handling and display of group addresses 🪲 Bug Fixes Fix status_on_top to work on complex windows, e.g., attach Imap: fix off-by-one error causing bogus "Progress message 10/9" message Attach: fix segfault when viewing HTML attachment in compose mode Allow for longer expansions in e.g., index_format Accept unpadded base64-encoded data, as some mailers produce Fix hangup when trying to add email address from help screens Handle corrupted header caches Fix slowdown when changing folders Improve error detection for invalid color regexes Distinguish between old/new with mark_old unset Parse mboxes with unconventional From lines Fix hostname detection for hostname ending with a "." Fix truncated SMTP lines in case of very long lines Use smime_sign_as instead of pgp_sign_as when signing S/MIME messages Set smime_sign_as instead of smime_default_key when signing Fix wrong message being marked as read with $pager_read_delay = 1 Fix negative new-mail count on maildir Skip zero width non-joiner character in the pager Handle text/vcard as not being an attachment, same as for text/x-vcard Fix hdr_order not sorting last header correctly Make exiting via SIGINT more graceful Fix unhook index-format-hook Send: delete signature when sending fails SMTP: try all available methods even if SASL is not compiled in Fix decryption issue when postponing S/MIME encrypted mails Avoid unnecessary refreshes Fixed a number of memory leaks and crashes 🔧 Changed Config New $account_command - Shell command to retrieve account credentials $mailbox_folder_format - printf-like format string for the browser's display of mailbox folders $nm_config_file - Configuration file for notmuch. Use 'auto' to detect configuration. $nm_config_profile - Configuration profile for notmuch. Renamed for consistency (old names still work) $ask_follow_up -> $ask_followup_to $attribution -> $attribution_intro $connect_timeout -> $socket_timeout $implicit_autoview -> $implicit_auto_view $message_cachedir -> $message_cache_dir $post_indent_string -> $attribution_trailer $tmpdir -> $tmp_dir sidebar_whitelist -> sidebar_pin unsidebar_whitelist -> sidebar_unpin Changed default attach_format = "%u%D%I %t%4n %T%d %> [%.7m/%.10M, %.6e%?C?, %C?, %s] " More space for the attachment filename sidebar_divider_char = "|" Allow an empty divider char Deprecated $vfolder_format use $folder_format 🏴 Translations 100% 🇨🇿 Czech 100% 🇩🇪 German 100% 🇭🇺 Hungarian 100% 🇱🇹 Lithuanian 100% 🇧🇷 Portuguese (Brazil) 100% 🇷🇸 Serbian 100% 🇸🇰 Slovak 100% 🇹🇷 Turkish 99% 🇪🇸 Spanish 99% 🇺🇦 Ukrainian 94% 🇵🇱 Polish 72% Catalan 📚 Docs Lots of updates and cleanups 🏗️ Build Support building with Undefined Behaviour Sanitizer (--ubsan configure option) Generate compile_commands.json (--compile-commands configure option) Use pkg-config to locate most of the 3rd party dependencies Fix curses for netbsd Improve our CI stack Create libparse - parsing functions that can be easily tested Refactor commands / icommands ⚙️ Code Lots of refactoring to make the code more organized, especially in these areas: windowing, menu, browser, enter, function dispatching, key handling, auto-completion Fewer global variables Removal of some unmaintained contrib code New maintained sample config and examples are in the data directory The contrib script mutt_oauth2.py received a lot of love @ text @$NetBSD: patch-auto.def,v 1.1 2022/09/20 17:13:24 nikita Exp $ Improve Berkeley DB detection, account for more flavours Fixes #3525 upstream commited as c12b986765091933bdadbf3d0a341e66bd42404a --- auto.def.orig 2022-04-29 14:15:32.000000000 +0200 +++ auto.def 2022-09-20 11:49:33.294171932 +0200 @@@@ -166,8 +166,8 @@@@ # relative --enable-opt to true. This allows "--with-opt=/usr" to be used as # a shortcut for "--opt --with-opt=/usr". foreach opt { - bdb gdbm gnutls gpgme gss homespool idn idn2 kyotocabinet lmdb lua lz4 - mixmaster nls notmuch pcre2 qdbm rocksdb sasl sqlite ssl tdb tokyocabinet + bdb gdbm gnutls gpgme gss homespool idn idn2 kyotocabinet lmdb lua lz4 + mixmaster nls notmuch pcre2 qdbm rocksdb sasl sqlite ssl tdb tokyocabinet zlib zstd } { if {[opt-val with-$opt] ne {}} { @@@@ -311,6 +311,7 @@@@ lappend extensions -D_ALL_SOURCE=1 lappend extensions -D_GNU_SOURCE=1 lappend extensions -D__EXTENSIONS__ + lappend extensions -D_XOPEN_SOURCE_EXTENDED define-append CFLAGS_FOR_BUILD {*}$extensions define-append CFLAGS {*}$extensions } @@@@ -502,18 +503,17 @@@@ msg-result $gpgme_version if {[get-define want-autocrypt]} { if {$gpgme_maj < 1 || $gpgme_min < 8} { + # GPGME v1.8.0 was released on 2016-11-16 user-error "Found GPGME version $gpgme_version, need 1.8.0 for AutoCrypt" } } else { if {$gpgme_maj < 1 || $gpgme_min < 4} { + # GPGME v1.4.0 was released on 2013-02-26 user-error "Found GPGME version $gpgme_version, need 1.4.0" } } define GPGME_VERSION_NUMBER [format "0x%02x%02x%02x" $gpgme_maj $gpgme_min $gpgme_patch] - # RHEL6 doesn't have this function yet - cc-check-function-in-lib gpgme_op_export_keys gpgme - # CFLAGS if {[catch {exec-with-stderr $gpgme_config --cflags} res err]} { user-error "Could not derive --cflags from $gpgme_config" @@@@ -945,28 +941,16 @@@@ ############################################################################### # Header cache - bdb if {[get-define want-bdb]} { - set bdb_versions [opt-val with-bdb-version { 5.3 6.2 4.8 }] ;# Will be checked in order - set bdb_prefix [opt-val with-bdb $prefix] - - foreach ver $bdb_versions { - lassign [split $ver .] maj min - # This is ugly, but it allows us to not have an inner loop - lappend bdb_majors $maj $maj $maj $maj $maj $maj - lappend bdb_minors $min $min $min $min $min $min - lappend bdb_exploded "" db-$maj-$min db${maj}${min} db$maj.$min db-$maj db$maj - } - - foreach maj $bdb_majors min $bdb_minors ver $bdb_exploded { - set ver_inc_dir $bdb_prefix/include/$ver - set ver_lib_dir $bdb_prefix/$::libdir_tail/$ver + proc find_bdb {bdb_prefix maj min path_tail lib_names} { + set ver_inc_dir $bdb_prefix/include/$path_tail + set ver_lib_dir $bdb_prefix/$::libdir_tail/$path_tail set ver_inc_file $ver_inc_dir/db.h - set ver_lib_file db-$maj.$min # File exists? msg-checking "Checking for BerkeleyDB in $ver_inc_dir..." if {![file exists $ver_inc_file]} { msg-result "no" - continue + return 0 } # Version is coherent? @@@@ -975,23 +959,44 @@@@ if {$inc_maj eq {} || $inc_min eq {} || $inc_maj != $maj || $inc_min != $min} { msg-result "no (expecting $maj.$min, got $inc_maj.$inc_min)" - continue + return 0 } msg-result "yes" # Can link? - cc-with [list -libs -L$ver_lib_dir -cflags -I$ver_inc_dir] { - if {![check-inc-and-lib bdb {} db.h db_env_create db-$maj.$min]} { - msg-result "no" - continue + foreach lib_name $lib_names { + cc-with [list -libs -L$ver_lib_dir -cflags -I$ver_inc_dir] { + check-inc-and-lib bdb {} db.h db_env_create $lib_name + } + if {[have-feature bdb]} { + define-append CFLAGS -I$ver_inc_dir + define-append LDFLAGS -L$ver_lib_dir + define-append LIBS -l$lib_name + define-append HCACHE_BACKENDS "bdb" + define USE_HCACHE + return 1 + } + } + return 0 + } + + set bdb_versions [opt-val with-bdb-version { 5.3 6.2 4.8 }] ;# Will be checked in order + set bdb_prefix [opt-val with-bdb $prefix] + + foreach ver $bdb_versions { + if {[have-feature bdb]} { + break + } + lassign [split $ver .] maj min + foreach path_tail [list "" db-$maj-$min db${maj}${min} db$maj.$min db-$maj db$maj] { + if {[have-feature bdb]} { + break + } + set lib_names [list db$maj-$maj.$min db$maj-$maj db-$maj.$min db-$maj] + if {[find_bdb $bdb_prefix $maj $min $path_tail $lib_names]} { + break } } - define-append CFLAGS -I$ver_inc_dir - define-append LDFLAGS -L$ver_lib_dir - define-append LIBS -ldb-$maj.$min - define-append HCACHE_BACKENDS "bdb" - define USE_HCACHE - break } if {![have-feature bdb]} { @ 1.1 log @neomutt: fix build with bdb, add option for lmdb. @ text @d1 1 a1 1 $NetBSD$ @