Github messages for voidlinux
 help / color / Atom feed
* [PR PATCH] notmuch: update to 0.30.
@ 2020-07-27 17:11 sgn
  2020-07-28  2:30 ` [PR PATCH] [Updated] " sgn
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: sgn @ 2020-07-27 17:11 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 434 bytes --]

There is a new pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages notmuch-0.30
https://github.com/void-linux/void-packages/pull/23874

notmuch: update to 0.30.
@jan-schreib @ninewise both of you use notmuch, could you take a look?

Other committer: do you mind with unusual `conflicts`?

A patch file from https://github.com/void-linux/void-packages/pull/23874.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-notmuch-0.30-23874.patch --]
[-- Type: text/x-diff, Size: 30310 bytes --]

From 36528556585c260a5f8b7779aa4da1bcda3a8e24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 00:07:57 +0700
Subject: [PATCH] notmuch: update to 0.30.

---
 ...detect-version-by-compiler-for-build.patch |  51 +++++++++
 ...account-for-various-name-of-pytest-3.patch |  44 +++++++
 ...rop-check-for-default-xapian-backend.patch | 108 ++++++++++++++++++
 ...55-specify-hash-algorithm-explicitly.patch |  39 +++++++
 ...ime-session-key-extraction-support-.patch} |  79 ++++---------
 ...mime-x509-certificate-validity-check.patch | 102 +++++++++++++++++
 ...-gmime-verify-with-session-key-check.patch | 101 ++++++++++++++++
 srcpkgs/notmuch/template                      |  62 +++++-----
 8 files changed, 505 insertions(+), 81 deletions(-)
 create mode 100644 srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
 create mode 100644 srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch
 create mode 100644 srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
 create mode 100644 srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
 rename srcpkgs/notmuch/patches/{cross.patch => 0005-configure-drop-gmime-session-key-extraction-support-.patch} (54%)
 create mode 100644 srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
 create mode 100644 srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch

diff --git a/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch b/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
new file mode 100644
index 00000000000..ba540c7ab3f
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
@@ -0,0 +1,51 @@
+From 5402e4d357d7957942acc4b906b58102b6bd4fdf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 15:46:35 +0700
+Subject: [PATCH] configure: detect version by compiler for build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We'll need to run the compiled binary to report our current version.
+
+With the same code base, we should have the same version information
+regardless of compiler and architecture.
+
+Let's use the compiler for building architecture to build the reporting
+binary. Which is usually reported under variable CC_FOR_BUILD,
+a convention established by GNU Autotools, and fall back to CC if it's
+not defined.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 80cbac4f..6c77960f 100755
+--- a/configure
++++ b/configure
+@@ -85,8 +85,10 @@ fi
+ BASHCMD=${BASHCMD:-bash}
+ PERL=${PERL:-perl}
+ CC=${CC:-cc}
++CC_FOR_BUILD=${CC_FOR_BUILD:-$CC}
+ CXX=${CXX:-c++}
+ CFLAGS=${CFLAGS:--g -O2}
++CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD:-$CFLAGS}
+ CPPFLAGS=${CPPFLAGS:-}
+ CXXFLAGS_for_sh=${CXXFLAGS:-${CFLAGS}}
+ CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)}
+@@ -409,7 +411,7 @@ int main(void) {
+     return 0;
+ }
+ EOF
+-if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
++if ${CC_FOR_BUILD} ${CFLAGS_FOR_BUILD} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
+        && ./_libversion > _libversion.sh && . ./_libversion.sh
+ then
+     printf "OK.\n"
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch b/srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch
new file mode 100644
index 00000000000..5da0a4528bd
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch
@@ -0,0 +1,44 @@
+From 5850603ebb4d6c696bb30994c3f144c84eb3f8e2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 16:42:02 +0700
+Subject: [PATCH] configure: account for various name of pytest-3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On different distro, pytest is suffixed with different patterns.
+Try to account for them, now.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index 6c77960f..dc8b3c72 100755
+--- a/configure
++++ b/configure
+@@ -811,10 +811,15 @@ if [ $have_python3 -eq 1 ]; then
+     printf "Checking for python3 pytest (>= 3.0)... "
+     conf=$(mktemp)
+     printf "[pytest]\nminversion=3.0\n" > $conf
+-    if pytest-3 -c $conf --version >/dev/null 2>&1; then
+-        printf "Yes.\n"
+-        have_python3_pytest=1
+-    else
++    for _pytest_cmd in pytest-3 pytest3; do
++        if command -v $_pytest_cmd >/dev/null 2>&1 &&
++                $_pytest_cmd -c $conf --version >/dev/null 2>&1; then
++            printf "Yes.\n"
++            have_python3_pytest=1
++            break
++        fi
++    done
++    if [ "have_python3_pytest" = "0" ]; then
+         printf "No (will not test CFFI-based python bindings).\n"
+     fi
+     rm -f $conf
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch b/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
new file mode 100644
index 00000000000..d73edf012a6
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
@@ -0,0 +1,108 @@
+From 26d12df2740754162eca3fc9588f60db535cc82b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 20:11:00 +0700
+Subject: [PATCH] configure: drop check for default xapian backend
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting from xapian 1.3.5, xapian switched default backend to glass.
+
+From 00cdfe10 (build: drop support for xapian versions less than 1.4,
+2020-04-22), we only support xapian 1.4.0+. Effectively, we don't need
+to check for default xapian backend anymore.
+
+Let's drop it.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure                  | 23 -----------------------
+ test/T360-symbol-hiding.sh |  4 ++--
+ test/test-lib.sh           | 11 +----------
+ 3 files changed, 3 insertions(+), 35 deletions(-)
+
+diff --git a/configure b/configure
+index dc8b3c72..47570749 100755
+--- a/configure
++++ b/configure
+@@ -456,26 +456,6 @@ if [ ${have_xapian} = "0" ]; then
+     errors=$((errors + 1))
+ fi
+ 
+-if [ ${have_xapian} = "1" ]; then
+-    default_xapian_backend=""
+-    printf "Testing default Xapian backend... "
+-    cat >_default_backend.cc <<EOF
+-#include <xapian.h>
+-int main(int argc, char** argv) {
+-   Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN);
+-}
+-EOF
+-    ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags}
+-    ./_default_backend
+-    if [ -f test.db/iamglass ]; then
+-	default_xapian_backend=glass
+-    else
+-	default_xapian_backend=chert
+-    fi
+-    printf "%s\n" "${default_xapian_backend}";
+-    rm -rf test.db _default_backend _default_backend.cc
+-fi
+-
+ GMIME_MINVER=3.0.3
+ 
+ printf "Checking for GMime development files (>= $GMIME_MINVER)... "
+@@ -1512,9 +1492,6 @@ NOTMUCH_SRCDIR='${NOTMUCH_SRCDIR}'
+ # Whether to have Xapian retry lock
+ NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${WITH_RETRY_LOCK}
+ 
+-# Which backend will Xapian use by default?
+-NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend}
+-
+ # Whether GMime can verify X.509 certificate validity
+ NOTMUCH_GMIME_X509_CERT_VALIDITY=${gmime_x509_cert_validity}
+ 
+diff --git a/test/T360-symbol-hiding.sh b/test/T360-symbol-hiding.sh
+index 43921cb4..eb438a7a 100755
+--- a/test/T360-symbol-hiding.sh
++++ b/test/T360-symbol-hiding.sh
+@@ -14,11 +14,11 @@ test_description='exception symbol hiding'
+ test_begin_subtest 'running test' run_test
+ mkdir -p ${PWD}/fakedb/.notmuch
+ $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent 2>&1 \
+-	| notmuch_dir_sanitize | sed -e "s,\`,\',g" -e "s,${NOTMUCH_DEFAULT_XAPIAN_BACKEND},backend,g" > OUTPUT
++	| notmuch_dir_sanitize | sed -e "s,\`,\',g" > OUTPUT
+ 
+ cat <<EOF > EXPECTED
+ A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'
+-caught No backend database found at path 'CWD/nonexistent'
++caught No glass database found at path 'CWD/nonexistent'
+ EOF
+ test_expect_equal_file EXPECTED OUTPUT
+ 
+diff --git a/test/test-lib.sh b/test/test-lib.sh
+index 7424881e..dc63ff1a 100644
+--- a/test/test-lib.sh
++++ b/test/test-lib.sh
+@@ -1255,16 +1255,7 @@ ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
+ rm -f y
+ 
+ # convert variable from configure to more convenient form
+-case "$NOTMUCH_DEFAULT_XAPIAN_BACKEND" in
+-    glass)
+-	db_ending=glass
+-    ;;
+-    chert)
+-	db_ending=DB
+-    ;;
+-    *)
+-	error "Unknown Xapian backend $NOTMUCH_DEFAULT_XAPIAN_BACKEND"
+-esac
++db_ending=glass
+ # declare prerequisites for external binaries used in tests
+ test_declare_external_prereq dtach
+ test_declare_external_prereq emacs
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch b/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
new file mode 100644
index 00000000000..af57c9699d2
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
@@ -0,0 +1,39 @@
+From 894d750f804dc77ff5fc7ba1be98a3a695988912 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:05:46 +0700
+Subject: [PATCH] T355: specify hash algorithm explicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On some systems (notably, the one shipped with LibreSSL),
+default fingerprint digest algorithm is SHA256.
+
+On other systems, users can change default digest algorithm by changing
+default_md in /etc/ssl/default_md.
+
+Let's ask openssl to provide us specific algorithm to make the test
+more deterministic.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ test/T355-smime.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/T355-smime.sh b/test/T355-smime.sh
+index f8cec62c..8b2b52be 100755
+--- a/test/T355-smime.sh
++++ b/test/T355-smime.sh
+@@ -6,7 +6,7 @@ test_description='S/MIME signature verification and decryption'
+ test_require_external_prereq openssl
+ test_require_external_prereq gpgsm
+ 
+-FINGERPRINT=$(openssl x509 -fingerprint -in "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' -e s/://g)
++FINGERPRINT=$(openssl x509 -sha1 -fingerprint -in "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' -e s/://g)
+ 
+ add_gpgsm_home
+ 
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/cross.patch b/srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
similarity index 54%
rename from srcpkgs/notmuch/patches/cross.patch
rename to srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
index 1ceaebafc56..00d426eccd7 100644
--- a/srcpkgs/notmuch/patches/cross.patch
+++ b/srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
@@ -1,48 +1,29 @@
-From 7bb539777d688acd5ca6081919047b60d47566d3 Mon Sep 17 00:00:00 2001
-From: Doan Tran Cong Danh <congdanhqx@gmail.com>
-Date: Mon, 10 Jun 2019 20:30:11 +0700
-Subject: [PATCH] configure: cross compile on Void Linux
+From 93d8cecddc2ed766c354369b437664502538428f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:47:15 +0700
+Subject: [PATCH] configure: drop gmime session key extraction support check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
-- Void Linux ships gmime linked against latest gpgme.
-- default Xapian backend is glass from version 1.4
-- cheat some test by running them on host environment
+Void Linux gmime3 always support session key extraction.
+
+No suitable for upstream.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
 ---
- configure | 73 +++----------------------------------------------------
- 1 file changed, 4 insertions(+), 69 deletions(-)
+ configure | 58 -------------------------------------------------------
+ 1 file changed, 58 deletions(-)
 
 diff --git a/configure b/configure
-index 8b80f0e0..8e5fd4ce 100755
+index 47570749..8a6aa202 100755
 --- a/configure
 +++ b/configure
-@@ -380,7 +380,7 @@ int main(void) {
-     return 0;
- }
- EOF
--if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
-+if ${BUILD_CC} ${BUILD_CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
-        && ./_libversion > _libversion.sh && . ./_libversion.sh
- then
-     printf "OK.\n"
-@@ -478,13 +478,7 @@ int main(int argc, char** argv) {
-    Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN);
- }
- EOF
--    ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags}
--    ./_default_backend
--    if [ -f test.db/iamglass ]; then
--	default_xapian_backend=glass
--    else
--	default_xapian_backend=chert
--    fi
-+    default_xapian_backend=glass
-     printf "%s\n" "${default_xapian_backend}";
-     rm -rf test.db _default_backend _default_backend.cc
- fi
-@@ -499,66 +493,7 @@ if pkg-config --exists "gmime-3.0 > $GMIME_MINVER"; then
-     gmime_ldflags=$(pkg-config --libs gmime-3.0)
+@@ -467,65 +467,7 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
  
      printf "Checking for GMime session key extraction support... "
--
+ 
 -    cat > _check_session_keys.c <<EOF
 -#include <gmime/gmime.h>
 -#include <stdio.h>
@@ -56,11 +37,11 @@ index 8b80f0e0..8e5fd4ce 100755
 -
 -    g_mime_init ();
 -    parser = g_mime_parser_new ();
--    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("test/corpora/crypto/basic-encrypted.eml", "r", &error));
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/crypto/basic-encrypted.eml", "r", &error));
 -    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/crypto/basic-encrypted.eml\n");
 -
 -    body = GMIME_MULTIPART_ENCRYPTED(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
--    if (body == NULL) return !!	fprintf (stderr, "did not find a multipart encrypted message\n");
+-    if (body == NULL) return !! fprintf (stderr, "did not find a multipart encrypted message\n");
 -
 -    output = g_mime_multipart_encrypted_decrypt (body, GMIME_DECRYPT_EXPORT_SESSION_KEY, NULL, &decrypt_result, &error);
 -    if (error || output == NULL) return !! fprintf (stderr, "decryption failed\n");
@@ -76,11 +57,11 @@ index 8b80f0e0..8e5fd4ce 100755
 -        printf 'No.\nCould not make tempdir for testing session-key support.\n'
 -        errors=$((errors + 1))
 -    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_session_keys.c ${gmime_ldflags} -o _check_session_keys \
--           && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
+-           && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \
 -           && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
 -           && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ]
 -    then
--        printf "OK.\n"
+         printf "OK.\n"
 -    else
 -        cat <<EOF
 -No.
@@ -102,19 +83,9 @@ index 8b80f0e0..8e5fd4ce 100755
 -    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
 -        rm -rf "$TEMP_GPG"
 -    fi
-+    printf "OK.\n"
- else
-     have_gmime=0
-     printf "No.\n"
-@@ -581,7 +516,7 @@ else
- fi
  
- if ! pkg-config --exists zlib; then
--  ${CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
-+  ${BUILD_CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
-   compat/gen_zlib_pc > compat/zlib.pc &&
-   PKG_CONFIG_PATH="$PKG_CONFIG_PATH":compat &&
-   export PKG_CONFIG_PATH
+     # see https://github.com/jstedfast/gmime/pull/90
+     # should be fixed in GMime in 3.2.7, but some distros might patch
 -- 
-2.22.0.rc1.479.gd8fdbe21b5
+2.28.0.rc2.21.g5c06d60fc5
 
diff --git a/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch b/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
new file mode 100644
index 00000000000..496bea1d8a7
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
@@ -0,0 +1,102 @@
+From c13f1e2d5c3aa43c80563642b1cc62cb7f602288 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:49:47 +0700
+Subject: [PATCH] configure: drop gmime x509 certificate validity check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The problem has been fixed with gmime 3.2.7 already.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 70 -------------------------------------------------------
+ 1 file changed, 70 deletions(-)
+
+diff --git a/configure b/configure
+index 8a6aa202..22832ff9 100755
+--- a/configure
++++ b/configure
+@@ -472,78 +472,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+     # see https://github.com/jstedfast/gmime/pull/90
+     # should be fixed in GMime in 3.2.7, but some distros might patch
+     printf "Checking for GMime X.509 certificate validity... "
+-
+-    cat > _check_x509_validity.c <<EOF
+-#include <stdio.h>
+-#include <gmime/gmime.h>
+-
+-int main () {
+-    GError *error = NULL;
+-    GMimeParser *parser = NULL;
+-    GMimeApplicationPkcs7Mime *body = NULL;
+-    GMimeSignatureList *sig_list = NULL;
+-    GMimeSignature *sig = NULL;
+-    GMimeCertificate *cert = NULL;
+-    GMimeObject *output = NULL;
+-    GMimeValidity validity = GMIME_VALIDITY_UNKNOWN;
+-    int len;
+-
+-    g_mime_init ();
+-    parser = g_mime_parser_new ();
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/pkcs7/smime-onepart-signed.eml", "r", &error));
+-    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/pkcs7/smime-onepart-signed.eml\n");
+-
+-    body = GMIME_APPLICATION_PKCS7_MIME(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
+-    if (body == NULL) return !!	fprintf (stderr, "did not find a application/pkcs7 message\n");
+-
+-    sig_list = g_mime_application_pkcs7_mime_verify (body, GMIME_VERIFY_NONE, &output, &error);
+-    if (error || output == NULL) return !! fprintf (stderr, "verify failed\n");
+-
+-    if (sig_list == NULL) return !! fprintf (stderr, "no GMimeSignatureList found\n");
+-    len = g_mime_signature_list_length (sig_list);
+-    if (len != 1) return !! fprintf (stderr, "expected 1 signature, got %d\n", len);
+-    sig = g_mime_signature_list_get_signature (sig_list, 0);
+-    if (sig == NULL) return !! fprintf (stderr, "no GMimeSignature found at position 0\n");
+-    cert = g_mime_signature_get_certificate (sig);
+-    if (cert == NULL) return !! fprintf (stderr, "no GMimeCertificate found\n");
+-    validity = g_mime_certificate_get_id_validity (cert);
+-    if (validity != GMIME_VALIDITY_FULL) return !! fprintf (stderr, "Got validity %d, expected %d\n", validity, GMIME_VALIDITY_FULL);
+-
+-    return 0;
+-}
+-EOF
+-    if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then
+-        printf 'No.\nCould not make tempdir for testing X.509 certificate validity support.\n'
+-        errors=$((errors + 1))
+-    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_x509_validity.c ${gmime_ldflags} -o _check_x509_validity \
+-            && echo disable-crl-checks > "$TEMP_GPG/gpgsm.conf" \
+-            && echo "4D:E0:FF:63:C0:E9:EC:01:29:11:C8:7A:EE:DA:3A:9A:7F:6E:C1:0D S" >> "$TEMP_GPG/trustlist.txt" \
+-            && GNUPGHOME=${TEMP_GPG} gpgsm --batch --quiet --import < "$srcdir"/test/smime/ca.crt
+-    then
+-        if GNUPGHOME=${TEMP_GPG} ./_check_x509_validity; then
+             gmime_x509_cert_validity=1
+             printf "Yes.\n"
+-        else
+-            gmime_x509_cert_validity=0
+-            printf "No.\n"
+-            if pkg-config --exists "gmime-3.0 >= 3.2.7"; then
+-                cat <<EOF
+-*** Error: GMime fails to calculate X.509 certificate validity, and
+-is later than 3.2.7, which should have fixed this issue.
+-
+-Please follow up on https://github.com/jstedfast/gmime/pull/90 with
+-more details.
+-EOF
+-                errors=$((errors + 1))
+-            fi
+-        fi
+-    else
+-        printf 'No.\nFailed to set up gpgsm for testing X.509 certificate validity support.\n'
+-        errors=$((errors + 1))
+-    fi
+-    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+-        rm -rf "$TEMP_GPG"
+-    fi
+ 
+     # see https://dev.gnupg.org/T3464
+     # there are problems verifying signatures when decrypting with session keys with GPGME 1.13.0 and 1.13.1
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch b/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch
new file mode 100644
index 00000000000..bf5dba8fc8d
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch
@@ -0,0 +1,101 @@
+From d1081788fe675399dedafaf8ee04a9447540ce4b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 23:00:13 +0700
+Subject: [PATCH] configure: drop gmime verify with session key check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The problem is fixed with gpgme 1.14.0.
+
+We'll force a conflicts with gpgme older than 1.14.0, so nothing to
+worry about.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 66 -------------------------------------------------------
+ 1 file changed, 66 deletions(-)
+
+diff --git a/configure b/configure
+index 22832ff9..714a79b0 100755
+--- a/configure
++++ b/configure
+@@ -478,74 +478,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+     # see https://dev.gnupg.org/T3464
+     # there are problems verifying signatures when decrypting with session keys with GPGME 1.13.0 and 1.13.1
+     printf "Checking signature verification when decrypting using session keys... "
+-
+-    cat > _verify_sig_with_session_key.c <<EOF
+-#include <stdio.h>
+-#include <gmime/gmime.h>
+-
+-int main () {
+-    GError *error = NULL;
+-    GMimeParser *parser = NULL;
+-    GMimeMultipartEncrypted *body = NULL;
+-    GMimeDecryptResult *result = NULL;
+-    GMimeSignatureList *sig_list = NULL;
+-    GMimeSignature *sig = NULL;
+-    GMimeObject *output = NULL;
+-    GMimeSignatureStatus status;
+-    int len;
+-
+-    g_mime_init ();
+-    parser = g_mime_parser_new ();
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/crypto/encrypted-signed.eml", "r", &error));
+-    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/pkcs7/smime-onepart-signed.eml\n");
+-
+-    body = GMIME_MULTIPART_ENCRYPTED(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
+-    if (body == NULL) return !!	fprintf (stderr, "did not find a multipart/encrypted message\n");
+-
+-    output = g_mime_multipart_encrypted_decrypt (body, GMIME_DECRYPT_NONE, "9:13607E4217515A70EC8DF9DBC16C5327B94577561D98AD1246FA8756659C7899", &result, &error);
+-    if (error || output == NULL) return !! fprintf (stderr, "decrypt failed\n");
+-
+-    sig_list = g_mime_decrypt_result_get_signatures (result);
+-    if (sig_list == NULL) return !! fprintf (stderr, "sig_list is NULL\n");
+-
+-    if (sig_list == NULL) return !! fprintf (stderr, "no GMimeSignatureList found\n");
+-    len = g_mime_signature_list_length (sig_list);
+-    if (len != 1) return !! fprintf (stderr, "expected 1 signature, got %d\n", len);
+-    sig = g_mime_signature_list_get_signature (sig_list, 0);
+-    if (sig == NULL) return !! fprintf (stderr, "no GMimeSignature found at position 0\n");
+-    status = g_mime_signature_get_status (sig);
+-    if (status & GMIME_SIGNATURE_STATUS_KEY_MISSING) return !! fprintf (stderr, "signature status contains KEY_MISSING (see https://dev.gnupg.org/T3464)\n");
+-
+-    return 0;
+-}
+-EOF
+-    if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then
+-        printf 'No.\nCould not make tempdir for testing signature verification when decrypting with session keys.\n'
+-        errors=$((errors + 1))
+-    elif ${CC} ${CFLAGS} ${gmime_cflags} _verify_sig_with_session_key.c ${gmime_ldflags} -o _verify_sig_with_session_key \
+-            && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \
+-            && rm -f ${TEMP_GPG}/private-keys-v1.d/*.key
+-    then
+-        if GNUPGHOME=${TEMP_GPG} ./_verify_sig_with_session_key; then
+             gmime_verify_with_session_key=1
+             printf "Yes.\n"
+-        else
+-            gmime_verify_with_session_key=0
+-            printf "No.\n"
+-            cat <<EOF
+-*** Error: GMime fails to verify signatures when decrypting with a session key.
+-
+-This is most likely due to a buggy version of GPGME, which should be fixed in 1.13.2 or later.
+-See https://dev.gnupg.org/T3464 for more details.
+-EOF
+-        fi
+-    else
+-        printf 'No.\nFailed to set up gpg for testing signature verification while decrypting with a session key.\n'
+-        errors=$((errors + 1))
+-    fi
+-    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+-        rm -rf "$TEMP_GPG"
+-    fi
+ else
+     have_gmime=0
+     printf "No.\n"
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/template b/srcpkgs/notmuch/template
index 2c898538069..d9bba6a03b8 100644
--- a/srcpkgs/notmuch/template
+++ b/srcpkgs/notmuch/template
@@ -1,17 +1,26 @@
 # Template file for 'notmuch'
 pkgname=notmuch
-version=0.29.3
-revision=4
-hostmakedepends="perl pkg-config python-devel python3-Sphinx python3-devel texinfo"
-makedepends="bash-completion gmime3-devel talloc-devel xapian-core-devel"
+version=0.30
+revision=1
+hostmakedepends="perl pkg-config python3-Sphinx python3-devel texinfo"
+makedepends="bash-completion gmime3-devel talloc-devel xapian-core-devel
+ python3-cffi python3-setuptools gnupg2"
+depends="gmime3>=3.2.7"
+checkdepends="python3-pytest mdocml dtach gdb tar xz"
 short_desc="Thread-based email index, search, and tagging"
 maintainer="Jan S. <jan.schreib@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://notmuchmail.org"
-distfiles="https://notmuchmail.org/releases/notmuch-${version}.tar.xz"
-checksum=d5f704b9a72395e43303de9b1f4d8e14dd27bf3646fdbb374bb3dbb7d150dc35
+distfiles="https://notmuchmail.org/releases/notmuch-${version}.tar.xz
+ https://notmuchmail.org/releases/test-databases/database-v1.tar.xz"
+checksum="5e3baa6fe11d65c67e26ae488be11b320bae04e336acc9c64621f7e3449096fa
+ 4299e051b10e1fa7b33ea2862790a09ebfe96859681804e5251e130f800e69d2"
+skip_extraction="database-v1.tar.xz"
 
-subpackages="libnotmuch libnotmuch-devel notmuch-mutt notmuch-python notmuch-python3"
+# Not a real conflicts, but this package is broken with gpgme 1.13.1-
+# gpgme is optional dependency
+conflicts="gpgme<1.14.0_1"
+subpackages="libnotmuch libnotmuch-devel notmuch-mutt notmuch-python3"
 patch_args=-Np1
 
 if [ ! "$CROSS_BUILD" ]; then
@@ -25,25 +34,35 @@ else
 fi
 
 do_configure() {
+	ln -sf /usr/bin/gpg2 $XBPS_WRAPPERDIR/gpg
 	./configure --prefix=/usr \
 		--bashcompletiondir=/usr/share/bash-completion/completions \
 		--zshcompletiondir=/usr/share/zsh/site-functions ${_args}
 }
 
 do_build() {
-	make ${makejobs} V=1
+	make ${makejobs}
 	make -C contrib/notmuch-mutt
 	cd bindings/python
-	python2 setup.py build --build-base=build-2
-	python3 setup.py build --build-base=build-3
+	python3 setup.py build --build-base=build
+}
+
+do_check() {
+	# We want wrapper-dirs included for gpg being gpg2
+	# But we don't want to use date wrapper in check
+	unset SOURCE_DATE_EPOCH
+	PATH=$XBPS_WRAPPERDIR:$PATH
+	cp $XBPS_SRCDISTDIR/notmuch-$version/database-v1.tar.xz \
+		test/test-databases
+	# 2 tests is failing on musl
+	# glibc is clean
+	make test
 }
 
 do_install() {
 	make DESTDIR=${DESTDIR} install
 	pushd bindings/python
-	python2 setup.py build --build-base=build-2 \
-		install --prefix=/usr --root=${DESTDIR}
-	python3 setup.py build --build-base=build-3 \
+	python3 setup.py build --build-base=build \
 		install --prefix=/usr --root=${DESTDIR}
 	popd
 	if [ ! "$CROSS_BUILD" ]; then
@@ -95,28 +114,17 @@ notmuch-mutt_package() {
 	}
 }
 
-notmuch-python_package() {
-	archs=noarch
-	depends="libnotmuch>=${version}_${revision}"
-	short_desc+=" - Python2 bindings"
-	pycompile_module="notmuch"
-	pkg_install() {
-		vmove ${py2_sitelib}
-	}
-}
-
 notmuch-python3_package() {
 	archs=noarch
-	depends="libnotmuch>=${version}_${revision}"
-	short_desc+=" - Python3 bindings"
-	pycompile_module="notmuch"
+	depends="libnotmuch-${version}_${revision}"
+	short_desc+=" - Python 3 bindings"
 	pkg_install() {
 		vmove ${py3_sitelib}
 	}
 }
 
 notmuch-ruby_package() {
-	depends="libnotmuch>=${version}_${revision} ruby"
+	depends="libnotmuch-${version}_${revision} ruby"
 	short_desc+=" - Ruby bindings"
 	pkg_install() {
 		vmove usr/lib/ruby

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] notmuch: update to 0.30.
  2020-07-27 17:11 [PR PATCH] notmuch: update to 0.30 sgn
@ 2020-07-28  2:30 ` sgn
  2020-07-28  2:33 ` sgn
  2020-07-29 14:50 ` [PR PATCH] [Closed]: " sgn
  2 siblings, 0 replies; 4+ messages in thread
From: sgn @ 2020-07-28  2:30 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 439 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages notmuch-0.30
https://github.com/void-linux/void-packages/pull/23874

notmuch: update to 0.30.
@jan-schreib @ninewise both of you use notmuch, could you take a look?

Other committer: do you mind with unusual `conflicts`?

A patch file from https://github.com/void-linux/void-packages/pull/23874.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-notmuch-0.30-23874.patch --]
[-- Type: text/x-diff, Size: 32119 bytes --]

From a647fb24633c7242e3c336a4c90a5c1585b06187 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 00:07:57 +0700
Subject: [PATCH] notmuch: update to 0.30.

---
 ...detect-version-by-compiler-for-build.patch |  51 +++++++++
 ...account-for-various-name-of-pytest-3.patch |  44 +++++++
 ...heck-for-pytest-with-python-m-pytest.patch |  37 ++++++
 ...rop-check-for-default-xapian-backend.patch | 108 ++++++++++++++++++
 ...55-specify-hash-algorithm-explicitly.patch |  39 +++++++
 ...ime-session-key-extraction-support-.patch} |  79 ++++---------
 ...mime-x509-certificate-validity-check.patch | 102 +++++++++++++++++
 ...-gmime-verify-with-session-key-check.patch | 101 ++++++++++++++++
 srcpkgs/notmuch/template                      |  62 +++++-----
 9 files changed, 542 insertions(+), 81 deletions(-)
 create mode 100644 srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
 create mode 100644 srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch
 create mode 100644 srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch
 create mode 100644 srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
 create mode 100644 srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
 rename srcpkgs/notmuch/patches/{cross.patch => 0005-configure-drop-gmime-session-key-extraction-support-.patch} (54%)
 create mode 100644 srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
 create mode 100644 srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch

diff --git a/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch b/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
new file mode 100644
index 00000000000..ba540c7ab3f
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
@@ -0,0 +1,51 @@
+From 5402e4d357d7957942acc4b906b58102b6bd4fdf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 15:46:35 +0700
+Subject: [PATCH] configure: detect version by compiler for build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We'll need to run the compiled binary to report our current version.
+
+With the same code base, we should have the same version information
+regardless of compiler and architecture.
+
+Let's use the compiler for building architecture to build the reporting
+binary. Which is usually reported under variable CC_FOR_BUILD,
+a convention established by GNU Autotools, and fall back to CC if it's
+not defined.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 80cbac4f..6c77960f 100755
+--- a/configure
++++ b/configure
+@@ -85,8 +85,10 @@ fi
+ BASHCMD=${BASHCMD:-bash}
+ PERL=${PERL:-perl}
+ CC=${CC:-cc}
++CC_FOR_BUILD=${CC_FOR_BUILD:-$CC}
+ CXX=${CXX:-c++}
+ CFLAGS=${CFLAGS:--g -O2}
++CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD:-$CFLAGS}
+ CPPFLAGS=${CPPFLAGS:-}
+ CXXFLAGS_for_sh=${CXXFLAGS:-${CFLAGS}}
+ CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)}
+@@ -409,7 +411,7 @@ int main(void) {
+     return 0;
+ }
+ EOF
+-if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
++if ${CC_FOR_BUILD} ${CFLAGS_FOR_BUILD} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
+        && ./_libversion > _libversion.sh && . ./_libversion.sh
+ then
+     printf "OK.\n"
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch b/srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch
new file mode 100644
index 00000000000..5da0a4528bd
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0002-configure-account-for-various-name-of-pytest-3.patch
@@ -0,0 +1,44 @@
+From 5850603ebb4d6c696bb30994c3f144c84eb3f8e2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 16:42:02 +0700
+Subject: [PATCH] configure: account for various name of pytest-3
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On different distro, pytest is suffixed with different patterns.
+Try to account for them, now.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/configure b/configure
+index 6c77960f..dc8b3c72 100755
+--- a/configure
++++ b/configure
+@@ -811,10 +811,15 @@ if [ $have_python3 -eq 1 ]; then
+     printf "Checking for python3 pytest (>= 3.0)... "
+     conf=$(mktemp)
+     printf "[pytest]\nminversion=3.0\n" > $conf
+-    if pytest-3 -c $conf --version >/dev/null 2>&1; then
+-        printf "Yes.\n"
+-        have_python3_pytest=1
+-    else
++    for _pytest_cmd in pytest-3 pytest3; do
++        if command -v $_pytest_cmd >/dev/null 2>&1 &&
++                $_pytest_cmd -c $conf --version >/dev/null 2>&1; then
++            printf "Yes.\n"
++            have_python3_pytest=1
++            break
++        fi
++    done
++    if [ "have_python3_pytest" = "0" ]; then
+         printf "No (will not test CFFI-based python bindings).\n"
+     fi
+     rm -f $conf
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch b/srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch
new file mode 100644
index 00000000000..c4ba22b0d41
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch
@@ -0,0 +1,37 @@
+From c5164d1c0f5ba108ace05146218bf3810d590d5b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 16:42:02 +0700
+Subject: [PATCH] configure: check for pytest with python -m pytest
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On different distro, pytest is suffixed with different patterns.
+
+On the other hand, `python3-pytest' could be invoked correctly,
+via `python3 -m pytest', the latter is used by our tests, now.
+
+Switch to `$python -m pytest` to fix address all incompatible naming.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 6c77960f..459e0cae 100755
+--- a/configure
++++ b/configure
+@@ -811,7 +811,7 @@ if [ $have_python3 -eq 1 ]; then
+     printf "Checking for python3 pytest (>= 3.0)... "
+     conf=$(mktemp)
+     printf "[pytest]\nminversion=3.0\n" > $conf
+-    if pytest-3 -c $conf --version >/dev/null 2>&1; then
++    if "$python" -m pytest -c $conf --version >/dev/null 2>&1; then
+         printf "Yes.\n"
+         have_python3_pytest=1
+     else
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch b/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
new file mode 100644
index 00000000000..3173d66d68a
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
@@ -0,0 +1,108 @@
+From b7c8661b9a34d048120753fdf27cd288e34e5308 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 20:11:00 +0700
+Subject: [PATCH] configure: drop check for default xapian backend
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting from xapian 1.3.5, xapian switched default backend to glass.
+
+From 00cdfe10 (build: drop support for xapian versions less than 1.4,
+2020-04-22), we only support xapian 1.4.0+. Effectively, we don't need
+to check for default xapian backend anymore.
+
+Let's drop it.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure                  | 23 -----------------------
+ test/T360-symbol-hiding.sh |  4 ++--
+ test/test-lib.sh           | 11 +----------
+ 3 files changed, 3 insertions(+), 35 deletions(-)
+
+diff --git a/configure b/configure
+index 459e0cae..7dae745c 100755
+--- a/configure
++++ b/configure
+@@ -456,26 +456,6 @@ if [ ${have_xapian} = "0" ]; then
+     errors=$((errors + 1))
+ fi
+ 
+-if [ ${have_xapian} = "1" ]; then
+-    default_xapian_backend=""
+-    printf "Testing default Xapian backend... "
+-    cat >_default_backend.cc <<EOF
+-#include <xapian.h>
+-int main(int argc, char** argv) {
+-   Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN);
+-}
+-EOF
+-    ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags}
+-    ./_default_backend
+-    if [ -f test.db/iamglass ]; then
+-	default_xapian_backend=glass
+-    else
+-	default_xapian_backend=chert
+-    fi
+-    printf "%s\n" "${default_xapian_backend}";
+-    rm -rf test.db _default_backend _default_backend.cc
+-fi
+-
+ GMIME_MINVER=3.0.3
+ 
+ printf "Checking for GMime development files (>= $GMIME_MINVER)... "
+@@ -1507,9 +1487,6 @@ NOTMUCH_SRCDIR='${NOTMUCH_SRCDIR}'
+ # Whether to have Xapian retry lock
+ NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${WITH_RETRY_LOCK}
+ 
+-# Which backend will Xapian use by default?
+-NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend}
+-
+ # Whether GMime can verify X.509 certificate validity
+ NOTMUCH_GMIME_X509_CERT_VALIDITY=${gmime_x509_cert_validity}
+ 
+diff --git a/test/T360-symbol-hiding.sh b/test/T360-symbol-hiding.sh
+index 43921cb4..eb438a7a 100755
+--- a/test/T360-symbol-hiding.sh
++++ b/test/T360-symbol-hiding.sh
+@@ -14,11 +14,11 @@ test_description='exception symbol hiding'
+ test_begin_subtest 'running test' run_test
+ mkdir -p ${PWD}/fakedb/.notmuch
+ $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent 2>&1 \
+-	| notmuch_dir_sanitize | sed -e "s,\`,\',g" -e "s,${NOTMUCH_DEFAULT_XAPIAN_BACKEND},backend,g" > OUTPUT
++	| notmuch_dir_sanitize | sed -e "s,\`,\',g" > OUTPUT
+ 
+ cat <<EOF > EXPECTED
+ A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'
+-caught No backend database found at path 'CWD/nonexistent'
++caught No glass database found at path 'CWD/nonexistent'
+ EOF
+ test_expect_equal_file EXPECTED OUTPUT
+ 
+diff --git a/test/test-lib.sh b/test/test-lib.sh
+index 7424881e..dc63ff1a 100644
+--- a/test/test-lib.sh
++++ b/test/test-lib.sh
+@@ -1255,16 +1255,7 @@ ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
+ rm -f y
+ 
+ # convert variable from configure to more convenient form
+-case "$NOTMUCH_DEFAULT_XAPIAN_BACKEND" in
+-    glass)
+-	db_ending=glass
+-    ;;
+-    chert)
+-	db_ending=DB
+-    ;;
+-    *)
+-	error "Unknown Xapian backend $NOTMUCH_DEFAULT_XAPIAN_BACKEND"
+-esac
++db_ending=glass
+ # declare prerequisites for external binaries used in tests
+ test_declare_external_prereq dtach
+ test_declare_external_prereq emacs
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch b/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
new file mode 100644
index 00000000000..e68bd953fdc
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
@@ -0,0 +1,39 @@
+From 808c43834e9e42be56f0fe1f61da5787784dc0e0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:05:46 +0700
+Subject: [PATCH] T355: specify hash algorithm explicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On some systems (notably, the one shipped with LibreSSL),
+default fingerprint digest algorithm is SHA256.
+
+On other systems, users can change default digest algorithm by changing
+default_md in /etc/ssl/default_md.
+
+Let's ask openssl to provide us specific algorithm to make the test
+more deterministic.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ test/T355-smime.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/T355-smime.sh b/test/T355-smime.sh
+index f8cec62c..8b2b52be 100755
+--- a/test/T355-smime.sh
++++ b/test/T355-smime.sh
+@@ -6,7 +6,7 @@ test_description='S/MIME signature verification and decryption'
+ test_require_external_prereq openssl
+ test_require_external_prereq gpgsm
+ 
+-FINGERPRINT=$(openssl x509 -fingerprint -in "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' -e s/://g)
++FINGERPRINT=$(openssl x509 -sha1 -fingerprint -in "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' -e s/://g)
+ 
+ add_gpgsm_home
+ 
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/cross.patch b/srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
similarity index 54%
rename from srcpkgs/notmuch/patches/cross.patch
rename to srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
index 1ceaebafc56..581c6be1559 100644
--- a/srcpkgs/notmuch/patches/cross.patch
+++ b/srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
@@ -1,48 +1,29 @@
-From 7bb539777d688acd5ca6081919047b60d47566d3 Mon Sep 17 00:00:00 2001
-From: Doan Tran Cong Danh <congdanhqx@gmail.com>
-Date: Mon, 10 Jun 2019 20:30:11 +0700
-Subject: [PATCH] configure: cross compile on Void Linux
+From 7589537f76541254d70d1b7df1ce57f0977ef9f0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:47:15 +0700
+Subject: [PATCH] configure: drop gmime session key extraction support check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
-- Void Linux ships gmime linked against latest gpgme.
-- default Xapian backend is glass from version 1.4
-- cheat some test by running them on host environment
+Void Linux gmime3 always support session key extraction.
+
+No suitable for upstream.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
 ---
- configure | 73 +++----------------------------------------------------
- 1 file changed, 4 insertions(+), 69 deletions(-)
+ configure | 58 -------------------------------------------------------
+ 1 file changed, 58 deletions(-)
 
 diff --git a/configure b/configure
-index 8b80f0e0..8e5fd4ce 100755
+index 7dae745c..99b0c328 100755
 --- a/configure
 +++ b/configure
-@@ -380,7 +380,7 @@ int main(void) {
-     return 0;
- }
- EOF
--if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
-+if ${BUILD_CC} ${BUILD_CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
-        && ./_libversion > _libversion.sh && . ./_libversion.sh
- then
-     printf "OK.\n"
-@@ -478,13 +478,7 @@ int main(int argc, char** argv) {
-    Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN);
- }
- EOF
--    ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags}
--    ./_default_backend
--    if [ -f test.db/iamglass ]; then
--	default_xapian_backend=glass
--    else
--	default_xapian_backend=chert
--    fi
-+    default_xapian_backend=glass
-     printf "%s\n" "${default_xapian_backend}";
-     rm -rf test.db _default_backend _default_backend.cc
- fi
-@@ -499,66 +493,7 @@ if pkg-config --exists "gmime-3.0 > $GMIME_MINVER"; then
-     gmime_ldflags=$(pkg-config --libs gmime-3.0)
+@@ -467,65 +467,7 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
  
      printf "Checking for GMime session key extraction support... "
--
+ 
 -    cat > _check_session_keys.c <<EOF
 -#include <gmime/gmime.h>
 -#include <stdio.h>
@@ -56,11 +37,11 @@ index 8b80f0e0..8e5fd4ce 100755
 -
 -    g_mime_init ();
 -    parser = g_mime_parser_new ();
--    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("test/corpora/crypto/basic-encrypted.eml", "r", &error));
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/crypto/basic-encrypted.eml", "r", &error));
 -    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/crypto/basic-encrypted.eml\n");
 -
 -    body = GMIME_MULTIPART_ENCRYPTED(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
--    if (body == NULL) return !!	fprintf (stderr, "did not find a multipart encrypted message\n");
+-    if (body == NULL) return !! fprintf (stderr, "did not find a multipart encrypted message\n");
 -
 -    output = g_mime_multipart_encrypted_decrypt (body, GMIME_DECRYPT_EXPORT_SESSION_KEY, NULL, &decrypt_result, &error);
 -    if (error || output == NULL) return !! fprintf (stderr, "decryption failed\n");
@@ -76,11 +57,11 @@ index 8b80f0e0..8e5fd4ce 100755
 -        printf 'No.\nCould not make tempdir for testing session-key support.\n'
 -        errors=$((errors + 1))
 -    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_session_keys.c ${gmime_ldflags} -o _check_session_keys \
--           && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
+-           && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \
 -           && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
 -           && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ]
 -    then
--        printf "OK.\n"
+         printf "OK.\n"
 -    else
 -        cat <<EOF
 -No.
@@ -102,19 +83,9 @@ index 8b80f0e0..8e5fd4ce 100755
 -    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
 -        rm -rf "$TEMP_GPG"
 -    fi
-+    printf "OK.\n"
- else
-     have_gmime=0
-     printf "No.\n"
-@@ -581,7 +516,7 @@ else
- fi
  
- if ! pkg-config --exists zlib; then
--  ${CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
-+  ${BUILD_CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
-   compat/gen_zlib_pc > compat/zlib.pc &&
-   PKG_CONFIG_PATH="$PKG_CONFIG_PATH":compat &&
-   export PKG_CONFIG_PATH
+     # see https://github.com/jstedfast/gmime/pull/90
+     # should be fixed in GMime in 3.2.7, but some distros might patch
 -- 
-2.22.0.rc1.479.gd8fdbe21b5
+2.28.0.rc2.21.g5c06d60fc5
 
diff --git a/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch b/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
new file mode 100644
index 00000000000..49b5b3a0795
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
@@ -0,0 +1,102 @@
+From c6188909672b425fda3d0ecc0ec5163251064324 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:49:47 +0700
+Subject: [PATCH] configure: drop gmime x509 certificate validity check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The problem has been fixed with gmime 3.2.7 already.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 70 -------------------------------------------------------
+ 1 file changed, 70 deletions(-)
+
+diff --git a/configure b/configure
+index 99b0c328..ef602d10 100755
+--- a/configure
++++ b/configure
+@@ -472,78 +472,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+     # see https://github.com/jstedfast/gmime/pull/90
+     # should be fixed in GMime in 3.2.7, but some distros might patch
+     printf "Checking for GMime X.509 certificate validity... "
+-
+-    cat > _check_x509_validity.c <<EOF
+-#include <stdio.h>
+-#include <gmime/gmime.h>
+-
+-int main () {
+-    GError *error = NULL;
+-    GMimeParser *parser = NULL;
+-    GMimeApplicationPkcs7Mime *body = NULL;
+-    GMimeSignatureList *sig_list = NULL;
+-    GMimeSignature *sig = NULL;
+-    GMimeCertificate *cert = NULL;
+-    GMimeObject *output = NULL;
+-    GMimeValidity validity = GMIME_VALIDITY_UNKNOWN;
+-    int len;
+-
+-    g_mime_init ();
+-    parser = g_mime_parser_new ();
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/pkcs7/smime-onepart-signed.eml", "r", &error));
+-    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/pkcs7/smime-onepart-signed.eml\n");
+-
+-    body = GMIME_APPLICATION_PKCS7_MIME(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
+-    if (body == NULL) return !!	fprintf (stderr, "did not find a application/pkcs7 message\n");
+-
+-    sig_list = g_mime_application_pkcs7_mime_verify (body, GMIME_VERIFY_NONE, &output, &error);
+-    if (error || output == NULL) return !! fprintf (stderr, "verify failed\n");
+-
+-    if (sig_list == NULL) return !! fprintf (stderr, "no GMimeSignatureList found\n");
+-    len = g_mime_signature_list_length (sig_list);
+-    if (len != 1) return !! fprintf (stderr, "expected 1 signature, got %d\n", len);
+-    sig = g_mime_signature_list_get_signature (sig_list, 0);
+-    if (sig == NULL) return !! fprintf (stderr, "no GMimeSignature found at position 0\n");
+-    cert = g_mime_signature_get_certificate (sig);
+-    if (cert == NULL) return !! fprintf (stderr, "no GMimeCertificate found\n");
+-    validity = g_mime_certificate_get_id_validity (cert);
+-    if (validity != GMIME_VALIDITY_FULL) return !! fprintf (stderr, "Got validity %d, expected %d\n", validity, GMIME_VALIDITY_FULL);
+-
+-    return 0;
+-}
+-EOF
+-    if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then
+-        printf 'No.\nCould not make tempdir for testing X.509 certificate validity support.\n'
+-        errors=$((errors + 1))
+-    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_x509_validity.c ${gmime_ldflags} -o _check_x509_validity \
+-            && echo disable-crl-checks > "$TEMP_GPG/gpgsm.conf" \
+-            && echo "4D:E0:FF:63:C0:E9:EC:01:29:11:C8:7A:EE:DA:3A:9A:7F:6E:C1:0D S" >> "$TEMP_GPG/trustlist.txt" \
+-            && GNUPGHOME=${TEMP_GPG} gpgsm --batch --quiet --import < "$srcdir"/test/smime/ca.crt
+-    then
+-        if GNUPGHOME=${TEMP_GPG} ./_check_x509_validity; then
+             gmime_x509_cert_validity=1
+             printf "Yes.\n"
+-        else
+-            gmime_x509_cert_validity=0
+-            printf "No.\n"
+-            if pkg-config --exists "gmime-3.0 >= 3.2.7"; then
+-                cat <<EOF
+-*** Error: GMime fails to calculate X.509 certificate validity, and
+-is later than 3.2.7, which should have fixed this issue.
+-
+-Please follow up on https://github.com/jstedfast/gmime/pull/90 with
+-more details.
+-EOF
+-                errors=$((errors + 1))
+-            fi
+-        fi
+-    else
+-        printf 'No.\nFailed to set up gpgsm for testing X.509 certificate validity support.\n'
+-        errors=$((errors + 1))
+-    fi
+-    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+-        rm -rf "$TEMP_GPG"
+-    fi
+ 
+     # see https://dev.gnupg.org/T3464
+     # there are problems verifying signatures when decrypting with session keys with GPGME 1.13.0 and 1.13.1
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch b/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch
new file mode 100644
index 00000000000..5de4f6ff5ce
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch
@@ -0,0 +1,101 @@
+From 9a5a11fca4e2236d7b559e511fcc686fd382b985 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 23:00:13 +0700
+Subject: [PATCH] configure: drop gmime verify with session key check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The problem is fixed with gpgme 1.14.0.
+
+We'll force a conflicts with gpgme older than 1.14.0, so nothing to
+worry about.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 66 -------------------------------------------------------
+ 1 file changed, 66 deletions(-)
+
+diff --git a/configure b/configure
+index ef602d10..204d46d9 100755
+--- a/configure
++++ b/configure
+@@ -478,74 +478,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+     # see https://dev.gnupg.org/T3464
+     # there are problems verifying signatures when decrypting with session keys with GPGME 1.13.0 and 1.13.1
+     printf "Checking signature verification when decrypting using session keys... "
+-
+-    cat > _verify_sig_with_session_key.c <<EOF
+-#include <stdio.h>
+-#include <gmime/gmime.h>
+-
+-int main () {
+-    GError *error = NULL;
+-    GMimeParser *parser = NULL;
+-    GMimeMultipartEncrypted *body = NULL;
+-    GMimeDecryptResult *result = NULL;
+-    GMimeSignatureList *sig_list = NULL;
+-    GMimeSignature *sig = NULL;
+-    GMimeObject *output = NULL;
+-    GMimeSignatureStatus status;
+-    int len;
+-
+-    g_mime_init ();
+-    parser = g_mime_parser_new ();
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/crypto/encrypted-signed.eml", "r", &error));
+-    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/pkcs7/smime-onepart-signed.eml\n");
+-
+-    body = GMIME_MULTIPART_ENCRYPTED(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
+-    if (body == NULL) return !!	fprintf (stderr, "did not find a multipart/encrypted message\n");
+-
+-    output = g_mime_multipart_encrypted_decrypt (body, GMIME_DECRYPT_NONE, "9:13607E4217515A70EC8DF9DBC16C5327B94577561D98AD1246FA8756659C7899", &result, &error);
+-    if (error || output == NULL) return !! fprintf (stderr, "decrypt failed\n");
+-
+-    sig_list = g_mime_decrypt_result_get_signatures (result);
+-    if (sig_list == NULL) return !! fprintf (stderr, "sig_list is NULL\n");
+-
+-    if (sig_list == NULL) return !! fprintf (stderr, "no GMimeSignatureList found\n");
+-    len = g_mime_signature_list_length (sig_list);
+-    if (len != 1) return !! fprintf (stderr, "expected 1 signature, got %d\n", len);
+-    sig = g_mime_signature_list_get_signature (sig_list, 0);
+-    if (sig == NULL) return !! fprintf (stderr, "no GMimeSignature found at position 0\n");
+-    status = g_mime_signature_get_status (sig);
+-    if (status & GMIME_SIGNATURE_STATUS_KEY_MISSING) return !! fprintf (stderr, "signature status contains KEY_MISSING (see https://dev.gnupg.org/T3464)\n");
+-
+-    return 0;
+-}
+-EOF
+-    if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then
+-        printf 'No.\nCould not make tempdir for testing signature verification when decrypting with session keys.\n'
+-        errors=$((errors + 1))
+-    elif ${CC} ${CFLAGS} ${gmime_cflags} _verify_sig_with_session_key.c ${gmime_ldflags} -o _verify_sig_with_session_key \
+-            && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \
+-            && rm -f ${TEMP_GPG}/private-keys-v1.d/*.key
+-    then
+-        if GNUPGHOME=${TEMP_GPG} ./_verify_sig_with_session_key; then
+             gmime_verify_with_session_key=1
+             printf "Yes.\n"
+-        else
+-            gmime_verify_with_session_key=0
+-            printf "No.\n"
+-            cat <<EOF
+-*** Error: GMime fails to verify signatures when decrypting with a session key.
+-
+-This is most likely due to a buggy version of GPGME, which should be fixed in 1.13.2 or later.
+-See https://dev.gnupg.org/T3464 for more details.
+-EOF
+-        fi
+-    else
+-        printf 'No.\nFailed to set up gpg for testing signature verification while decrypting with a session key.\n'
+-        errors=$((errors + 1))
+-    fi
+-    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+-        rm -rf "$TEMP_GPG"
+-    fi
+ else
+     have_gmime=0
+     printf "No.\n"
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/template b/srcpkgs/notmuch/template
index 2c898538069..d9bba6a03b8 100644
--- a/srcpkgs/notmuch/template
+++ b/srcpkgs/notmuch/template
@@ -1,17 +1,26 @@
 # Template file for 'notmuch'
 pkgname=notmuch
-version=0.29.3
-revision=4
-hostmakedepends="perl pkg-config python-devel python3-Sphinx python3-devel texinfo"
-makedepends="bash-completion gmime3-devel talloc-devel xapian-core-devel"
+version=0.30
+revision=1
+hostmakedepends="perl pkg-config python3-Sphinx python3-devel texinfo"
+makedepends="bash-completion gmime3-devel talloc-devel xapian-core-devel
+ python3-cffi python3-setuptools gnupg2"
+depends="gmime3>=3.2.7"
+checkdepends="python3-pytest mdocml dtach gdb tar xz"
 short_desc="Thread-based email index, search, and tagging"
 maintainer="Jan S. <jan.schreib@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://notmuchmail.org"
-distfiles="https://notmuchmail.org/releases/notmuch-${version}.tar.xz"
-checksum=d5f704b9a72395e43303de9b1f4d8e14dd27bf3646fdbb374bb3dbb7d150dc35
+distfiles="https://notmuchmail.org/releases/notmuch-${version}.tar.xz
+ https://notmuchmail.org/releases/test-databases/database-v1.tar.xz"
+checksum="5e3baa6fe11d65c67e26ae488be11b320bae04e336acc9c64621f7e3449096fa
+ 4299e051b10e1fa7b33ea2862790a09ebfe96859681804e5251e130f800e69d2"
+skip_extraction="database-v1.tar.xz"
 
-subpackages="libnotmuch libnotmuch-devel notmuch-mutt notmuch-python notmuch-python3"
+# Not a real conflicts, but this package is broken with gpgme 1.13.1-
+# gpgme is optional dependency
+conflicts="gpgme<1.14.0_1"
+subpackages="libnotmuch libnotmuch-devel notmuch-mutt notmuch-python3"
 patch_args=-Np1
 
 if [ ! "$CROSS_BUILD" ]; then
@@ -25,25 +34,35 @@ else
 fi
 
 do_configure() {
+	ln -sf /usr/bin/gpg2 $XBPS_WRAPPERDIR/gpg
 	./configure --prefix=/usr \
 		--bashcompletiondir=/usr/share/bash-completion/completions \
 		--zshcompletiondir=/usr/share/zsh/site-functions ${_args}
 }
 
 do_build() {
-	make ${makejobs} V=1
+	make ${makejobs}
 	make -C contrib/notmuch-mutt
 	cd bindings/python
-	python2 setup.py build --build-base=build-2
-	python3 setup.py build --build-base=build-3
+	python3 setup.py build --build-base=build
+}
+
+do_check() {
+	# We want wrapper-dirs included for gpg being gpg2
+	# But we don't want to use date wrapper in check
+	unset SOURCE_DATE_EPOCH
+	PATH=$XBPS_WRAPPERDIR:$PATH
+	cp $XBPS_SRCDISTDIR/notmuch-$version/database-v1.tar.xz \
+		test/test-databases
+	# 2 tests is failing on musl
+	# glibc is clean
+	make test
 }
 
 do_install() {
 	make DESTDIR=${DESTDIR} install
 	pushd bindings/python
-	python2 setup.py build --build-base=build-2 \
-		install --prefix=/usr --root=${DESTDIR}
-	python3 setup.py build --build-base=build-3 \
+	python3 setup.py build --build-base=build \
 		install --prefix=/usr --root=${DESTDIR}
 	popd
 	if [ ! "$CROSS_BUILD" ]; then
@@ -95,28 +114,17 @@ notmuch-mutt_package() {
 	}
 }
 
-notmuch-python_package() {
-	archs=noarch
-	depends="libnotmuch>=${version}_${revision}"
-	short_desc+=" - Python2 bindings"
-	pycompile_module="notmuch"
-	pkg_install() {
-		vmove ${py2_sitelib}
-	}
-}
-
 notmuch-python3_package() {
 	archs=noarch
-	depends="libnotmuch>=${version}_${revision}"
-	short_desc+=" - Python3 bindings"
-	pycompile_module="notmuch"
+	depends="libnotmuch-${version}_${revision}"
+	short_desc+=" - Python 3 bindings"
 	pkg_install() {
 		vmove ${py3_sitelib}
 	}
 }
 
 notmuch-ruby_package() {
-	depends="libnotmuch>=${version}_${revision} ruby"
+	depends="libnotmuch-${version}_${revision} ruby"
 	short_desc+=" - Ruby bindings"
 	pkg_install() {
 		vmove usr/lib/ruby

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] notmuch: update to 0.30.
  2020-07-27 17:11 [PR PATCH] notmuch: update to 0.30 sgn
  2020-07-28  2:30 ` [PR PATCH] [Updated] " sgn
@ 2020-07-28  2:33 ` sgn
  2020-07-29 14:50 ` [PR PATCH] [Closed]: " sgn
  2 siblings, 0 replies; 4+ messages in thread
From: sgn @ 2020-07-28  2:33 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 439 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages notmuch-0.30
https://github.com/void-linux/void-packages/pull/23874

notmuch: update to 0.30.
@jan-schreib @ninewise both of you use notmuch, could you take a look?

Other committer: do you mind with unusual `conflicts`?

A patch file from https://github.com/void-linux/void-packages/pull/23874.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-notmuch-0.30-23874.patch --]
[-- Type: text/x-diff, Size: 30116 bytes --]

From fe7c1de023adef4802c99c3f8bfd1a7598708c8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Tue, 28 Jul 2020 00:07:57 +0700
Subject: [PATCH] notmuch: update to 0.30.

---
 ...detect-version-by-compiler-for-build.patch |  51 +++++++++
 ...heck-for-pytest-with-python-m-pytest.patch |  37 ++++++
 ...rop-check-for-default-xapian-backend.patch | 108 ++++++++++++++++++
 ...55-specify-hash-algorithm-explicitly.patch |  39 +++++++
 ...ime-session-key-extraction-support-.patch} |  79 ++++---------
 ...mime-x509-certificate-validity-check.patch | 102 +++++++++++++++++
 ...-gmime-verify-with-session-key-check.patch | 101 ++++++++++++++++
 srcpkgs/notmuch/template                      |  62 +++++-----
 8 files changed, 498 insertions(+), 81 deletions(-)
 create mode 100644 srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
 create mode 100644 srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch
 create mode 100644 srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
 create mode 100644 srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
 rename srcpkgs/notmuch/patches/{cross.patch => 0005-configure-drop-gmime-session-key-extraction-support-.patch} (54%)
 create mode 100644 srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
 create mode 100644 srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch

diff --git a/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch b/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
new file mode 100644
index 00000000000..ba540c7ab3f
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0001-configure-detect-version-by-compiler-for-build.patch
@@ -0,0 +1,51 @@
+From 5402e4d357d7957942acc4b906b58102b6bd4fdf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 15:46:35 +0700
+Subject: [PATCH] configure: detect version by compiler for build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We'll need to run the compiled binary to report our current version.
+
+With the same code base, we should have the same version information
+regardless of compiler and architecture.
+
+Let's use the compiler for building architecture to build the reporting
+binary. Which is usually reported under variable CC_FOR_BUILD,
+a convention established by GNU Autotools, and fall back to CC if it's
+not defined.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 80cbac4f..6c77960f 100755
+--- a/configure
++++ b/configure
+@@ -85,8 +85,10 @@ fi
+ BASHCMD=${BASHCMD:-bash}
+ PERL=${PERL:-perl}
+ CC=${CC:-cc}
++CC_FOR_BUILD=${CC_FOR_BUILD:-$CC}
+ CXX=${CXX:-c++}
+ CFLAGS=${CFLAGS:--g -O2}
++CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD:-$CFLAGS}
+ CPPFLAGS=${CPPFLAGS:-}
+ CXXFLAGS_for_sh=${CXXFLAGS:-${CFLAGS}}
+ CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)}
+@@ -409,7 +411,7 @@ int main(void) {
+     return 0;
+ }
+ EOF
+-if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
++if ${CC_FOR_BUILD} ${CFLAGS_FOR_BUILD} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
+        && ./_libversion > _libversion.sh && . ./_libversion.sh
+ then
+     printf "OK.\n"
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch b/srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch
new file mode 100644
index 00000000000..c4ba22b0d41
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0002-configure-check-for-pytest-with-python-m-pytest.patch
@@ -0,0 +1,37 @@
+From c5164d1c0f5ba108ace05146218bf3810d590d5b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 16:42:02 +0700
+Subject: [PATCH] configure: check for pytest with python -m pytest
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On different distro, pytest is suffixed with different patterns.
+
+On the other hand, `python3-pytest' could be invoked correctly,
+via `python3 -m pytest', the latter is used by our tests, now.
+
+Switch to `$python -m pytest` to fix address all incompatible naming.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index 6c77960f..459e0cae 100755
+--- a/configure
++++ b/configure
+@@ -811,7 +811,7 @@ if [ $have_python3 -eq 1 ]; then
+     printf "Checking for python3 pytest (>= 3.0)... "
+     conf=$(mktemp)
+     printf "[pytest]\nminversion=3.0\n" > $conf
+-    if pytest-3 -c $conf --version >/dev/null 2>&1; then
++    if "$python" -m pytest -c $conf --version >/dev/null 2>&1; then
+         printf "Yes.\n"
+         have_python3_pytest=1
+     else
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch b/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
new file mode 100644
index 00000000000..3173d66d68a
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0003-configure-drop-check-for-default-xapian-backend.patch
@@ -0,0 +1,108 @@
+From b7c8661b9a34d048120753fdf27cd288e34e5308 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 20:11:00 +0700
+Subject: [PATCH] configure: drop check for default xapian backend
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting from xapian 1.3.5, xapian switched default backend to glass.
+
+From 00cdfe10 (build: drop support for xapian versions less than 1.4,
+2020-04-22), we only support xapian 1.4.0+. Effectively, we don't need
+to check for default xapian backend anymore.
+
+Let's drop it.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure                  | 23 -----------------------
+ test/T360-symbol-hiding.sh |  4 ++--
+ test/test-lib.sh           | 11 +----------
+ 3 files changed, 3 insertions(+), 35 deletions(-)
+
+diff --git a/configure b/configure
+index 459e0cae..7dae745c 100755
+--- a/configure
++++ b/configure
+@@ -456,26 +456,6 @@ if [ ${have_xapian} = "0" ]; then
+     errors=$((errors + 1))
+ fi
+ 
+-if [ ${have_xapian} = "1" ]; then
+-    default_xapian_backend=""
+-    printf "Testing default Xapian backend... "
+-    cat >_default_backend.cc <<EOF
+-#include <xapian.h>
+-int main(int argc, char** argv) {
+-   Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN);
+-}
+-EOF
+-    ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags}
+-    ./_default_backend
+-    if [ -f test.db/iamglass ]; then
+-	default_xapian_backend=glass
+-    else
+-	default_xapian_backend=chert
+-    fi
+-    printf "%s\n" "${default_xapian_backend}";
+-    rm -rf test.db _default_backend _default_backend.cc
+-fi
+-
+ GMIME_MINVER=3.0.3
+ 
+ printf "Checking for GMime development files (>= $GMIME_MINVER)... "
+@@ -1507,9 +1487,6 @@ NOTMUCH_SRCDIR='${NOTMUCH_SRCDIR}'
+ # Whether to have Xapian retry lock
+ NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${WITH_RETRY_LOCK}
+ 
+-# Which backend will Xapian use by default?
+-NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend}
+-
+ # Whether GMime can verify X.509 certificate validity
+ NOTMUCH_GMIME_X509_CERT_VALIDITY=${gmime_x509_cert_validity}
+ 
+diff --git a/test/T360-symbol-hiding.sh b/test/T360-symbol-hiding.sh
+index 43921cb4..eb438a7a 100755
+--- a/test/T360-symbol-hiding.sh
++++ b/test/T360-symbol-hiding.sh
+@@ -14,11 +14,11 @@ test_description='exception symbol hiding'
+ test_begin_subtest 'running test' run_test
+ mkdir -p ${PWD}/fakedb/.notmuch
+ $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent 2>&1 \
+-	| notmuch_dir_sanitize | sed -e "s,\`,\',g" -e "s,${NOTMUCH_DEFAULT_XAPIAN_BACKEND},backend,g" > OUTPUT
++	| notmuch_dir_sanitize | sed -e "s,\`,\',g" > OUTPUT
+ 
+ cat <<EOF > EXPECTED
+ A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'
+-caught No backend database found at path 'CWD/nonexistent'
++caught No glass database found at path 'CWD/nonexistent'
+ EOF
+ test_expect_equal_file EXPECTED OUTPUT
+ 
+diff --git a/test/test-lib.sh b/test/test-lib.sh
+index 7424881e..dc63ff1a 100644
+--- a/test/test-lib.sh
++++ b/test/test-lib.sh
+@@ -1255,16 +1255,7 @@ ln -s x y 2>/dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS
+ rm -f y
+ 
+ # convert variable from configure to more convenient form
+-case "$NOTMUCH_DEFAULT_XAPIAN_BACKEND" in
+-    glass)
+-	db_ending=glass
+-    ;;
+-    chert)
+-	db_ending=DB
+-    ;;
+-    *)
+-	error "Unknown Xapian backend $NOTMUCH_DEFAULT_XAPIAN_BACKEND"
+-esac
++db_ending=glass
+ # declare prerequisites for external binaries used in tests
+ test_declare_external_prereq dtach
+ test_declare_external_prereq emacs
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch b/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
new file mode 100644
index 00000000000..e68bd953fdc
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0004-T355-specify-hash-algorithm-explicitly.patch
@@ -0,0 +1,39 @@
+From 808c43834e9e42be56f0fe1f61da5787784dc0e0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:05:46 +0700
+Subject: [PATCH] T355: specify hash algorithm explicitly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On some systems (notably, the one shipped with LibreSSL),
+default fingerprint digest algorithm is SHA256.
+
+On other systems, users can change default digest algorithm by changing
+default_md in /etc/ssl/default_md.
+
+Let's ask openssl to provide us specific algorithm to make the test
+more deterministic.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ test/T355-smime.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/T355-smime.sh b/test/T355-smime.sh
+index f8cec62c..8b2b52be 100755
+--- a/test/T355-smime.sh
++++ b/test/T355-smime.sh
+@@ -6,7 +6,7 @@ test_description='S/MIME signature verification and decryption'
+ test_require_external_prereq openssl
+ test_require_external_prereq gpgsm
+ 
+-FINGERPRINT=$(openssl x509 -fingerprint -in "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' -e s/://g)
++FINGERPRINT=$(openssl x509 -sha1 -fingerprint -in "$NOTMUCH_SRCDIR/test/smime/key+cert.pem" -noout | sed -e 's/^.*=//' -e s/://g)
+ 
+ add_gpgsm_home
+ 
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/cross.patch b/srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
similarity index 54%
rename from srcpkgs/notmuch/patches/cross.patch
rename to srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
index 1ceaebafc56..581c6be1559 100644
--- a/srcpkgs/notmuch/patches/cross.patch
+++ b/srcpkgs/notmuch/patches/0005-configure-drop-gmime-session-key-extraction-support-.patch
@@ -1,48 +1,29 @@
-From 7bb539777d688acd5ca6081919047b60d47566d3 Mon Sep 17 00:00:00 2001
-From: Doan Tran Cong Danh <congdanhqx@gmail.com>
-Date: Mon, 10 Jun 2019 20:30:11 +0700
-Subject: [PATCH] configure: cross compile on Void Linux
+From 7589537f76541254d70d1b7df1ce57f0977ef9f0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:47:15 +0700
+Subject: [PATCH] configure: drop gmime session key extraction support check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
 
-- Void Linux ships gmime linked against latest gpgme.
-- default Xapian backend is glass from version 1.4
-- cheat some test by running them on host environment
+Void Linux gmime3 always support session key extraction.
+
+No suitable for upstream.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
 ---
- configure | 73 +++----------------------------------------------------
- 1 file changed, 4 insertions(+), 69 deletions(-)
+ configure | 58 -------------------------------------------------------
+ 1 file changed, 58 deletions(-)
 
 diff --git a/configure b/configure
-index 8b80f0e0..8e5fd4ce 100755
+index 7dae745c..99b0c328 100755
 --- a/configure
 +++ b/configure
-@@ -380,7 +380,7 @@ int main(void) {
-     return 0;
- }
- EOF
--if ${CC} ${CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
-+if ${BUILD_CC} ${BUILD_CFLAGS} -I"$srcdir" _libversion.c -o _libversion > /dev/null 2>&1 \
-        && ./_libversion > _libversion.sh && . ./_libversion.sh
- then
-     printf "OK.\n"
-@@ -478,13 +478,7 @@ int main(int argc, char** argv) {
-    Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN);
- }
- EOF
--    ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags}
--    ./_default_backend
--    if [ -f test.db/iamglass ]; then
--	default_xapian_backend=glass
--    else
--	default_xapian_backend=chert
--    fi
-+    default_xapian_backend=glass
-     printf "%s\n" "${default_xapian_backend}";
-     rm -rf test.db _default_backend _default_backend.cc
- fi
-@@ -499,66 +493,7 @@ if pkg-config --exists "gmime-3.0 > $GMIME_MINVER"; then
-     gmime_ldflags=$(pkg-config --libs gmime-3.0)
+@@ -467,65 +467,7 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
  
      printf "Checking for GMime session key extraction support... "
--
+ 
 -    cat > _check_session_keys.c <<EOF
 -#include <gmime/gmime.h>
 -#include <stdio.h>
@@ -56,11 +37,11 @@ index 8b80f0e0..8e5fd4ce 100755
 -
 -    g_mime_init ();
 -    parser = g_mime_parser_new ();
--    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("test/corpora/crypto/basic-encrypted.eml", "r", &error));
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/crypto/basic-encrypted.eml", "r", &error));
 -    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/crypto/basic-encrypted.eml\n");
 -
 -    body = GMIME_MULTIPART_ENCRYPTED(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
--    if (body == NULL) return !!	fprintf (stderr, "did not find a multipart encrypted message\n");
+-    if (body == NULL) return !! fprintf (stderr, "did not find a multipart encrypted message\n");
 -
 -    output = g_mime_multipart_encrypted_decrypt (body, GMIME_DECRYPT_EXPORT_SESSION_KEY, NULL, &decrypt_result, &error);
 -    if (error || output == NULL) return !! fprintf (stderr, "decryption failed\n");
@@ -76,11 +57,11 @@ index 8b80f0e0..8e5fd4ce 100755
 -        printf 'No.\nCould not make tempdir for testing session-key support.\n'
 -        errors=$((errors + 1))
 -    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_session_keys.c ${gmime_ldflags} -o _check_session_keys \
--           && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < test/gnupg-secret-key.asc \
+-           && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \
 -           && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \
 -           && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ]
 -    then
--        printf "OK.\n"
+         printf "OK.\n"
 -    else
 -        cat <<EOF
 -No.
@@ -102,19 +83,9 @@ index 8b80f0e0..8e5fd4ce 100755
 -    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
 -        rm -rf "$TEMP_GPG"
 -    fi
-+    printf "OK.\n"
- else
-     have_gmime=0
-     printf "No.\n"
-@@ -581,7 +516,7 @@ else
- fi
  
- if ! pkg-config --exists zlib; then
--  ${CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
-+  ${BUILD_CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
-   compat/gen_zlib_pc > compat/zlib.pc &&
-   PKG_CONFIG_PATH="$PKG_CONFIG_PATH":compat &&
-   export PKG_CONFIG_PATH
+     # see https://github.com/jstedfast/gmime/pull/90
+     # should be fixed in GMime in 3.2.7, but some distros might patch
 -- 
-2.22.0.rc1.479.gd8fdbe21b5
+2.28.0.rc2.21.g5c06d60fc5
 
diff --git a/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch b/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
new file mode 100644
index 00000000000..49b5b3a0795
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0006-configure-drop-gmime-x509-certificate-validity-check.patch
@@ -0,0 +1,102 @@
+From c6188909672b425fda3d0ecc0ec5163251064324 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 22:49:47 +0700
+Subject: [PATCH] configure: drop gmime x509 certificate validity check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The problem has been fixed with gmime 3.2.7 already.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 70 -------------------------------------------------------
+ 1 file changed, 70 deletions(-)
+
+diff --git a/configure b/configure
+index 99b0c328..ef602d10 100755
+--- a/configure
++++ b/configure
+@@ -472,78 +472,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+     # see https://github.com/jstedfast/gmime/pull/90
+     # should be fixed in GMime in 3.2.7, but some distros might patch
+     printf "Checking for GMime X.509 certificate validity... "
+-
+-    cat > _check_x509_validity.c <<EOF
+-#include <stdio.h>
+-#include <gmime/gmime.h>
+-
+-int main () {
+-    GError *error = NULL;
+-    GMimeParser *parser = NULL;
+-    GMimeApplicationPkcs7Mime *body = NULL;
+-    GMimeSignatureList *sig_list = NULL;
+-    GMimeSignature *sig = NULL;
+-    GMimeCertificate *cert = NULL;
+-    GMimeObject *output = NULL;
+-    GMimeValidity validity = GMIME_VALIDITY_UNKNOWN;
+-    int len;
+-
+-    g_mime_init ();
+-    parser = g_mime_parser_new ();
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/pkcs7/smime-onepart-signed.eml", "r", &error));
+-    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/pkcs7/smime-onepart-signed.eml\n");
+-
+-    body = GMIME_APPLICATION_PKCS7_MIME(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
+-    if (body == NULL) return !!	fprintf (stderr, "did not find a application/pkcs7 message\n");
+-
+-    sig_list = g_mime_application_pkcs7_mime_verify (body, GMIME_VERIFY_NONE, &output, &error);
+-    if (error || output == NULL) return !! fprintf (stderr, "verify failed\n");
+-
+-    if (sig_list == NULL) return !! fprintf (stderr, "no GMimeSignatureList found\n");
+-    len = g_mime_signature_list_length (sig_list);
+-    if (len != 1) return !! fprintf (stderr, "expected 1 signature, got %d\n", len);
+-    sig = g_mime_signature_list_get_signature (sig_list, 0);
+-    if (sig == NULL) return !! fprintf (stderr, "no GMimeSignature found at position 0\n");
+-    cert = g_mime_signature_get_certificate (sig);
+-    if (cert == NULL) return !! fprintf (stderr, "no GMimeCertificate found\n");
+-    validity = g_mime_certificate_get_id_validity (cert);
+-    if (validity != GMIME_VALIDITY_FULL) return !! fprintf (stderr, "Got validity %d, expected %d\n", validity, GMIME_VALIDITY_FULL);
+-
+-    return 0;
+-}
+-EOF
+-    if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then
+-        printf 'No.\nCould not make tempdir for testing X.509 certificate validity support.\n'
+-        errors=$((errors + 1))
+-    elif ${CC} ${CFLAGS} ${gmime_cflags} _check_x509_validity.c ${gmime_ldflags} -o _check_x509_validity \
+-            && echo disable-crl-checks > "$TEMP_GPG/gpgsm.conf" \
+-            && echo "4D:E0:FF:63:C0:E9:EC:01:29:11:C8:7A:EE:DA:3A:9A:7F:6E:C1:0D S" >> "$TEMP_GPG/trustlist.txt" \
+-            && GNUPGHOME=${TEMP_GPG} gpgsm --batch --quiet --import < "$srcdir"/test/smime/ca.crt
+-    then
+-        if GNUPGHOME=${TEMP_GPG} ./_check_x509_validity; then
+             gmime_x509_cert_validity=1
+             printf "Yes.\n"
+-        else
+-            gmime_x509_cert_validity=0
+-            printf "No.\n"
+-            if pkg-config --exists "gmime-3.0 >= 3.2.7"; then
+-                cat <<EOF
+-*** Error: GMime fails to calculate X.509 certificate validity, and
+-is later than 3.2.7, which should have fixed this issue.
+-
+-Please follow up on https://github.com/jstedfast/gmime/pull/90 with
+-more details.
+-EOF
+-                errors=$((errors + 1))
+-            fi
+-        fi
+-    else
+-        printf 'No.\nFailed to set up gpgsm for testing X.509 certificate validity support.\n'
+-        errors=$((errors + 1))
+-    fi
+-    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+-        rm -rf "$TEMP_GPG"
+-    fi
+ 
+     # see https://dev.gnupg.org/T3464
+     # there are problems verifying signatures when decrypting with session keys with GPGME 1.13.0 and 1.13.1
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch b/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch
new file mode 100644
index 00000000000..5de4f6ff5ce
--- /dev/null
+++ b/srcpkgs/notmuch/patches/0007-configure-drop-gmime-verify-with-session-key-check.patch
@@ -0,0 +1,101 @@
+From 9a5a11fca4e2236d7b559e511fcc686fd382b985 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Mon, 27 Jul 2020 23:00:13 +0700
+Subject: [PATCH] configure: drop gmime verify with session key check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The problem is fixed with gpgme 1.14.0.
+
+We'll force a conflicts with gpgme older than 1.14.0, so nothing to
+worry about.
+
+Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+---
+ configure | 66 -------------------------------------------------------
+ 1 file changed, 66 deletions(-)
+
+diff --git a/configure b/configure
+index ef602d10..204d46d9 100755
+--- a/configure
++++ b/configure
+@@ -478,74 +478,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+     # see https://dev.gnupg.org/T3464
+     # there are problems verifying signatures when decrypting with session keys with GPGME 1.13.0 and 1.13.1
+     printf "Checking signature verification when decrypting using session keys... "
+-
+-    cat > _verify_sig_with_session_key.c <<EOF
+-#include <stdio.h>
+-#include <gmime/gmime.h>
+-
+-int main () {
+-    GError *error = NULL;
+-    GMimeParser *parser = NULL;
+-    GMimeMultipartEncrypted *body = NULL;
+-    GMimeDecryptResult *result = NULL;
+-    GMimeSignatureList *sig_list = NULL;
+-    GMimeSignature *sig = NULL;
+-    GMimeObject *output = NULL;
+-    GMimeSignatureStatus status;
+-    int len;
+-
+-    g_mime_init ();
+-    parser = g_mime_parser_new ();
+-    g_mime_parser_init_with_stream (parser, g_mime_stream_file_open("$srcdir/test/corpora/crypto/encrypted-signed.eml", "r", &error));
+-    if (error) return !! fprintf (stderr, "failed to instantiate parser with test/corpora/pkcs7/smime-onepart-signed.eml\n");
+-
+-    body = GMIME_MULTIPART_ENCRYPTED(g_mime_message_get_mime_part (g_mime_parser_construct_message (parser, NULL)));
+-    if (body == NULL) return !!	fprintf (stderr, "did not find a multipart/encrypted message\n");
+-
+-    output = g_mime_multipart_encrypted_decrypt (body, GMIME_DECRYPT_NONE, "9:13607E4217515A70EC8DF9DBC16C5327B94577561D98AD1246FA8756659C7899", &result, &error);
+-    if (error || output == NULL) return !! fprintf (stderr, "decrypt failed\n");
+-
+-    sig_list = g_mime_decrypt_result_get_signatures (result);
+-    if (sig_list == NULL) return !! fprintf (stderr, "sig_list is NULL\n");
+-
+-    if (sig_list == NULL) return !! fprintf (stderr, "no GMimeSignatureList found\n");
+-    len = g_mime_signature_list_length (sig_list);
+-    if (len != 1) return !! fprintf (stderr, "expected 1 signature, got %d\n", len);
+-    sig = g_mime_signature_list_get_signature (sig_list, 0);
+-    if (sig == NULL) return !! fprintf (stderr, "no GMimeSignature found at position 0\n");
+-    status = g_mime_signature_get_status (sig);
+-    if (status & GMIME_SIGNATURE_STATUS_KEY_MISSING) return !! fprintf (stderr, "signature status contains KEY_MISSING (see https://dev.gnupg.org/T3464)\n");
+-
+-    return 0;
+-}
+-EOF
+-    if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then
+-        printf 'No.\nCould not make tempdir for testing signature verification when decrypting with session keys.\n'
+-        errors=$((errors + 1))
+-    elif ${CC} ${CFLAGS} ${gmime_cflags} _verify_sig_with_session_key.c ${gmime_ldflags} -o _verify_sig_with_session_key \
+-            && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \
+-            && rm -f ${TEMP_GPG}/private-keys-v1.d/*.key
+-    then
+-        if GNUPGHOME=${TEMP_GPG} ./_verify_sig_with_session_key; then
+             gmime_verify_with_session_key=1
+             printf "Yes.\n"
+-        else
+-            gmime_verify_with_session_key=0
+-            printf "No.\n"
+-            cat <<EOF
+-*** Error: GMime fails to verify signatures when decrypting with a session key.
+-
+-This is most likely due to a buggy version of GPGME, which should be fixed in 1.13.2 or later.
+-See https://dev.gnupg.org/T3464 for more details.
+-EOF
+-        fi
+-    else
+-        printf 'No.\nFailed to set up gpg for testing signature verification while decrypting with a session key.\n'
+-        errors=$((errors + 1))
+-    fi
+-    if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then
+-        rm -rf "$TEMP_GPG"
+-    fi
+ else
+     have_gmime=0
+     printf "No.\n"
+-- 
+2.28.0.rc2.21.g5c06d60fc5
+
diff --git a/srcpkgs/notmuch/template b/srcpkgs/notmuch/template
index 2c898538069..d9bba6a03b8 100644
--- a/srcpkgs/notmuch/template
+++ b/srcpkgs/notmuch/template
@@ -1,17 +1,26 @@
 # Template file for 'notmuch'
 pkgname=notmuch
-version=0.29.3
-revision=4
-hostmakedepends="perl pkg-config python-devel python3-Sphinx python3-devel texinfo"
-makedepends="bash-completion gmime3-devel talloc-devel xapian-core-devel"
+version=0.30
+revision=1
+hostmakedepends="perl pkg-config python3-Sphinx python3-devel texinfo"
+makedepends="bash-completion gmime3-devel talloc-devel xapian-core-devel
+ python3-cffi python3-setuptools gnupg2"
+depends="gmime3>=3.2.7"
+checkdepends="python3-pytest mdocml dtach gdb tar xz"
 short_desc="Thread-based email index, search, and tagging"
 maintainer="Jan S. <jan.schreib@gmail.com>"
 license="GPL-3.0-or-later"
 homepage="https://notmuchmail.org"
-distfiles="https://notmuchmail.org/releases/notmuch-${version}.tar.xz"
-checksum=d5f704b9a72395e43303de9b1f4d8e14dd27bf3646fdbb374bb3dbb7d150dc35
+distfiles="https://notmuchmail.org/releases/notmuch-${version}.tar.xz
+ https://notmuchmail.org/releases/test-databases/database-v1.tar.xz"
+checksum="5e3baa6fe11d65c67e26ae488be11b320bae04e336acc9c64621f7e3449096fa
+ 4299e051b10e1fa7b33ea2862790a09ebfe96859681804e5251e130f800e69d2"
+skip_extraction="database-v1.tar.xz"
 
-subpackages="libnotmuch libnotmuch-devel notmuch-mutt notmuch-python notmuch-python3"
+# Not a real conflicts, but this package is broken with gpgme 1.13.1-
+# gpgme is optional dependency
+conflicts="gpgme<1.14.0_1"
+subpackages="libnotmuch libnotmuch-devel notmuch-mutt notmuch-python3"
 patch_args=-Np1
 
 if [ ! "$CROSS_BUILD" ]; then
@@ -25,25 +34,35 @@ else
 fi
 
 do_configure() {
+	ln -sf /usr/bin/gpg2 $XBPS_WRAPPERDIR/gpg
 	./configure --prefix=/usr \
 		--bashcompletiondir=/usr/share/bash-completion/completions \
 		--zshcompletiondir=/usr/share/zsh/site-functions ${_args}
 }
 
 do_build() {
-	make ${makejobs} V=1
+	make ${makejobs}
 	make -C contrib/notmuch-mutt
 	cd bindings/python
-	python2 setup.py build --build-base=build-2
-	python3 setup.py build --build-base=build-3
+	python3 setup.py build --build-base=build
+}
+
+do_check() {
+	# We want wrapper-dirs included for gpg being gpg2
+	# But we don't want to use date wrapper in check
+	unset SOURCE_DATE_EPOCH
+	PATH=$XBPS_WRAPPERDIR:$PATH
+	cp $XBPS_SRCDISTDIR/notmuch-$version/database-v1.tar.xz \
+		test/test-databases
+	# 2 tests is failing on musl
+	# glibc is clean
+	make test
 }
 
 do_install() {
 	make DESTDIR=${DESTDIR} install
 	pushd bindings/python
-	python2 setup.py build --build-base=build-2 \
-		install --prefix=/usr --root=${DESTDIR}
-	python3 setup.py build --build-base=build-3 \
+	python3 setup.py build --build-base=build \
 		install --prefix=/usr --root=${DESTDIR}
 	popd
 	if [ ! "$CROSS_BUILD" ]; then
@@ -95,28 +114,17 @@ notmuch-mutt_package() {
 	}
 }
 
-notmuch-python_package() {
-	archs=noarch
-	depends="libnotmuch>=${version}_${revision}"
-	short_desc+=" - Python2 bindings"
-	pycompile_module="notmuch"
-	pkg_install() {
-		vmove ${py2_sitelib}
-	}
-}
-
 notmuch-python3_package() {
 	archs=noarch
-	depends="libnotmuch>=${version}_${revision}"
-	short_desc+=" - Python3 bindings"
-	pycompile_module="notmuch"
+	depends="libnotmuch-${version}_${revision}"
+	short_desc+=" - Python 3 bindings"
 	pkg_install() {
 		vmove ${py3_sitelib}
 	}
 }
 
 notmuch-ruby_package() {
-	depends="libnotmuch>=${version}_${revision} ruby"
+	depends="libnotmuch-${version}_${revision} ruby"
 	short_desc+=" - Ruby bindings"
 	pkg_install() {
 		vmove usr/lib/ruby

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Closed]: notmuch: update to 0.30.
  2020-07-27 17:11 [PR PATCH] notmuch: update to 0.30 sgn
  2020-07-28  2:30 ` [PR PATCH] [Updated] " sgn
  2020-07-28  2:33 ` sgn
@ 2020-07-29 14:50 ` sgn
  2 siblings, 0 replies; 4+ messages in thread
From: sgn @ 2020-07-29 14:50 UTC (permalink / raw)
  To: ml


[-- Attachment #1: Type: text/plain, Size: 286 bytes --]

There's a closed pull request on the void-packages repository

notmuch: update to 0.30.
https://github.com/void-linux/void-packages/pull/23874

Description:
@jan-schreib @ninewise both of you use notmuch, could you take a look?

Other committer: do you mind with unusual `conflicts`?

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, back to index

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-27 17:11 [PR PATCH] notmuch: update to 0.30 sgn
2020-07-28  2:30 ` [PR PATCH] [Updated] " sgn
2020-07-28  2:33 ` sgn
2020-07-29 14:50 ` [PR PATCH] [Closed]: " sgn

Github messages for voidlinux

Archives are clonable: git clone --mirror http://inbox.vuxu.org/voidlinux-github

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git