summaryrefslogtreecommitdiff
path: root/net-mail/notmuch
diff options
context:
space:
mode:
Diffstat (limited to 'net-mail/notmuch')
-rw-r--r--net-mail/notmuch/Manifest2
-rw-r--r--net-mail/notmuch/files/notmuch-0.37-configure-clang16.patch24
-rw-r--r--net-mail/notmuch/files/notmuch-assume-modern-gmime.patch38
-rw-r--r--net-mail/notmuch/notmuch-0.37-r2.ebuild (renamed from net-mail/notmuch/notmuch-0.34.2-r1.ebuild)31
4 files changed, 66 insertions, 29 deletions
diff --git a/net-mail/notmuch/Manifest b/net-mail/notmuch/Manifest
index 4b4310e..280ff50 100644
--- a/net-mail/notmuch/Manifest
+++ b/net-mail/notmuch/Manifest
@@ -1,2 +1,2 @@
DIST database-v1.tar.xz 204876 BLAKE2B 846a8d2f17edb61ed1c3d3c655becd1f60b4046772058706f13d516f65421a5105593660f1c556907bb2bb9607a3c2521243d1be07bffb70817ad3b8461680ca SHA512 e2d87373e00b65756d7fea40c54fb236d7a37ce839145c3afd99ab26efdc17796e540c021e2c24e521df2d0a01ccbf918994f87a0d83235ff9b109a51555b3d0
-DIST notmuch-0.34.2.tar.xz 749384 BLAKE2B b8abb99cbb3632bd42742e3f31fb76b7113c2f9c4240081efad940d2fec139f442cc7d21be5b67ca7aca7ce730e9e3b9f8db690ed3a1239946ec490a089b700b SHA512 fd15145404c621fb259b869ddfd77d6302f777a8ead203cfe3a62b66b452f7d3737b214657517c592ce86ce37fb914f800830ea9d05da20d59ec09feaa81d20c
+DIST notmuch-0.37.tar.xz 792568 BLAKE2B 0a968b776efc39ddc09bb2cb2721609fcdf65171978d285b6877abd4c3aa7d0221b25f1052a211be1864c57d961c7a1f0c9915fd9c65497a9e4bce3a2cdbc1c0 SHA512 31cac1ff03b139b18a4fec5e29907ba0e3a965f0a7bf5f2f2b0f75980f9663173745be854e83943f344a09cdb7f5615fa48218e327c4ade7a55b3a22b2a9c45e
diff --git a/net-mail/notmuch/files/notmuch-0.37-configure-clang16.patch b/net-mail/notmuch/files/notmuch-0.37-configure-clang16.patch
new file mode 100644
index 0000000..42c1083
--- /dev/null
+++ b/net-mail/notmuch/files/notmuch-0.37-configure-clang16.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/879739
+https://nmbug.notmuchmail.org/nmweb/show/20221202191908.848227-1-qsx%40chaotikum.eu
+
+Probe for strcasestr using the C++ compiler
+
+The C++ compiler may define _GNU_SOURCE, causing <string.h> to
+declare strcasestr, while the C compiler does not. As a result,
+the probe may fail, resulting in an incompatible declaration
+of strcasestr in compat/compat.h.
+
+Upstream discussion:
+
+ [PATCH] compat/strcasestr: Include correct header file
+ <https://nmbug.notmuchmail.org/nmweb/show/20221202191908.848227-1-qsx%40chaotikum.eu>
+
+--- a/compat/have_strcasestr.c
++++ b/compat/have_strcasestr.c
+@@ -1,4 +1,5 @@
+ #define _GNU_SOURCE
++#include <string.h>
+ #include <strings.h>
+
+ int
+
diff --git a/net-mail/notmuch/files/notmuch-assume-modern-gmime.patch b/net-mail/notmuch/files/notmuch-assume-modern-gmime.patch
index 6e3c8d3..5c9f86a 100644
--- a/net-mail/notmuch/files/notmuch-assume-modern-gmime.patch
+++ b/net-mail/notmuch/files/notmuch-assume-modern-gmime.patch
@@ -1,8 +1,8 @@
diff --git a/configure b/configure
-index 6c3a38f1..39d1f8c6 100755
+index 5247e05a..097b2039 100755
--- a/configure
+++ b/configure
-@@ -464,215 +464,8 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
+@@ -490,230 +490,9 @@ if pkg-config --exists "gmime-3.0 >= $GMIME_MINVER"; then
gmime_cflags=$(pkg-config --cflags gmime-3.0)
gmime_ldflags=$(pkg-config --libs gmime-3.0)
@@ -68,11 +68,7 @@ index 6c3a38f1..39d1f8c6 100755
- rm -rf "$TEMP_GPG"
- fi
-
-- # 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
+- cat > _check_gmime_cert.c <<EOF
-#include <stdio.h>
-#include <gmime/gmime.h>
-
@@ -84,7 +80,6 @@ index 6c3a38f1..39d1f8c6 100755
- GMimeSignature *sig = NULL;
- GMimeCertificate *cert = NULL;
- GMimeObject *output = NULL;
-- GMimeValidity validity = GMIME_VALIDITY_UNKNOWN;
- int len;
-
- g_mime_init ();
@@ -105,16 +100,27 @@ index 6c3a38f1..39d1f8c6 100755
- 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);
+-#ifdef CHECK_VALIDITY
+- GMimeValidity 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);
--
+-#endif
+-#ifdef CHECK_EMAIL
+- const char *email = g_mime_certificate_get_email (cert);
+- if (! email) return !! fprintf (stderr, "no email returned");
+- if (email[0] == '<') return 2;
+-#endif
- return 0;
-}
-EOF
+-
+- # 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... "
+-
- 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 \
+- elif ${CC} -DCHECK_VALIDITY ${CFLAGS} ${gmime_cflags} _check_gmime_cert.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
@@ -136,6 +142,15 @@ index 6c3a38f1..39d1f8c6 100755
- errors=$((errors + 1))
- fi
- fi
+- printf "Checking whether GMime emits email addresses with angle brackets... "
+- if ${CC} -DCHECK_EMAIL ${CFLAGS} ${gmime_cflags} _check_gmime_cert.c ${gmime_ldflags} -o _check_email &&
+- GNUPGHOME=${TEMP_GPG} ./_check_email; then
+- gmime_emits_angle_brackets=0
+- printf "No.\n"
+- else
+- gmime_emits_angle_brackets=1
+- printf "Yes.\n"
+- fi
- else
- printf 'No.\nFailed to set up gpgsm for testing X.509 certificate validity support.\n'
- errors=$((errors + 1))
@@ -217,6 +232,7 @@ index 6c3a38f1..39d1f8c6 100755
- fi
+ gmime_x509_cert_validity=1
+ gmime_verify_with_session_key=1
++ gmime_emits_angle_brackets=0
else
have_gmime=0
printf "No.\n"
diff --git a/net-mail/notmuch/notmuch-0.34.2-r1.ebuild b/net-mail/notmuch/notmuch-0.37-r2.ebuild
index ec0bf11..f9fd203 100644
--- a/net-mail/notmuch/notmuch-0.34.2-r1.ebuild
+++ b/net-mail/notmuch/notmuch-0.37-r2.ebuild
@@ -1,12 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DISTUTILS_OPTIONAL=1
-DISTUTILS_USE_SETUPTOOLS=manual
-NEED_EMACS="24.1"
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
inherit bash-completion-r1 desktop distutils-r1 elisp-common flag-o-matic pax-utils toolchain-funcs xdg-utils
@@ -19,14 +17,14 @@ LICENSE="GPL-3"
# Sub-slot corresponds to major wersion of libnotmuch.so.X.Y. Bump of Y is
# meant to be binary backward compatible.
SLOT="0/5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc64 ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~ppc64 ~riscv x86 ~x64-macos"
REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
apidoc? ( doc )
nmbug? ( python )
- python? ( ${PYTHON_REQUIRED_USE} )
- test? ( crypt emacs python valgrind )
+ test? ( crypt emacs python )
"
-IUSE="apidoc crypt doc emacs mutt nmbug python test valgrind"
+IUSE="apidoc crypt doc emacs mutt nmbug python test"
RESTRICT="!test? ( test )"
BDEPEND="
@@ -37,7 +35,7 @@ BDEPEND="
dev-lang/perl
)
doc? (
- dev-python/sphinx
+ dev-python/sphinx[${PYTHON_USEDEP}]
sys-apps/texinfo
)
python? (
@@ -59,7 +57,9 @@ COMMON_DEPEND="
emacs? ( >=app-editors/emacs-${NEED_EMACS}:* )
python? (
${PYTHON_DEPS}
- virtual/python-cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
)
"
@@ -73,7 +73,6 @@ DEPEND="${COMMON_DEPEND}
dev-libs/openssl
)
)
- valgrind? ( dev-util/valgrind )
"
RDEPEND="${COMMON_DEPEND}
@@ -96,6 +95,7 @@ SITEFILE="50${PN}-gentoo.el"
PATCHES=(
"${FILESDIR}/notmuch-assume-modern-gmime.patch"
+ "${FILESDIR}"/${PN}-0.37-configure-clang16.patch
)
pkg_setup() {
@@ -240,9 +240,6 @@ src_install() {
default
if use doc; then
- pushd doc/_build/man/man1 > /dev/null || die
- ln notmuch.1 notmuch-setup.1 || die
- popd > /dev/null || die
if use apidoc; then
# rename overly generic manpage to avoid clashes
mv doc/_build/man/man3/deprecated.3 \
@@ -258,8 +255,8 @@ src_install() {
if use nmbug; then
# TODO: those guys need proper deps
- python_fix_shebang devel/nmbug/{nmbug,notmuch-report}
- dobin devel/nmbug/{nmbug,notmuch-report}
+ python_fix_shebang devel/nmbug/notmuch-report
+ dobin devel/nmbug/notmuch-report
fi
if use mutt; then