<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/doc/Makefile.local, branch 0.33</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.33</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.33'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2020-12-10T01:55:38Z</updated>
<entry>
<title>build/docs: move docstring prereq to file targets</title>
<updated>2020-12-10T01:55:38Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-12-10T01:55:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ed7ca948ae31ac0e1d3633a2f58fb3e4aecd03de'/>
<id>urn:sha1:ed7ca948ae31ac0e1d3633a2f58fb3e4aecd03de</id>
<content type='text'>
Under a sufficiently high level of parallelism [1] there seems to be a
a race condition that allows sphinx-build to start running before the
docstrings are extracted. This change moves the docstring stamp from
the phony targets sphinx-html and sphinx-info to the file targets that
they depend on. I'm not sure why this makes things better, but I am
fairly confident it does not make things worse, and experimentally it
seems to eliminate the race condition.

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=976934
</content>
</entry>
<entry>
<title>emacs: Use makefile-gmake-mode in Makefile*s</title>
<updated>2020-08-10T00:14:36Z</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2020-08-08T11:49:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c4541353765dec837c1c2f912b1bf6661827429c'/>
<id>urn:sha1:c4541353765dec837c1c2f912b1bf6661827429c</id>
<content type='text'>
Use `makefile-gmake-mode' instead of `makefile-mode' because the
former also highlights ifdef et al. while the latter does not.

"./Makefile.global" and one "Makefile.local" failed to specify any
major mode at all but doing so is necessary because Emacs does not
automatically figure out that these are Makefiles (of any flavor).
</content>
</entry>
<entry>
<title>doc: replace use of environment variables with a generated config</title>
<updated>2020-07-15T11:32:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-07-11T13:20:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0e03e2d45e36edb635229f356bf41f153c30a70f'/>
<id>urn:sha1:0e03e2d45e36edb635229f356bf41f153c30a70f</id>
<content type='text'>
It is getting unwieldy to pass configuration options on the
sphinx-build command line, and I anticipate further use of
conditionals.

As far as I could tell, execing a string is the idiomatic way to
emulate include in Python.
</content>
</entry>
<entry>
<title>doc: make gzipped man pages reproducible</title>
<updated>2020-07-11T16:57:17Z</updated>
<author>
<name>Jonas Witschel</name>
<email>diabonas@archlinux.org</email>
</author>
<published>2020-07-11T16:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a962842d9b0b43b7d218860b196eecd5ef666088'/>
<id>urn:sha1:a962842d9b0b43b7d218860b196eecd5ef666088</id>
<content type='text'>
gzip includes the name of the uncompressed file and its modification
timestamp into the compressed archive. The latter makes it hard to
reproduce the generated files bit for bit at a later time, so omit this
information from the archive using the "--no-name" option. This is a
reproducibility best practice, see
https://wiki.debian.org/ReproducibleBuilds/TimestampsInGzipHeaders
</content>
</entry>
<entry>
<title>doc: fix for out-of-tree builds of notmuch-emacs docs</title>
<updated>2020-06-01T12:07:50Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2020-05-31T16:15:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=ee8dba1c3013a00c0d1185583ea084f8ce3699b7'/>
<id>urn:sha1:ee8dba1c3013a00c0d1185583ea084f8ce3699b7</id>
<content type='text'>
The sphinx-doc include directive does not have the ability to include
files from the build tree, so we replace the include with reading the
files in conf.py. The non-trivial downside of this is that the emacs
docstrings are now defined for every rst source file. They are
namespaced with docstring::, so hopefully there will not be any
surprises. One thing that is noticable is a small (absolute) time
penalty in running sphinx-doc.
</content>
</entry>
<entry>
<title>build: drop variable HAVE_EMACS. use WITH_EMACS instead</title>
<updated>2019-06-12T22:58:30Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-12T00:12:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a6a8df7e0379bfb6e69b9541d7813ac71f624f2e'/>
<id>urn:sha1:a6a8df7e0379bfb6e69b9541d7813ac71f624f2e</id>
<content type='text'>
The extra flexibility of having both HAVE_EMACS (for yes, there is an
emacs we can use) and WITH_EMACS (the user wants emacs support) lead
to confusion and bugs. We now just force WITH_EMACS to 0 if no
suitable emacs is detected.
</content>
</entry>
<entry>
<title>doc: Don't install emacs docs when they are not built</title>
<updated>2019-06-11T00:48:03Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-10T10:11:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3ec47e1165064d4937044c02e882612a3e3a7671'/>
<id>urn:sha1:3ec47e1165064d4937044c02e882612a3e3a7671</id>
<content type='text'>
In 40b025 we stopped building the notmuch-emacs documentation if
HAVE_EMACS=0 (i.e. no emacs was detected by configure). Unfortunately
we continued to try to install the (non-existent) documentation, which
causes build/install failures.

As a bonus, we also avoid installing the documentation if the user
configures --without-emacs.

Thanks to Ralph Seichter for reporting the problem, and testing
previous versions of this fix.
</content>
</entry>
<entry>
<title>doc: don't build notmuch-emacs.info for configure --without-emacs</title>
<updated>2019-06-11T00:46:55Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-11T00:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=71bf459596c72cf72b89c6ae2f47b1f5cf7548db'/>
<id>urn:sha1:71bf459596c72cf72b89c6ae2f47b1f5cf7548db</id>
<content type='text'>
Since the docstrings are not built in the case of --without-emacs,
even if emacs is detected, don't let sphinx build the emacs docs. This
avoids a large number of error messages due to missing includes. It's
actually a bit surprising sphinx doesn't generate an error for the
missing include files.
</content>
</entry>
<entry>
<title>doc: use separate doctrees for distinct builders</title>
<updated>2019-06-03T10:35:30Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-01T02:24:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6edc073e4496b71d24e339f4d0cca41c2e4ac3e1'/>
<id>urn:sha1:6edc073e4496b71d24e339f4d0cca41c2e4ac3e1</id>
<content type='text'>
It seems our previous attempt with order-only targets was not
sufficient to avoid problems with sphinx-builds doctree cache [0].
Looking around at other people's approaches [1], using separate
doctrees was suggested. I guess there might be a slight loss of
efficiency, but it seems more robust.

[0]: build failures were first noticed in Debian experimental, but I was able to duplicate it in
     my usual build environment about 1 in 8 builds.

[1]: in particular
     https://salsa.debian.org/mpd-team/mpc/commit/9e3fc1657d043d75755993846c93f7700b97f907
</content>
</entry>
<entry>
<title>doc: exclude notmuch-emacs.rst if emacs is not present.</title>
<updated>2019-04-24T09:53:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2019-04-21T23:41:34Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=40b025c5f1cc3dafe4c30cd6005fdb2ba32e0c95'/>
<id>urn:sha1:40b025c5f1cc3dafe4c30cd6005fdb2ba32e0c95</id>
<content type='text'>
This will still generate a warning about an excluded document in the
toctree, but it cuts down on the noise quite a lot.
</content>
</entry>
</feed>
