[packages/sphinx-pdg] - updated to 3.5.4 - added jinja3 patch (Jinja2 3.x support from git) - added docutils patch (allow

qboosh qboosh at pld-linux.org
Fri Mar 11 23:08:01 CET 2022


commit d1b48898fafae0e57c9e7c26265f0f80dfaec056
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Mar 11 23:10:05 2022 +0100

    - updated to 3.5.4
    - added jinja3 patch (Jinja2 3.x support from git)
    - added docutils patch (allow docutils 0.17 and 0.18)

 Sphinx-docutils.patch |  11 +++++
 Sphinx-jinja3.patch   | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++
 sphinx-pdg.spec       |  12 +++--
 3 files changed, 139 insertions(+), 4 deletions(-)
---
diff --git a/sphinx-pdg.spec b/sphinx-pdg.spec
index 3a320a6..76981f6 100644
--- a/sphinx-pdg.spec
+++ b/sphinx-pdg.spec
@@ -11,14 +11,16 @@
 Summary:	Sphinx - Python documentation generator
 Summary(pl.UTF-8):	Sphinx - narzędzie do tworzenia dokumentacji dla Pythona
 Name:		sphinx-pdg
-Version:	3.5.1
-Release:	2
+Version:	3.5.4
+Release:	1
 License:	BSD
 Group:		Development/Languages/Python
 #Source0Download: https://pypi.org/simple/Sphinx/
 Source0:	https://files.pythonhosted.org/packages/source/S/Sphinx/Sphinx-%{version}.tar.gz
-# Source0-md5:	c29fafed45f91fbb3252dff545d09694
+# Source0-md5:	dd46088ebc01f6f721ee7618df680d68
 Patch0:		float-ver.patch
+Patch1:		Sphinx-jinja3.patch
+Patch2:		Sphinx-docutils.patch
 URL:		http://www.sphinx-doc.org/
 %if %{with tests} && %(locale -a | grep -q '^C\.utf8$'; echo $?)
 BuildRequires:	glibc-localedb-all
@@ -42,7 +44,7 @@ BuildRequires:	python3-html5lib
 BuildRequires:	python3-imagesize
 BuildRequires:	python3-jinja2 >= 2.3
 # for lint only, not run by pytest
-#BuildRequires:	python3-mypy >= 0.790
+#BuildRequires:	python3-mypy >= 0.800
 BuildRequires:	python3-packaging
 BuildRequires:	python3-pygments >= 2.0
 BuildRequires:	python3-pytest >= 3.0
@@ -134,6 +136,8 @@ Dokumentacja do generatora dokumentacji pythonowej Sphinx.
 %prep
 %setup -q -n Sphinx-%{version}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
 # needs python-babel with at least de,en,ja locales installed
 %{__rm} tests/test_util_i18n.py
diff --git a/Sphinx-docutils.patch b/Sphinx-docutils.patch
new file mode 100644
index 0000000..53573cc
--- /dev/null
+++ b/Sphinx-docutils.patch
@@ -0,0 +1,11 @@
+--- Sphinx-3.5.4/setup.py.orig	2021-04-11 12:40:16.000000000 +0200
++++ Sphinx-3.5.4/setup.py	2022-03-11 06:21:28.393510714 +0100
+@@ -23,7 +23,7 @@ install_requires = [
+     'sphinxcontrib-qthelp',
+     'Jinja2>=2.3',
+     'Pygments>=2.0',
+-    'docutils>=0.12,<0.17',
++    'docutils>=0.12,<0.19',
+     'snowballstemmer>=1.1',
+     'babel>=1.3',
+     'alabaster>=0.7,<0.8',
diff --git a/Sphinx-jinja3.patch b/Sphinx-jinja3.patch
new file mode 100644
index 0000000..d3b8aae
--- /dev/null
+++ b/Sphinx-jinja3.patch
@@ -0,0 +1,120 @@
+From 85f58874ecd9feb391e24f9d0197bef5cc637a87 Mon Sep 17 00:00:00 2001
+From: Takeshi KOMIYA <i.tkomiya at gmail.com>
+Date: Mon, 3 May 2021 13:48:17 +0900
+Subject: [PATCH] Support jinja2-3.0
+
+Since jinja2-3.0, some utility functions like contextfunction and
+environmentfilter are renamed to new name.  This follows the updates to
+support jinja2-3.0 or above.
+---
+ CHANGES              |  2 ++
+ setup.py             |  3 +--
+ sphinx/jinja2glue.py | 13 +++++++++----
+ sphinx/util/rst.py   | 10 ++++++++--
+ 4 files changed, 20 insertions(+), 8 deletions(-)
+
+#diff --git a/CHANGES b/CHANGES
+#index ce70aeb83c..c9f0c4556c 100644
+#--- a/CHANGES
+#+++ b/CHANGES
+#@@ -4,6 +4,8 @@ Release 4.1.0 (in development)
+# Dependencies
+# ------------
+# 
+#+* Support jinja2-3.0
+#+
+# Incompatible changes
+# --------------------
+# 
+#diff --git a/setup.py b/setup.py
+#index 7ce37f9eaf..b669afc00e 100644
+#--- a/setup.py
+#+++ b/setup.py
+#@@ -21,8 +21,7 @@
+#     'sphinxcontrib-htmlhelp',
+#     'sphinxcontrib-serializinghtml',
+#     'sphinxcontrib-qthelp',
+#-    'Jinja2>=2.3,<3.0',
+#-    'MarkupSafe<2.0',
+#+    'Jinja2>=2.3',
+#     'Pygments>=2.0',
+#     'docutils>=0.14,<0.18',
+#     'snowballstemmer>=1.1',
+diff --git a/sphinx/jinja2glue.py b/sphinx/jinja2glue.py
+index c239f5a4a1..cd6e8066b9 100644
+--- a/sphinx/jinja2glue.py
++++ b/sphinx/jinja2glue.py
+@@ -12,7 +12,7 @@ from os import path
+ from pprint import pformat
+ from typing import Any, Callable, Dict, Iterator, List, Tuple, Union
+ 
+-from jinja2 import BaseLoader, FileSystemLoader, TemplateNotFound, contextfunction
++from jinja2 import BaseLoader, FileSystemLoader, TemplateNotFound
+ from jinja2.environment import Environment
+ from jinja2.sandbox import SandboxedEnvironment
+ from jinja2.utils import open_if_exists
+@@ -22,6 +22,11 @@ from sphinx.theming import Theme
+ from sphinx.util import logging
+ from sphinx.util.osutil import mtimes_of_files
+ 
++try:
++    from jinja2.utils import pass_context  # type: ignore # jinja2-3.0 or above
++except ImportError:
++    from jinja2 import contextfunction as pass_context
++
+ if False:
+     # For type annotation
+     from sphinx.builders import Builder
+@@ -102,7 +107,7 @@ class idgen:
+     next = __next__  # Python 2/Jinja compatibility
+ 
+ 
+- at contextfunction
++ at pass_context
+ def warning(context: Dict, message: str, *args: Any, **kwargs: Any) -> str:
+     if 'pagename' in context:
+         filename = context.get('pagename') + context.get('file_suffix', '')
+@@ -181,9 +186,9 @@ class BuiltinTemplateLoader(TemplateBrid
+         self.environment.filters['toint'] = _toint
+         self.environment.filters['todim'] = _todim
+         self.environment.filters['slice_index'] = _slice_index
+-        self.environment.globals['debug'] = contextfunction(pformat)
++        self.environment.globals['debug'] = pass_context(pformat)
+         self.environment.globals['warning'] = warning
+-        self.environment.globals['accesskey'] = contextfunction(accesskey)
++        self.environment.globals['accesskey'] = pass_context(accesskey)
+         self.environment.globals['idgen'] = idgen
+         if use_i18n:
+             self.environment.install_gettext_translations(builder.app.translator)
+diff --git a/sphinx/util/rst.py b/sphinx/util/rst.py
+index 82b3f6bdaa..8103a8b109 100644
+--- a/sphinx/util/rst.py
++++ b/sphinx/util/rst.py
+@@ -18,11 +18,17 @@
+ from docutils.parsers.rst.languages import en as english
+ from docutils.statemachine import StringList
+ from docutils.utils import Reporter
+-from jinja2 import Environment, environmentfilter
++from jinja2 import Environment
+ 
+ from sphinx.locale import __
+ from sphinx.util import docutils, logging
+ 
++try:
++    from jinja2.utils import pass_environment  # type: ignore  # jinja2-3.0 or above
++except ImportError:
++    from jinja2 import environmentfilter as pass_environment
++
++
+ logger = logging.getLogger(__name__)
+ 
+ docinfo_re = re.compile(':\\w+:.*?')
+@@ -51,7 +57,7 @@ def charwidth(char: str, widechars: str) -> int:
+     return sum(charwidth(c, widechars) for c in text)
+ 
+ 
+- at environmentfilter
++ at pass_environment
+ def heading(env: Environment, text: str, level: int = 1) -> str:
+     """Create a heading for *level*."""
+     assert level <= 3
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/sphinx-pdg.git/commitdiff/d1b48898fafae0e57c9e7c26265f0f80dfaec056



More information about the pld-cvs-commit mailing list