From: Tomi Ollila <tomi.ollila@iki.fi>
To: notmuch@notmuchmail.org
Cc: tomi.ollila@iki.fi
Subject: [PATCH] configure: use cffi.FFI().verify() to test buildability of CFFI bindings
Date: Tue, 9 Jun 2020 08:34:46 +0300 [thread overview]
Message-ID: <20200609053446.11478-1-tomi.ollila@iki.fi> (raw)
Checking existence of pyconfig.h to determine whether CFFI-based
notmuch bindings are buildable is not enough; for example Fedora 32
ships pyconfig.h in python3-libs package, but python3-devel is required
to be installed for the bindings to build.
Executing cffi.FFI().verify() is pretty close to what is done in
bindings/python-cffi/notmuch2/_build.py to get the c code part of the
bindings built.
---
I just could not get this right last time. Probably I concentrated on
testing in debian 10 container so much, that the small differences in
other systems went unnoticed (had that fedora 32 host polluted by
installed python3-devel when doing final tests on that system)...
configure | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/configure b/configure
index f4b3c61a..d85fe5d2 100755
--- a/configure
+++ b/configure
@@ -711,14 +711,12 @@ if [ $have_python -eq 0 ]; then
errors=$((errors + 1))
fi
-have_python3_dev=0
+have_python3=0
if [ $have_python -eq 1 ]; then
- printf "Checking for python3 dev (>= 3.5)..."
- if "$python" -c 'import os, sys, sysconfig;
-assert sys.version_info >= (3,5)
-assert os.path.isfile(sysconfig.get_config_h_filename())' >/dev/null 2>&1; then
+ printf "Checking for python3 (>= 3.5)..."
+ if "$python" -c 'import sys, sysconfig; assert sys.version_info >= (3,5)'; >/dev/null 2>&1; then
printf "Yes.\n"
- have_python3_dev=1
+ have_python3=1
else
printf "No (will not install CFFI-based python bindings).\n"
fi
@@ -726,9 +724,9 @@ fi
have_python3_cffi=0
have_python3_pytest=0
-if [ $have_python3_dev -eq 1 ]; then
+if [ $have_python3 -eq 1 ]; then
printf "Checking for python3 cffi and setuptools... "
- if "$python" -c 'import cffi; import setuptools' >/dev/null 2>&1; then
+ if "$python" -c 'import cffi,setuptools; cffi.FFI().verify()' >/dev/null 2>&1; then
printf "Yes.\n"
have_python3_cffi=1
else
--
2.26.2
next reply other threads:[~2020-06-09 5:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-09 5:34 Tomi Ollila [this message]
2020-06-09 11:07 ` [PATCH] configure: use cffi.FFI().verify() to test buildability of CFFI bindings David Bremner
2020-06-09 12:32 ` [PATCH v2] " Tomi Ollila
2020-06-10 10:20 ` David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200609053446.11478-1-tomi.ollila@iki.fi \
--to=tomi.ollila@iki.fi \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).