--- /dev/null
+Return-Path: <bremner@tesseract.cs.unb.ca>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 4312F431FB6\r
+ for <notmuch@notmuchmail.org>; Sun, 18 Jan 2015 08:56:11 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 2.438\r
+X-Spam-Level: **\r
+X-Spam-Status: No, score=2.438 tagged_above=-999 required=5\r
+ tests=[DNS_FROM_AHBL_RHSBL=2.438] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id rYHZkS1ABWhk for <notmuch@notmuchmail.org>;\r
+ Sun, 18 Jan 2015 08:56:08 -0800 (PST)\r
+Received: from mx.xen14.node3324.gplhost.com (gitolite.debian.net\r
+ [87.98.215.224])\r
+ (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id E0381431FAF\r
+ for <notmuch@notmuchmail.org>; Sun, 18 Jan 2015 08:56:07 -0800 (PST)\r
+Received: from remotemail by mx.xen14.node3324.gplhost.com with local (Exim\r
+ 4.80) (envelope-from <bremner@tesseract.cs.unb.ca>)\r
+ id 1YCt8I-0007jp-1t; Sun, 18 Jan 2015 16:55:26 +0000\r
+Received: (nullmailer pid 20082 invoked by uid 1000); Sun, 18 Jan 2015\r
+ 16:55:12 -0000\r
+From: David Bremner <david@tethera.net>\r
+To: David Bremner <david@tethera.net>, "notmuch@notmuchmail.org"\r
+ <notmuch@notmuchmail.org>\r
+Subject: [PATCH] doc: remove support for rst2man\r
+Date: Sun, 18 Jan 2015 17:55:10 +0100\r
+Message-Id: <1421600110-19988-1-git-send-email-david@tethera.net>\r
+X-Mailer: git-send-email 2.1.4\r
+In-Reply-To: <87k312x4i2.fsf@maritornes.cs.unb.ca>\r
+References: <87k312x4i2.fsf@maritornes.cs.unb.ca>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sun, 18 Jan 2015 16:56:11 -0000\r
+\r
+It was becoming increasingly complicated to support rst2man, and there\r
+were apparently not many people that relied on it.\r
+---\r
+\r
+Now's your chance to tell us how useful rst2man support is to you.\r
+\r
+ INSTALL | 7 ++----\r
+ NEWS | 6 +++++\r
+ configure | 20 +++--------------\r
+ doc/INSTALL | 13 -----------\r
+ doc/Makefile.local | 7 ++----\r
+ doc/prerst2man.py | 64 ------------------------------------------------------\r
+ 6 files changed, 13 insertions(+), 104 deletions(-)\r
+ delete mode 100644 doc/prerst2man.py\r
+\r
+diff --git a/INSTALL b/INSTALL\r
+index b543c50..eaccd93 100644\r
+--- a/INSTALL\r
++++ b/INSTALL\r
+@@ -75,14 +75,11 @@ Talloc, and zlib which are each described below:\r
+ Building Documentation\r
+ ----------------------\r
+ \r
+-By default the documentation for notmuch is built using sphinx.\r
++To build the documentation for notmuch you need at least version 1.0\r
++of sphinx (Jul. 2010).\r
+ \r
+ Sphinx is available from www.sphinx-doc.org.\r
+ \r
+-If you prefer, you can build the man pages using rst2man, from the\r
+-python docutils package. See doc/INSTALL for details.\r
+-\r
+-\r
+ Installing Dependencies from Packages\r
+ -------------------------------------\r
+ \r
+diff --git a/NEWS b/NEWS\r
+index abb5ad7..53e06aa 100644\r
+--- a/NEWS\r
++++ b/NEWS\r
+@@ -1,5 +1,11 @@\r
+ Notmuch 0.20 (UNRELEASED)\r
+ \r
++Documentation\r
++-------------\r
++\r
++Support for using rst2man in place of sphinx to build the\r
++docmumentation has been removed.\r
++\r
+ Contrib\r
+ -------\r
+ \r
+diff --git a/configure b/configure\r
+index 137acea..a6b49ae 100755\r
+--- a/configure\r
++++ b/configure\r
+@@ -447,19 +447,9 @@ printf "Checking if sphinx is available and supports nroff output... "\r
+ if hash sphinx-build > /dev/null 2>&1 && ${python} -m sphinx.writers.manpage > /dev/null 2>&1 ; then\r
+ printf "Yes.\n"\r
+ have_sphinx=1\r
+- have_rst2man=0\r
+ else\r
+- printf "No (falling back to rst2man).\n"\r
++ printf "No (so will not install man pages).\n"\r
+ have_sphinx=0\r
+-\r
+- printf "Checking if rst2man is available... "\r
+- if rst2man -V > /dev/null 2>&1; then\r
+- printf "Yes.\n"\r
+- have_rst2man=1\r
+- else\r
+- printf "No (so will not install man pages).\n"\r
+- have_rst2man=0\r
+- fi\r
+ fi\r
+ \r
+ libdir_in_ldconfig=0\r
+@@ -848,9 +838,6 @@ HAVE_EMACS = ${have_emacs}\r
+ # Whether there's a sphinx-build binary available for building documentation\r
+ HAVE_SPHINX=${have_sphinx}\r
+ \r
+-# Whether there's a rst2man binary available for building documentation\r
+-HAVE_RST2MAN=${have_rst2man}\r
+-\r
+ # Whether there's a doxygen binary available for building api documentation\r
+ HAVE_DOXYGEN=${have_doxygen}\r
+ \r
+@@ -978,9 +965,8 @@ cat > sh.config <<EOF\r
+ # Whether the Xapian version in use supports compaction\r
+ NOTMUCH_HAVE_XAPIAN_COMPACT=${have_xapian_compact}\r
+ \r
+-# Whether there's either sphinx or rst2man available for building\r
+-# documentation\r
+-NOTMUCH_HAVE_MAN=$((have_sphinx || have_rst2man))\r
++# do we have man pages?\r
++NOTMUCH_HAVE_MAN=$((have_sphinx))\r
+ \r
+ # Name of python interpreter\r
+ NOTMUCH_PYTHON=${python}\r
+diff --git a/doc/INSTALL b/doc/INSTALL\r
+index e37c2b9..0585476 100644\r
+--- a/doc/INSTALL\r
++++ b/doc/INSTALL\r
+@@ -1,9 +1,6 @@\r
+ This file contains some more detailed information about building and\r
+ installing the documentation.\r
+ \r
+-Building with sphinx.\r
+----------------------\r
+-\r
+ - You need sphinx at least version 1.0.\r
+ \r
+ - You can build build and install man pages with 'make install-man'\r
+@@ -12,13 +9,3 @@ Building with sphinx.\r
+ (currently only the man pages) with\r
+ \r
+ 'make install-{man|info|html|pdf}'\r
+-\r
+-Building the man pages\r
+-----------------------\r
+-\r
+-- You can build the man pages with rst2man (from python-docutils) with\r
+- 'make rst2man'.\r
+-\r
+-- Currently there is no support to automagically install the resulting\r
+- nroff files, but it should work to modify the target install-man\r
+- in doc/Makefile.local.\r
+diff --git a/doc/Makefile.local b/doc/Makefile.local\r
+index e7d0bac..0bdf2e1 100644\r
+--- a/doc/Makefile.local\r
++++ b/doc/Makefile.local\r
+@@ -7,7 +7,6 @@ SPHINXOPTS := -q\r
+ SPHINXBUILD = sphinx-build\r
+ DOCBUILDDIR := $(dir)/_build\r
+ \r
+-prerst2man := python $(srcdir)/$(dir)/prerst2man.py\r
+ mkdocdeps := python $(srcdir)/$(dir)/mkdocdeps.py\r
+ \r
+ # Internal variables.\r
+@@ -50,8 +49,6 @@ ifeq ($(HAVE_SPHINX),1)\r
+ mkdir -p $(DOCBUILDDIR)/man/man$${section}; \\r
+ mv $(DOCBUILDDIR)/man/*.$${section} $(DOCBUILDDIR)/man/man$${section}; \\r
+ done\r
+-else ifeq ($(HAVE_RST2MAN),1)\r
+- $(prerst2man) $(srcdir)/doc $(DOCBUILDDIR)/man\r
+ else\r
+ @echo "Fatal: build dependency fail."\r
+ @false\r
+@@ -79,10 +76,10 @@ endif\r
+ \r
+ # Do not try to build or install man pages if a man page converter is\r
+ # not available.\r
+-ifeq ($(HAVE_SPHINX)$(HAVE_RST2MAN),00)\r
++ifeq ($(HAVE_SPHINX),0)\r
+ build-man:\r
+ install-man:\r
+- @echo "No sphinx or rst2man, will not install man pages."\r
++ @echo "No sphinx, will not install man pages."\r
+ else\r
+ build-man: ${MAN_GZIP_FILES}\r
+ install-man: ${MAN_GZIP_FILES}\r
+diff --git a/doc/prerst2man.py b/doc/prerst2man.py\r
+deleted file mode 100644\r
+index 968722a..0000000\r
+--- a/doc/prerst2man.py\r
++++ /dev/null\r
+@@ -1,64 +0,0 @@\r
+-from sys import argv\r
+-from datetime import date\r
+-from os.path import dirname, isdir\r
+-from os import makedirs, system\r
+-import re\r
+-\r
+-sourcedir = argv[1]\r
+-outdir = argv[2]\r
+-\r
+-if not isdir(outdir):\r
+- makedirs(outdir, 0o755)\r
+-\r
+-with open(sourcedir + "/conf.py") as cf:\r
+- exec(cf.read())\r
+-\r
+-\r
+-def header(file, startdocname, command, description, authors, section):\r
+- file.write("""\r
+-{0:s}\r
+-{1:s}\r
+-{2:s}\r
+-\r
+-:Date: {3:s}\r
+-:Version: {4:s}\r
+-:Manual section: {5:d}\r
+-:Manual group: {6:s}\r
+-\r
+-""".format(\r
+-'-' * len(description),\r
+-description,\r
+-'-' * len(description),\r
+-date.today().isoformat(), release, section, project))\r
+-\r
+-blankre = re.compile("^\s*$")\r
+-for page in man_pages:\r
+- outdirname = outdir + '/' + dirname(page[0])\r
+- if not isdir(outdirname):\r
+- makedirs(outdirname, 0o755)\r
+- filename = outdir + '/' + page[0] + '.rst'\r
+- outfile = open(filename, 'w')\r
+- infile = open(sourcedir + '/' + page[0] + '.rst', 'r')\r
+-\r
+- # this is a crude hack. We look for the first blank line, and\r
+- # insert the rst2man header there.\r
+- #\r
+- # XXX consider really parsing input\r
+-\r
+- count = 0\r
+- lines = infile.readlines()\r
+- for line in lines:\r
+- outfile.write(line)\r
+- if (blankre.match(line)):\r
+- break\r
+- count = count + 1\r
+-\r
+- del lines[0:count + 1]\r
+-\r
+- header(outfile, *page)\r
+-\r
+- outfile.write("".join(lines))\r
+- outfile.close()\r
+-\r
+- system('set -x; rst2man {0} {1}/{2}.{3}'\r
+- .format(filename, outdir, page[0], page[4]))\r
+-- \r
+2.1.4\r
+\r