Building Notmuch on macOS is known to cause problems because the Notmuch distribution archive contains two files named "version". These clash with the <version> keyword as defined in C++20 [1] and will likely become obvious on other platforms as well once Compilers adopt the new standard.
The two affected files in the Notmuch Git tree are /bindings/python-cffi/version /version I suggest to rename them both to version.txt. The attached patch can then be applied to make the necessary build file changes. -Ralph [1] https://en.cppreference.com/w/cpp/20#New_headers
diff --git Makefile.global Makefile.global index cd489ef2..8477468d 100644 --- Makefile.global +++ Makefile.global @@ -17,7 +17,7 @@ else DATE:=$(shell date +%F) endif -VERSION:=$(shell cat ${srcdir}/version) +VERSION:=$(shell cat ${srcdir}/version.txt) ELPA_VERSION:=$(subst ~,_,$(VERSION)) ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),) ifeq ($(IS_GIT),yes) diff --git Makefile.local Makefile.local index c65cee7c..dde7981b 100644 --- Makefile.local +++ Makefile.local @@ -19,7 +19,7 @@ endif # Depend (also) on the file 'version'. In case of ifeq ($(IS_GIT),yes) # this file may already have been updated. -version.stamp: $(srcdir)/version +version.stamp: $(srcdir)/version.txt echo $(VERSION) > $@ $(TAR_FILE): diff --git bindings/python-cffi/setup.py bindings/python-cffi/setup.py index b0060835..cda52338 100644 --- bindings/python-cffi/setup.py +++ bindings/python-cffi/setup.py @@ -1,6 +1,6 @@ import setuptools -with open('version') as fp: +with open('version.txt') as fp: VERSION = fp.read().strip() setuptools.setup( diff --git doc/conf.py doc/conf.py index 94e266af..11bed51d 100644 --- doc/conf.py +++ doc/conf.py @@ -19,7 +19,7 @@ copyright = u'2009-2020, Carl Worth and many others' location = os.path.dirname(__file__) for pathdir in ['.', '..']: - version_file = os.path.join(location,pathdir,'version') + version_file = os.path.join(location,pathdir,'version.txt') if os.path.exists(version_file): with open(version_file,'r') as infile: version=infile.read().replace('\n','')
_______________________________________________ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org