Re: [PATCH 3/5] build: optionally build python-cffi bindings

2020-05-21 Thread Daniel Kahn Gillmor
On Mon 2019-11-04 23:26:25 +0200, Tomi Ollila wrote:
> how bad does out-of-tree build break with this -- do we need to do
> the same as with ruby bindings (copy sources -- do we still do so)? or does
> python provide better alternative..?

I've just posted id:20200522010359.715688-1-...@fifthhorseman.net to
apply the same hack as the ruby bindings here.  I welcome any better
proposals, but think we should at least have the build complete!

--dkg


signature.asc
Description: PGP signature
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH 3/5] build: optionally build python-cffi bindings

2019-11-04 Thread David Bremner
Tomi Ollila  writes:

> how bad does out-of-tree build break with this -- do we need to do
> the same as with ruby bindings (copy sources -- do we still do so)? or does
> python provide better alternative..?

Good question.  What is here will break with out of tree builds, just
from trivial things like missing $(srcdir). At a deeper level someone
would probably have to modify the build bits (python-cffi/setup.py,
python-cffi/notb/_build) to work out of tree.  I don't know how well any
of this is supported by the setuptools module. It seems more friendly to
the idea of building inside the source tree with destination outside,
but I'm really not a setuptools expert.

d
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH 3/5] build: optionally build python-cffi bindings

2019-11-04 Thread Tomi Ollila
On Sun, Nov 03 2019, David Bremner wrote:

> Put the build product (and tests) in a well known location so that we
> can find them e.g. from the tests.
> ---
>  Makefile.local  | 2 +-
>  bindings/Makefile.local | 9 +
>  2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile.local b/Makefile.local
> index 3c6dacbc..7c12612d 100644
> --- a/Makefile.local
> +++ b/Makefile.local
> @@ -1,7 +1,7 @@
>  # -*- makefile -*-
>  
>  .PHONY: all
> -all: notmuch notmuch-shared build-man build-info ruby-bindings
> +all: notmuch notmuch-shared build-man build-info ruby-bindings 
> python-cffi-bindings
>  ifeq ($(MAKECMDGOALS),)
>  ifeq ($(shell cat .first-build-message 2>/dev/null),)
>   @NOTMUCH_FIRST_BUILD=1 $(MAKE) --no-print-directory all
> diff --git a/bindings/Makefile.local b/bindings/Makefile.local
> index 18f95835..b8e18c92 100644
> --- a/bindings/Makefile.local
> +++ b/bindings/Makefile.local
> @@ -13,6 +13,13 @@ ifeq ($(HAVE_RUBY_DEV),1)
>   $(MAKE) -C $(dir)/ruby
>  endif
>  
> +python-cffi-bindings: lib/$(LINKER_NAME)
> +ifeq ($(HAVE_PYTHON_CFFI),1)
> + cd $(dir)/python-cffi && \

how bad does out-of-tree build break with this -- do we need to do
the same as with ruby bindings (copy sources -- do we still do so)? or does
python provide better alternative..?

> + ${PYTHON} setup.py build --build-lib build/stage && \
> + mkdir -p build/stage/tests && cp tests/*.py build/stage/tests
> +endif
> +
>  CLEAN += $(patsubst %,$(dir)/ruby/%, \
>   .RUBYARCHDIR.time \
>   Makefile database.o directory.o filenames.o\
> @@ -20,3 +27,5 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \
>   status.o tags.o thread.o threads.o)
>  
>  CLEAN += bindings/ruby/.vendorarchdir.time
> +
> +CLEAN += bindings/python-cffi/build
> -- 
> 2.24.0.rc1
>
> ___
> notmuch mailing list
> notmuch@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


[PATCH 3/5] build: optionally build python-cffi bindings

2019-11-03 Thread David Bremner
Put the build product (and tests) in a well known location so that we
can find them e.g. from the tests.
---
 Makefile.local  | 2 +-
 bindings/Makefile.local | 9 +
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/Makefile.local b/Makefile.local
index 3c6dacbc..7c12612d 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -1,7 +1,7 @@
 # -*- makefile -*-
 
 .PHONY: all
-all: notmuch notmuch-shared build-man build-info ruby-bindings
+all: notmuch notmuch-shared build-man build-info ruby-bindings 
python-cffi-bindings
 ifeq ($(MAKECMDGOALS),)
 ifeq ($(shell cat .first-build-message 2>/dev/null),)
@NOTMUCH_FIRST_BUILD=1 $(MAKE) --no-print-directory all
diff --git a/bindings/Makefile.local b/bindings/Makefile.local
index 18f95835..b8e18c92 100644
--- a/bindings/Makefile.local
+++ b/bindings/Makefile.local
@@ -13,6 +13,13 @@ ifeq ($(HAVE_RUBY_DEV),1)
$(MAKE) -C $(dir)/ruby
 endif
 
+python-cffi-bindings: lib/$(LINKER_NAME)
+ifeq ($(HAVE_PYTHON_CFFI),1)
+   cd $(dir)/python-cffi && \
+   ${PYTHON} setup.py build --build-lib build/stage && \
+   mkdir -p build/stage/tests && cp tests/*.py build/stage/tests
+endif
+
 CLEAN += $(patsubst %,$(dir)/ruby/%, \
.RUBYARCHDIR.time \
Makefile database.o directory.o filenames.o\
@@ -20,3 +27,5 @@ CLEAN += $(patsubst %,$(dir)/ruby/%, \
status.o tags.o thread.o threads.o)
 
 CLEAN += bindings/ruby/.vendorarchdir.time
+
+CLEAN += bindings/python-cffi/build
-- 
2.24.0.rc1

___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch