From 404be4fb492aa4f90d45e611f7dff6308561518a Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Sat, 3 Jan 2015 16:14:39 +0200 Subject: [PATCH] [PATCH] doc: Allow rst2man.py as an alternative to rst2man --- ec/04d76e4fbee00087ac9d1d7fd65cc19973f532 | 158 ++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 ec/04d76e4fbee00087ac9d1d7fd65cc19973f532 diff --git a/ec/04d76e4fbee00087ac9d1d7fd65cc19973f532 b/ec/04d76e4fbee00087ac9d1d7fd65cc19973f532 new file mode 100644 index 000000000..8ccfc9af6 --- /dev/null +++ b/ec/04d76e4fbee00087ac9d1d7fd65cc19973f532 @@ -0,0 +1,158 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 5F9FB431FBC + for ; Sat, 3 Jan 2015 06:15:13 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id qAPltWXU8o8D for ; + Sat, 3 Jan 2015 06:15:10 -0800 (PST) +Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) + by olra.theworths.org (Postfix) with ESMTP id 0F430431FB6 + for ; Sat, 3 Jan 2015 06:15:10 -0800 (PST) +Received: by guru.guru-group.fi (Postfix, from userid 501) + id E5A0D1000F4; Sat, 3 Jan 2015 16:14:42 +0200 (EET) +From: Tomi Ollila +To: notmuch@notmuchmail.org, + wking@tremily.us +Subject: [PATCH] doc: Allow rst2man.py as an alternative to rst2man +Date: Sat, 3 Jan 2015 16:14:39 +0200 +Message-Id: <1420294479-27224-1-git-send-email-tomi.ollila@iki.fi> +X-Mailer: git-send-email 2.0.0 +Cc: tomi.ollila@iki.fi +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sat, 03 Jan 2015 14:15:13 -0000 + +From: W. Trevor King + +Gentoo's dev-python/docutils-0.10 installs Docutils scripts with a +*.py extension, so I have /usr/bin/rst2man.py and no rst2man script. +This patch supports users with both types of systems by checking for +rst2man, falling back on rst2man.py, and giving up only if neither is +found. Users can also set the new RST2MAN path variable explicitly +when they call Make: + + make RST2MAN=/my/custom/rst_to_man_converter build-man + +We pass the configured RST2MAN path through to prerst2man.py to use in +its system call. + +We can use a non-empty RST2MAN to check for the availability of an +rst2man program, so there's no need for a separate HAVE_RST2MAN. +However, we keep the existing HAVE_RST2MAN for consistency with +HAVE_SPHINX. +--- + +rebased original +id:2621721db05068dffb65b88cd50d2a5b49e967f5.1405220724.git.wking@tremily.us + +rebased by simply doing patch -p1 < patchfile and then creating commit. + + + configure | 20 +++++++++++++++----- + doc/Makefile.local | 2 +- + doc/prerst2man.py | 9 +++++---- + 3 files changed, 21 insertions(+), 10 deletions(-) + +diff --git a/configure b/configure +index 9c98040c4531..8a4305f8bde3 100755 +--- a/configure ++++ b/configure +@@ -455,17 +455,23 @@ if hash sphinx-build > /dev/null 2>&1 && python -m sphinx.writers.manpage > /dev + printf "Yes.\n" + have_sphinx=1 + have_rst2man=0 ++ RST2MAN= + else + printf "No (falling back to rst2man).\n" + have_sphinx=0 + + printf "Checking if rst2man is available... " +- if rst2man -V > /dev/null 2>&1; then +- printf "Yes.\n" +- have_rst2man=1 +- else +- printf "No (so will not install man pages).\n" ++ for RST2MAN in rst2man rst2man.py; do ++ if "${RST2MAN}" -V > /dev/null 2>&1; then ++ have_rst2man=1 ++ printf "Yes (${RST2MAN}).\n" ++ break ++ fi ++ RST2MAN= ++ done ++ if [ -z "${RST2MAN}" ]; then + have_rst2man=0 ++ printf "No (so will not install man pages).\n" + fi + fi + +@@ -861,6 +867,10 @@ HAVE_RST2MAN=${have_rst2man} + # Whether there's a doxygen binary available for building api documentation + HAVE_DOXYGEN=${have_doxygen} + ++# The path to the rst2man program for building documentation. Set to ++# an empty string if no such program is available. ++RST2MAN=${RST2MAN} ++ + # The directory to which desktop files should be installed + desktop_dir = \$(prefix)/share/applications + +diff --git a/doc/Makefile.local b/doc/Makefile.local +index e7d0bac8f3fb..a13cb3731664 100644 +--- a/doc/Makefile.local ++++ b/doc/Makefile.local +@@ -51,7 +51,7 @@ ifeq ($(HAVE_SPHINX),1) + mv $(DOCBUILDDIR)/man/*.$${section} $(DOCBUILDDIR)/man/man$${section}; \ + done + else ifeq ($(HAVE_RST2MAN),1) +- $(prerst2man) $(srcdir)/doc $(DOCBUILDDIR)/man ++ $(prerst2man) "$(RST2MAN)" $(srcdir)/doc $(DOCBUILDDIR)/man + else + @echo "Fatal: build dependency fail." + @false +diff --git a/doc/prerst2man.py b/doc/prerst2man.py +index 968722a1c750..2e87976c5d96 100644 +--- a/doc/prerst2man.py ++++ b/doc/prerst2man.py +@@ -4,8 +4,9 @@ from os.path import dirname, isdir + from os import makedirs, system + import re + +-sourcedir = argv[1] +-outdir = argv[2] ++rst2man = argv[1] ++sourcedir = argv[2] ++outdir = argv[3] + + if not isdir(outdir): + makedirs(outdir, 0o755) +@@ -60,5 +61,5 @@ for page in man_pages: + outfile.write("".join(lines)) + outfile.close() + +- system('set -x; rst2man {0} {1}/{2}.{3}' +- .format(filename, outdir, page[0], page[4])) ++ system('set -x; {0} {1} {2}/{3}.{4}' ++ .format(rst2man, filename, outdir, page[0], page[4])) +-- +2.0.0 + -- 2.26.2