From 2c1dcaf041ddb526e9230d2533dd892978f2114f Mon Sep 17 00:00:00 2001 From: jfbu Date: Sat, 13 May 2017 12:18:12 +0200 Subject: [PATCH 1/5] Fix (old!) typo in latex Makefile: ARCHIVEPREFIX was misspelled --- sphinx/texinputs/Makefile_t | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sphinx/texinputs/Makefile_t b/sphinx/texinputs/Makefile_t index ffec3662c..ef23485a8 100644 --- a/sphinx/texinputs/Makefile_t +++ b/sphinx/texinputs/Makefile_t @@ -6,7 +6,7 @@ ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) ALLPS = $(addsuffix .ps,$(ALLDOCS)) # Prefix for archive names -ARCHIVEPRREFIX = +ARCHIVEPREFIX = # Additional LaTeX options LATEXOPTS = # format: pdf or dvi From 7d5c14c98cdb00a0082339b7ef0d716e16961aeb Mon Sep 17 00:00:00 2001 From: jfbu Date: Sat, 13 May 2017 12:21:38 +0200 Subject: [PATCH 2/5] Update CHANGES --- CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES b/CHANGES index 5c5f55586..a845bbc9f 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,7 @@ Bugs fixed * #3717: Stop enforcing that favicon's must be .ico * #3731, #3732: Protect isenumclass predicate against non-class arguments * #3320: Warning about reference target not being found for container types +* Misspelled ARCHIVEPREFIX in Makefile for latex build repertory Testing -------- From ae1455077b3d1e6805a18d2504a1d7196ae33c92 Mon Sep 17 00:00:00 2001 From: jfbu Date: Sat, 13 May 2017 12:24:01 +0200 Subject: [PATCH 3/5] Fix #3746: PDF builds fail with latexmk version 4.48 or earlier This is tested to work with latexmk version: 4.39 (10 Nov 2013). For xelatex engine and with latexmk 4.52b or later (Jan 2017), setting LATEXMKOPTS Makefile variable on command line to "-xelatex" results in faster builds, because PDF is produced only on last run. --- CHANGES | 2 ++ doc/builders.rst | 8 ++++++-- sphinx/texinputs/Makefile_t | 14 ++++++-------- sphinx/texinputs/{latexmkrc => latexmkrc_t} | 8 ++++++++ 4 files changed, 22 insertions(+), 10 deletions(-) rename sphinx/texinputs/{latexmkrc => latexmkrc_t} (52%) diff --git a/CHANGES b/CHANGES index aa67321dc..1634cdbb3 100644 --- a/CHANGES +++ b/CHANGES @@ -28,6 +28,8 @@ Bugs fixed * #3725: Todo looks different from note in LaTeX output * #3479: stub-columns have no effect in LaTeX output * #3738: Nonsensical code in theming.py +* #3746: PDF builds fail with latexmk 4.48 or earlier due to undefined + options ``-pdfxe`` and ``-pdflua`` Testing -------- diff --git a/doc/builders.rst b/doc/builders.rst index ad650e3f6..b993b2c7d 100644 --- a/doc/builders.rst +++ b/doc/builders.rst @@ -211,8 +211,12 @@ The builder's "name" must be given to the **-b** command-line option of make latexpdf LATEXMKOPTS="-silent" - reduces console output to a minimum. To pass options directly to the - ``pdflatex`` executable, use variable ``LATEXOPTS`` (for example + reduces console output to a minimum. Also, if ``latexmk`` version is + 4.52b or higher (Jan 17) and ``xelatex`` is the :confval:`latex_engine`, + then ``LATEXMKOPTS="-xelatex"`` will speed up PDF builds. + + To pass options directly to the + ``(pdf|xe|lua)latex`` executable, use variable ``LATEXOPTS`` (for example ``LATEXOPTS="--interaction=nonstopmode"``). .. autoattribute:: name diff --git a/sphinx/texinputs/Makefile_t b/sphinx/texinputs/Makefile_t index ca761fe98..26058ebbc 100644 --- a/sphinx/texinputs/Makefile_t +++ b/sphinx/texinputs/Makefile_t @@ -17,23 +17,21 @@ ARCHIVEPRREFIX = # Additional LaTeX options (passed via variables in latexmkrc/latexmkjarc file) export LATEXOPTS = # Additional latexmk options +{% if latex_engine == 'xelatex' -%} +# with latexmk version 4.52b or higher set LATEXMKOPTS to -xelatex either here +# or on command line for faster builds. +{% endif -%} LATEXMKOPTS = -# format: pdf or dvi +# format: pdf or dvi (used only by archive targets) FMT = pdf {% if latex_engine == 'platex' -%} # latexmkrc is read then overridden by latexmkjarc LATEX = latexmk -r latexmkjarc -dvi PDFLATEX = latexmk -r latexmkjarc -pdfdvi -dvi- -ps- -{% elif latex_engine == 'pdflatex' -%} +{% else -%} LATEX = latexmk -dvi PDFLATEX = latexmk -pdf -dvi- -ps- -{% elif latex_engine == 'lualatex' -%} -LATEX = latexmk -lualatex -PDFLATEX = latexmk -pdflua -dvi- -ps- -{% elif latex_engine == 'xelatex' -%} -LATEX = latexmk -pdfxe -dvi- -ps- -PDFLATEX = $(LATEX) {% endif %} %.png %.gif %.jpg %.jpeg: FORCE_MAKE diff --git a/sphinx/texinputs/latexmkrc b/sphinx/texinputs/latexmkrc_t similarity index 52% rename from sphinx/texinputs/latexmkrc rename to sphinx/texinputs/latexmkrc_t index 1e1ec1903..e3cd14f48 100644 --- a/sphinx/texinputs/latexmkrc +++ b/sphinx/texinputs/latexmkrc_t @@ -1,5 +1,13 @@ +{% if latex_engine == 'pdflatex' -%} $latex = 'latex ' . $ENV{'LATEXOPTS'} . ' %O %S'; $pdflatex = 'pdflatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +{% elif latex_engine == 'lualatex' -%} +$latex = 'lualatex --output-format=dvi ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$pdflatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +{% elif latex_engine == 'xelatex' -%} +$latex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; +$pdflatex = 'xelatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; +{% endif -%} $lualatex = 'lualatex ' . $ENV{'LATEXOPTS'} . ' %O %S'; $xelatex = 'xelatex --no-pdf ' . $ENV{'LATEXOPTS'} . ' %O %S'; $makeindex = 'makeindex -s python.ist %O -o %D %S'; From 1329202502b68244d8c05df8bdf3a402f205eb1d Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Sat, 13 May 2017 23:11:54 +0900 Subject: [PATCH 4/5] Fix #3721: Copright "owner" instead of "holder" in license --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 09d3bd624..aa87ad898 100644 --- a/LICENSE +++ b/LICENSE @@ -19,7 +19,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY From f27d9447e09ad118c153f549a4aed4cad7d13c06 Mon Sep 17 00:00:00 2001 From: Takeshi KOMIYA Date: Mon, 15 May 2017 00:14:00 +0900 Subject: [PATCH 5/5] Bump to 1.5.6 final --- CHANGES | 16 ++-------------- sphinx/__init__.py | 4 ++-- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/CHANGES b/CHANGES index a845bbc9f..4b69d368e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,14 +1,5 @@ -Release 1.5.6 (in development) -============================== - -Incompatible changes --------------------- - -Deprecated ----------- - -Features added --------------- +Release 1.5.6 (released May 15, 2017) +===================================== Bugs fixed ---------- @@ -27,9 +18,6 @@ Bugs fixed * #3320: Warning about reference target not being found for container types * Misspelled ARCHIVEPREFIX in Makefile for latex build repertory -Testing --------- - Release 1.5.5 (released Apr 03, 2017) ===================================== diff --git a/sphinx/__init__.py b/sphinx/__init__.py index 3f3061aa3..cb9f9e63f 100644 --- a/sphinx/__init__.py +++ b/sphinx/__init__.py @@ -30,13 +30,13 @@ if 'PYTHONWARNINGS' not in os.environ: warnings.filterwarnings('ignore', "'U' mode is deprecated", DeprecationWarning, module='docutils.io') -__version__ = '1.5.6+' +__version__ = '1.5.6' __released__ = '1.5.6' # used when Sphinx builds its own docs # version info for better programmatic use # possible values for 3rd element: 'alpha', 'beta', 'rc', 'final' # 'final' has 0 as the last element -version_info = (1, 5, 6, 'beta', 0) +version_info = (1, 5, 6, 'final', 0) package_dir = path.abspath(path.dirname(__file__))