gnu: notmuch: Enable tests.
* gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/mail.scm (notmuch)[source]: Use patch. [arguments]: Add verbose make flags. Add phase 'patch-notmuch-lib.el' to fix hard-coded /bin/sh. Add 'prepare-test-environment' phase to patch test shebangs and set environment. [native-inputs]: Change from 'emacs-minimal' to 'emacs-no-x'. Add dtach, gnupg, man, perl and which.
This commit is contained in:
parent
540d6cc711
commit
6cf27c89a5
|
@ -722,6 +722,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/ninja-tests.patch \
|
%D%/packages/patches/ninja-tests.patch \
|
||||||
%D%/packages/patches/ninja-zero-mtime.patch \
|
%D%/packages/patches/ninja-zero-mtime.patch \
|
||||||
%D%/packages/patches/node-9077.patch \
|
%D%/packages/patches/node-9077.patch \
|
||||||
|
%D%/packages/patches/notmuch-emacs-25-compatibility-fix.patch \
|
||||||
%D%/packages/patches/nss-pkgconfig.patch \
|
%D%/packages/patches/nss-pkgconfig.patch \
|
||||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||||
|
|
|
@ -76,7 +76,9 @@
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages flex)
|
#:use-module (gnu packages flex)
|
||||||
#:use-module (gnu packages gdb)
|
#:use-module (gnu packages gdb)
|
||||||
|
#:use-module (gnu packages man)
|
||||||
#:use-module (gnu packages samba)
|
#:use-module (gnu packages samba)
|
||||||
|
#:use-module (gnu packages screen)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
#:use-module (gnu packages networking)
|
#:use-module (gnu packages networking)
|
||||||
#:use-module (gnu packages web)
|
#:use-module (gnu packages web)
|
||||||
|
@ -506,12 +508,20 @@ invoking @command{notifymuch} from the post-new hook.")
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1f51l34rdhjf8lvafrwybkxdsdwx8k9397m7qxd8rdg2irjmpry5"))))
|
"1f51l34rdhjf8lvafrwybkxdsdwx8k9397m7qxd8rdg2irjmpry5"))
|
||||||
|
(patches
|
||||||
|
;; Remove this for the next release. See this thread for context:
|
||||||
|
;; https://notmuchmail.org/pipermail/notmuch/2016/023227.html
|
||||||
|
(search-patches "notmuch-emacs-25-compatibility-fix.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f ; FIXME: 723 tests; 187 fail and 100 are skipped
|
'(#:make-flags (list "V=1") ; Verbose test output.
|
||||||
; with perl input: 67 fail and 100 are skipped
|
|
||||||
#:phases (modify-phases %standard-phases
|
#:phases (modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-notmuch-lib.el
|
||||||
|
(lambda _
|
||||||
|
(substitute* "emacs/notmuch-lib.el"
|
||||||
|
(("/bin/sh") (which "sh")))
|
||||||
|
#t))
|
||||||
(replace 'configure
|
(replace 'configure
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(setenv "CC" "gcc")
|
(setenv "CC" "gcc")
|
||||||
|
@ -519,14 +529,28 @@ invoking @command{notifymuch} from the post-new hook.")
|
||||||
|
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(let ((out (assoc-ref outputs "out")))
|
||||||
(zero? (system* "./configure"
|
(zero? (system* "./configure"
|
||||||
(string-append "--prefix=" out)))))))))
|
(string-append "--prefix=" out))))))
|
||||||
|
(add-before 'check 'prepare-test-environment
|
||||||
|
(lambda _
|
||||||
|
(setenv "TEST_CC" "gcc")
|
||||||
|
;; Patch various inline shell invocations.
|
||||||
|
(substitute* (find-files "test" "\\.sh$")
|
||||||
|
(("/bin/sh") (which "sh")))
|
||||||
|
#t)))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("bash-completion" ,bash-completion)
|
`(("bash-completion" ,bash-completion)
|
||||||
("emacs" ,emacs-minimal)
|
("emacs" ,emacs-no-x) ; Minimal lacks libxml, needed for some tests.
|
||||||
("pkg-config" ,pkg-config)
|
("pkg-config" ,pkg-config)
|
||||||
("python" ,python-2)
|
("python" ,python-2)
|
||||||
("python-docutils" ,python2-docutils)
|
("python-docutils" ,python2-docutils)
|
||||||
("python-sphinx" ,python2-sphinx)))
|
("python-sphinx" ,python2-sphinx)
|
||||||
|
|
||||||
|
;; The following are required for tests only.
|
||||||
|
("which" ,which)
|
||||||
|
("dtach" ,dtach)
|
||||||
|
("gnupg" ,gnupg)
|
||||||
|
("man" ,man-db)
|
||||||
|
("perl" ,perl)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("glib" ,glib)
|
`(("glib" ,glib)
|
||||||
("gmime" ,gmime)
|
("gmime" ,gmime)
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
This fixes a test failure with emacs-25. Picked from
|
||||||
|
https://git.notmuchmail.org/git?p=notmuch;a=commit;h=f575a346df09c82691bb9e7c462836d982fe31f7
|
||||||
|
|
||||||
|
From f575a346df09c82691bb9e7c462836d982fe31f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Bremner <david@tethera.net>
|
||||||
|
Date: Sun, 9 Oct 2016 19:30:44 -0300
|
||||||
|
Subject: [PATCH] emacs/show: force notmuch-show-buttonise-links to act on
|
||||||
|
lines
|
||||||
|
|
||||||
|
This seems to fix a problem with emacs 25 creating partial buttons by
|
||||||
|
calling n-s-b-l with a region that does not include the whole button.
|
||||||
|
I'm not 100% sure it's legit to act outside the region passed by
|
||||||
|
jit-lock, but goto-address-fontify-region (where I borrowed the code
|
||||||
|
from) already does this, so this patch to not make things worse.
|
||||||
|
---
|
||||||
|
emacs/notmuch-show.el | 12 +++++++-----
|
||||||
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
|
||||||
|
index 641398d..e7d16f8 100644
|
||||||
|
--- a/emacs/notmuch-show.el
|
||||||
|
+++ b/emacs/notmuch-show.el
|
||||||
|
@@ -1174,13 +1174,15 @@ This also turns id:\"<message id>\"-parts and mid: links into
|
||||||
|
buttons for a corresponding notmuch search."
|
||||||
|
(goto-address-fontify-region start end)
|
||||||
|
(save-excursion
|
||||||
|
- (let (links)
|
||||||
|
- (goto-char start)
|
||||||
|
- (while (re-search-forward notmuch-id-regexp end t)
|
||||||
|
+ (let (links
|
||||||
|
+ (beg-line (progn (goto-char start) (line-beginning-position)))
|
||||||
|
+ (end-line (progn (goto-char end) (line-end-position))))
|
||||||
|
+ (goto-char beg-line)
|
||||||
|
+ (while (re-search-forward notmuch-id-regexp end-line t)
|
||||||
|
(push (list (match-beginning 0) (match-end 0)
|
||||||
|
(match-string-no-properties 0)) links))
|
||||||
|
- (goto-char start)
|
||||||
|
- (while (re-search-forward notmuch-mid-regexp end t)
|
||||||
|
+ (goto-char beg-line)
|
||||||
|
+ (while (re-search-forward notmuch-mid-regexp end-line t)
|
||||||
|
(let* ((mid-cid (match-string-no-properties 1))
|
||||||
|
(mid (save-match-data
|
||||||
|
(string-match "^[^/]*" mid-cid)
|
||||||
|
--
|
||||||
|
2.10.1
|
||||||
|
|
Loading…
Reference in New Issue