From c655fe2dd5e939e888c8d1e42ce0f29b5b8c3ac3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Gia=20Phong?= Date: Sun, 1 Feb 2026 22:10:45 +0900 Subject: [PATCH] gnu: neomutt: Update to 20260105. * gnu/packages/mail.scm (neomutt): Update to 20260105. [native-inputs]: Update neomutt-test-files to commit c769cdefd45b. Add autosetup and remove its transitive dependency tcl. [source]: Add snippet and its required modules to unbundle autosetup. [arguments] : {configure}: Invoke autosetup directly. {prepare-test-files}: Re-enable test_mutt_sig_exit_handler. : Move --prefix to the definition of the configure phase. Remove --ssl=1 which now conflicts with --gnutls. Add --enable-autocrypt. [inputs]: Add sqlite for autocrypt support. Change-Id: I604876d66623bdc7d799d86962f60e437003f57f Merges: https://codeberg.org/guix/guix/pulls/4835 Reviewed-by: Simon Tournier --- gnu/packages/mail.scm | 48 +++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 9ba8bdf5740..2af82c8b9b4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -67,6 +67,7 @@ ;;; Copyright © 2025 Andreas Enge ;;; Copyright © 2026 Carlos Durán Domínguez ;;; Copyright © 2026 Sergey Trofimov +;;; Copyright © 2026 Nguyễn Gia Phong ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,6 +94,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages build-tools) #:use-module (gnu packages c) #:use-module (gnu packages calendar) #:use-module (gnu packages check) @@ -767,7 +769,7 @@ operating systems.") (define-public neomutt (package (name "neomutt") - (version "20250404") + (version "20260105") (source (origin (method git-fetch) @@ -776,8 +778,21 @@ operating systems.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "1w53g6l98cd3x2a6m0q245fm5gln95vzpgskvg4dz9yysmbki9az")))) + (base32 "1sg6ifabci7xyp3zds1w906vx6jsmyjlfr6bqld7m7hj07by9ndd")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + (define (delete-all-but directory . preserve) + (with-directory-excursion directory + (let* ((pred (negate (cut member <> + (cons* "." ".." preserve)))) + (items (scandir "." pred))) + (for-each (cut delete-file-recursively <>) items)))) + (delete-all-but "autosetup" + "mutt-gettext.tcl" + "mutt-iconv.tcl"))))) (build-system gnu-build-system) (inputs (list cyrus-sasl @@ -793,18 +808,19 @@ operating systems.") libxml2 lmdb notmuch + sqlite `(,zstd "lib"))) (native-inputs `(("automake" ,automake) + ("autosetup" ,autosetup) ("gettext-minimal" ,gettext-minimal) ("pkg-config" ,pkg-config) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml-4.2) ("w3m" ,w3m) - ("tcl" ,tcl) ;; Test file data for the unit tests included in the neomutt source. ("neomutt-test-files" - ,(let ((commit "8629adab700a75c54e8e28bf05ad092503a98f75")) + ,(let ((commit "c769cdefd45bcdfc4a72664821bd7f67ad4d5f6c")) (origin (method git-fetch) (uri (git-reference @@ -813,12 +829,13 @@ operating systems.") (file-name (git-file-name "neomutt-test-files" commit)) (sha256 (base32 - "1ci04nqkab9mh60zzm66sd6mhsr6lya8wp92njpbvafc86vvwdlr"))))))) + "0jvy9z2hmpvcxa10k7f68l2lqdxrppj36c4v8nmjrldkwgpkdaq3"))))))) (arguments (list #:test-target "test" #:configure-flags - #~(list "--gpgme" + #~(list "--enable-autocrypt" + "--gpgme" ;; Database, implies header caching. "--disable-tokyocabinet" "--disable-qdbm" @@ -829,7 +846,6 @@ operating systems.") "--gdbm" "--gnutls" - "--ssl=1" "--sasl" (string-append "--with-sasl=" #$(this-package-input "cyrus-sasl")) @@ -851,18 +867,11 @@ operating systems.") "--zstd=1") #:phases #~(modify-phases %standard-phases - ;; TODO: autosetup is meant to be included in the source, - ;; but we should package autosetup and use our own version of it. (replace 'configure - (lambda* (#:key outputs inputs configure-flags #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (flags `(,@configure-flags)) - (bash (which "bash"))) - (setenv "SHELL" bash) - (setenv "CONFIG_SHELL" bash) - (apply invoke bash - (string-append (getcwd) "/configure") - flags)))) + (lambda* (#:key configure-flags #:allow-other-keys) + (apply invoke "autosetup" + (string-append "--prefix=" #$output) + configure-flags))) (add-before 'check 'prepare-test-files (lambda _ (copy-recursively @@ -872,7 +881,6 @@ operating systems.") ;; (a different) one: test_expando_node_padding. (substitute* "test/main.c" (("NEOMUTT_TEST_ITEM\\(test_expando_filter\\)") "") - (("NEOMUTT_TEST_ITEM\\(test_mutt_sig_exit_handler\\)") "") (("NEOMUTT_TEST_ITEM\\(test_mutt_path_tilde\\)") "")) (with-directory-excursion "tests" (setenv "NEOMUTT_TEST_DIR" (getcwd)) ; must be absolute