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

Reply via email to